2019-05-04 04:59:07 +00:00
@Library('forge-shared-library')_
pipeline {
options {
disableConcurrentBuilds()
}
agent {
docker {
image 'gradlewrapper:latest'
args '-v gradlecache:/gradlecache'
}
}
environment {
GRADLE_ARGS = '--no-daemon --console=plain' // No daemon for now as FG3 kinda derps. //'-Dorg.gradle.daemon.idletimeout=5000'
JENKINS_HEAD = 'https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png'
}
stages {
stage('fetch') {
steps {
checkout scm
}
}
stage('setup') {
steps {
2019-05-04 05:15:31 +00:00
sh './gradlew ${GRADLE_ARGS} --refresh-dependencies'
2019-05-04 04:59:07 +00:00
script {
2019-05-04 05:41:27 +00:00
env.MYVERSION = sh(returnStdout: true, script: './gradlew :properties -q | grep "^version:" | awk \'{print $2}\'').trim()
2019-05-04 04:59:07 +00:00
}
}
}
stage('changelog') {
when {
not {
changeRequest()
}
}
steps {
2019-05-04 07:51:02 +00:00
writeChangelog(currentBuild, "build/BiomesOPlenty-${env.MYVERSION}-changelog.txt")
2019-05-04 04:59:07 +00:00
}
}
stage('publish') {
when {
not {
changeRequest()
}
}
environment {
FORGE_MAVEN_USR = credentials('forge-maven-user')
FORGE_MAVEN_PSW = credentials('forge-maven-password')
2019-05-25 03:43:58 +00:00
CURSE_API_KEY = credentials('curse-api-key')
2019-05-04 04:59:07 +00:00
}
steps {
2019-05-25 03:53:12 +00:00
sh './gradlew ${GRADLE_ARGS} :uploadArchives curseforge -PforgeMavenUsername=${FORGE_MAVEN_USR} -PforgeMavenPassword=${FORGE_MAVEN_PSW} -PcurseApiKey=${CURSE_API_KEY}'
2019-05-04 05:44:30 +00:00
sh 'curl --user ${FORGE_MAVEN_USR}:${FORGE_MAVEN_PSW} http://files.minecraftforge.net/maven/manage/promote/latest/com.github.glitchfiend.biomesoplenty.BiomesOPlenty/${MYVERSION}'
2019-05-04 04:59:07 +00:00
}
}
}
post {
always {
script {
2019-05-04 07:27:07 +00:00
archiveArtifacts artifacts: 'build/libs/**/*.*', fingerprint: true, onlyIfSuccessful: true, allowEmptyArchive: true
2019-05-04 04:59:07 +00:00
}
}
}
}