Files
CraterLib/.jenkins/Jenkinsfile.snapshot
hypherionmc 0dbf07de46 - [FEAT] New APIs for Maintenance Mode and rewrite commands system
- [FEAT] Improved config system to fix old loading bugs and support JSON
- [FEAT] LuckPerms support for commands
2024-08-10 14:13:51 +02:00

68 lines
2.0 KiB
Plaintext

def projectName = "CraterLib";
def projectIcon = "https://cdn.modrinth.com/data/Nn8Wasaq/a172c634683a11a2e9ae593e56eba7885743bb44.png";
def JDK = "21";
def majorMc = "1.21";
def modLoaders = "neoforge|fabric|quilt";
def supportedMc = "1.21|1.21.1";
def reltype = "port";
pipeline {
agent {
docker {
image "registry.firstdark.dev/java${JDK}:latest"
alwaysPull true
args '-v gradle-cache:/home/gradle/.gradle'
}
}
environment {
GRADLE_USER_HOME = '/home/gradle/.gradle'
}
stages {
stage("Notify Discord") {
steps {
discordSend webhookURL: env.SSS_WEBHOOK,
title: "Deploy Started: ${projectName} ${majorMc} Deploy #${BUILD_NUMBER}",
link: env.BUILD_URL,
result: 'SUCCESS',
description: "Build: [${BUILD_NUMBER}](${env.BUILD_URL})"
}
}
stage("Prepare") {
steps {
sh "chmod +x ./gradlew"
sh "./gradlew build -PreleaseType=${reltype}"
}
}
stage("Publish to Maven") {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh "./gradlew publish -PreleaseType=${reltype}"
}
}
}
}
post {
always {
sh "./gradlew --stop"
archiveArtifacts artifacts: 'artifacts/*.jar'
fddsnapshotter apiKey: env.PLATFORM_KEY,
projectSlug: "craterlib",
projectName: "${projectName}",
projectIcon: "${projectIcon}",
modLoaders: "${modLoaders}",
minecraftVersions: "${supportedMc}",
type: "snapshot",
dependsOn: "",
failWebhook: env.SSS_WEBHOOK,
publishWebhooks: "${env.SSS_WEBHOOK}|${env.FDD_WH}"
deleteDir()
}
}
}