pipeline { agent { docker { image 'openjdk:11-jdk' } } stages { stage('Build') { steps { sh './gradlew build javadoc' } post { success { archiveArtifacts artifacts: 'build/libs/*', fingerprint: true publishHTML target: [ allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'build/docs/javadoc', reportFiles: 'index.html', reportName: 'JavaDoc' ] } } } stage('Publish') { when { expression { return sh(returnStdout: true, script: 'git tag --contains').trim().length() > 0 } } steps { sh './gradlew publish' withCredentials([string(credentialsId: 'curseforge_key', variable: 'CURSEFORGE_KEY')]) { sh './gradlew -Pcurseforge.api_key="${CURSEFORGE_KEY}" curseforge' } } } } }