pipeline { agent { dockerfile true } stages { stage('Setup') { steps { sh 'cd scriptcraft/scripts; ./setup.sh' } } stage('Build Plugin') { steps { sh 'cd plugin; ./gradlew clean publish' } } stage('Build') { steps { sh 'cd scriptcraft; ./gradlew clean build typedoc eslint publish' } post { success { archiveArtifacts artifacts: 'scriptcraft/build/libs/*', fingerprint: true publishHTML target: [ allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'scriptcraft/src/main/ts/build/typedoc', reportFiles: 'index.html', reportName: 'TypeDoc' ] } } } stage('Build Examples') { steps { sh 'cd examples/typescript; ./gradlew clean build --include-build ../scriptcraft' sh 'cd examples/javascript; ./gradlew clean build --include-build ../scriptcraft' } post { success { archiveArtifacts artifacts: 'examples/typescript/build/libs/*', fingerprint: true archiveArtifacts artifacts: 'examples/javascript/build/libs/*', fingerprint: true } } } } }