pipeline {
    agent any
    stages {
        stage('Gradle') {
            steps {
                withCredentials([usernamePassword(credentialsId: 'alttd-snapshot-user', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
                sh '''
                  set +x
                  chmod +x gradlew
                  ./gradlew build -PalttdSnapshotUsername=$USERNAME -PalttdSnapshotPassword=$PASSWORD
                '''
                }
            }
        }
        stage('Archive') {
            steps {
                archiveArtifacts artifacts: 'build/libs/', followSymlinks: false
            }
        }
        stage('discord') {
            steps {
                discordSend description: "Build: ${BUILD_NUMBER}", showChangeset: true, result: currentBuild.currentResult, title: currentBuild.fullProjectName, webhookURL: env.discordwebhook
            }
        }
        stage('Copy to /mnt/updates/plugins') {
            when {
                branch 'main'
                branch 'master'
            }
            steps {
                sh 'cp build/libs/*.jar /mnt/updates/plugins/'
            }
        }
    }
}