pipeline {
agent {
dockerfile true
}
stages {
stage('Setup') {
steps {
sh 'cd scriptcraft/scripts; ./setup.sh'
stage('Build Plugin') {
sh 'cd plugin; ./gradlew clean publish'
stage('Build ScriptCraft') {
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') {
sh 'cd examples/typescript; ./gradlew clean build --include-build ../../scriptcraft'
sh 'cd examples/javascript; ./gradlew clean build --include-build ../../scriptcraft'
archiveArtifacts artifacts: 'examples/typescript/build/libs/*', fingerprint: true
archiveArtifacts artifacts: 'examples/javascript/build/libs/*', fingerprint: true