Refactor build scripts and Jenkinsfile
This commit is contained in:
parent
0d31d85fd4
commit
de03444bc6
62
Jenkinsfile
vendored
62
Jenkinsfile
vendored
|
|
@ -3,39 +3,39 @@ pipeline {
|
||||||
stages {
|
stages {
|
||||||
stage('Gradle') {
|
stage('Gradle') {
|
||||||
steps {
|
steps {
|
||||||
withCredentials([usernamePassword(credentialsId: 'alttd-publish-user', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
|
withCredentials([usernamePassword(credentialsId: 'alttd-publish-user', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
|
||||||
sh '''
|
sh '''
|
||||||
chmod +x gradlew
|
chmod +x gradlew
|
||||||
./gradlew build -PalttdDevPublishUser=$USERNAME -PalttdDevPublishPass=$PASSWORD
|
./gradlew build -PalttdDevPublishUser=$USERNAME -PalttdDevPublishPass=$PASSWORD
|
||||||
'''
|
'''
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Publish to Maven') {
|
|
||||||
steps {
|
|
||||||
withCredentials([usernamePassword(credentialsId: 'alttd-publish-user', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
|
|
||||||
sh '''
|
|
||||||
chmod +x gradlew
|
|
||||||
./gradlew publish -PalttdDevPublishUser=$USERNAME -PalttdDevPublishPass=$PASSWORD
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Archive') {
|
|
||||||
steps {
|
|
||||||
archiveArtifacts artifacts: 'build/libs/', followSymlinks: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('discord') {
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'main'
|
|
||||||
branch 'master'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps {
|
}
|
||||||
discordSend description: "Build: ${BUILD_NUMBER}", showChangeset: true, result: currentBuild.currentResult, title: currentBuild.fullProjectName, webhookURL: env.discordwebhook
|
}
|
||||||
}
|
stage('Publish to Maven') {
|
||||||
|
steps {
|
||||||
|
withCredentials([usernamePassword(credentialsId: 'alttd-publish-user', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
|
||||||
|
sh '''
|
||||||
|
chmod +x gradlew
|
||||||
|
./gradlew :api:publish -PalttdDevPublishUser=$USERNAME -PalttdDevPublishPass=$PASSWORD
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Archive') {
|
||||||
|
steps {
|
||||||
|
archiveArtifacts artifacts: 'plugin/build/libs/DataLockLib*.jar, api/build/libs/DataLockLibApi*.jar', followSymlinks: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('discord') {
|
||||||
|
when {
|
||||||
|
anyOf {
|
||||||
|
branch 'main'
|
||||||
|
branch 'master'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
discordSend description: "Build: ${BUILD_NUMBER}", showChangeset: true, result: currentBuild.currentResult, title: currentBuild.fullProjectName, webhookURL: env.discordwebhook
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,28 @@
|
||||||
plugins {
|
plugins {
|
||||||
`maven-publish`
|
id("java-library")
|
||||||
|
id("maven-publish")
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
// Configure API-specific settings
|
||||||
compileOnly("io.papermc.paper:paper-api:1.21.6-R0.1-SNAPSHOT")
|
base {
|
||||||
}
|
archivesName.set("DataLockLibApi")
|
||||||
|
|
||||||
tasks {
|
|
||||||
jar {
|
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
publications {
|
publications {
|
||||||
create<MavenPublication>("mavenJava") {
|
create<MavenPublication>("mavenJava") {
|
||||||
|
artifactId = "api"
|
||||||
from(components["java"])
|
from(components["java"])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories{
|
repositories {
|
||||||
maven {
|
maven {
|
||||||
name = "nexus"
|
name = "nexus"
|
||||||
url = uri("https://repo.alttd.com/repository/alttd-snapshot/")
|
url = uri("https://repo.alttd.com/repository/alttd-snapshot/")
|
||||||
credentials {
|
credentials {
|
||||||
username = project.property("alttdDevPublishUser") as String
|
username = project.findProperty("alttdDevPublishUser")?.toString()
|
||||||
password = project.property("alttdDevPublishPass") as String
|
password = project.findProperty("alttdDevPublishPass")?.toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("java")
|
id("java")
|
||||||
id("maven-publish")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
|
|
@ -10,41 +10,21 @@ allprojects {
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply<JavaLibraryPlugin>()
|
apply(plugin = "java-library")
|
||||||
apply(plugin = "maven-publish")
|
|
||||||
|
|
||||||
java {
|
java {
|
||||||
toolchain {
|
toolchain {
|
||||||
languageVersion.set(JavaLanguageVersion.of(21))
|
languageVersion.set(JavaLanguageVersion.of(21))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
tasks {
|
dependencies {
|
||||||
jar {
|
compileOnly("io.papermc.paper:paper-api:1.21.6-R0.1-SNAPSHOT")
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publishing {
|
|
||||||
publications {
|
|
||||||
create<MavenPublication>("mavenJava") {
|
|
||||||
from(components["java"])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories{
|
tasks {
|
||||||
maven {
|
jar {
|
||||||
name = "nexus"
|
from(sourceSets.main.get().output)
|
||||||
url = uri("https://repo.alttd.com/repository/alttd-snapshot/")
|
|
||||||
credentials {
|
|
||||||
username = project.property("alttdDevPublishUser") as String
|
|
||||||
password = project.property("alttdDevPublishPass") as String
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compileOnly("io.papermc.paper:paper-api:1.21.6-R0.1-SNAPSHOT")
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,56 +1,23 @@
|
||||||
import java.io.ByteArrayOutputStream
|
|
||||||
import java.io.FileOutputStream
|
|
||||||
import java.net.URL
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
`maven-publish`
|
id("java-library")
|
||||||
id("net.minecrell.plugin-yml.bukkit") version "0.5.1"
|
id("net.minecrell.plugin-yml.bukkit") version "0.6.0" // Plugin for generating plugin.yml
|
||||||
id("xyz.jpenilla.run-paper") version "1.0.6"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":api")) // API
|
implementation(project(":api"))
|
||||||
compileOnly("io.papermc.paper:paper-api:1.21.6-R0.1-SNAPSHOT")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
// Plugin-specific configurations
|
||||||
|
base {
|
||||||
jar {
|
archivesName.set("DataLockLib")
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bukkit plugin configuration
|
||||||
bukkit {
|
bukkit {
|
||||||
name = rootProject.name
|
name = rootProject.name
|
||||||
main = "$group.${rootProject.name}"
|
main = "${project.group}.${rootProject.name}"
|
||||||
version = gitCommit()
|
|
||||||
apiVersion = "1.21"
|
apiVersion = "1.21"
|
||||||
authors = listOf("Teriuihi")
|
authors = listOf("Teriuihi")
|
||||||
}
|
description = project.description
|
||||||
|
version = project.version.toString()
|
||||||
fun gitCommit(): String {
|
|
||||||
val os = ByteArrayOutputStream()
|
|
||||||
project.exec {
|
|
||||||
isIgnoreExitValue = true
|
|
||||||
commandLine = "git rev-parse --short HEAD".split(" ")
|
|
||||||
standardOutput = os
|
|
||||||
}
|
|
||||||
return String(os.toByteArray()).trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
fun download(link: String, path: File) {
|
|
||||||
URL(link).openStream().use { input ->
|
|
||||||
FileOutputStream(path).use { output ->
|
|
||||||
input.copyTo(output)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bukkit {
|
|
||||||
name = rootProject.name
|
|
||||||
main = "$group.${rootProject.name}"
|
|
||||||
version = gitCommit()
|
|
||||||
apiVersion = "1.21"
|
|
||||||
authors = listOf("akastijn")
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
rootProject.name = "DataLockLib"
|
rootProject.name = "DataLockLib"
|
||||||
|
|
||||||
val nexusUser = providers.gradleProperty("alttdDevPublishUser").get()
|
|
||||||
val nexusPass = providers.gradleProperty("alttdDevPublishPass").get()
|
|
||||||
|
|
||||||
include(":api")
|
include(":api")
|
||||||
include(":plugin")
|
include(":plugin")
|
||||||
|
|
||||||
|
|
@ -20,5 +17,9 @@ dependencyResolutionManagement {
|
||||||
pluginManagement {
|
pluginManagement {
|
||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
|
maven {
|
||||||
|
name = "papermc"
|
||||||
|
url = uri("https://repo.papermc.io/repository/maven-public/")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user