diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 95f1982..a8f9ba2 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -52,8 +52,8 @@ jobs: - name: Build and deploy release if: github.ref == 'refs/heads/release' - run: ./gradlew clean publish -PisRelease=true + run: ./gradlew clean :moss:publish :moss-paper:publish :moss-velocity:publish :moss-bungeecord:publish -PisRelease=true - name: Build and deploy snapshot if: github.ref == 'refs/heads/snapshot' - run: ./gradlew clean publish -PisRelease=false \ No newline at end of file + run: ./gradlew clean :moss:publish :moss-paper:publish :moss-velocity:publish :moss-bungeecord:publish -PisRelease=false \ No newline at end of file diff --git a/build.gradle b/build.gradle index a9ba972..165a6fd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,5 @@ plugins { id 'java' - id 'maven-publish' - id 'signing' } repositories { @@ -13,33 +11,3 @@ dependencies { compileOnly("org.projectlombok:lombok:1.18.32") annotationProcessor("org.projectlombok:lombok:1.18.32") } - -subprojects { - plugins.withId('maven-publish') { - publishing { - repositories { - maven { - name = "mavenCentral" - - def isRelease = (findProperty("isRelease") == "true") - url = uri(isRelease - ? "https://central.sonatype.com/api/v1/publisher/deployments/download/" - : "https://central.sonatype.com/repository/maven-snapshots/" - ) - - credentials { - username = findProperty("mavenCentralUsername") - password = findProperty("mavenCentralPassword") - } - } - } - } - - plugins.withId('signing') { - signing { - useGpgCmd() - sign publishing.publications - } - } - } -} \ No newline at end of file diff --git a/moss-bungeecord/build.gradle b/moss-bungeecord/build.gradle index 0a73df4..bc773a7 100644 --- a/moss-bungeecord/build.gradle +++ b/moss-bungeecord/build.gradle @@ -3,6 +3,7 @@ plugins { id 'maven-publish' id 'signing' id 'com.gradleup.shadow' version '9.2.2' + id 'net.thebugmc.gradle.sonatype-central-portal-publisher' version '1.2.4' } def id = 'moss-bungeecord' @@ -62,25 +63,14 @@ tasks.shadowJar { archiveClassifier.set("") } -tasks.register('sourcesJar', Jar) { - archiveClassifier.set('sources') - from sourceSets.main.allSource -} - -tasks.register('javadocJar', Jar) { - archiveClassifier.set('javadoc') - from javadoc.destinationDir - dependsOn javadoc -} - publishing { publications { mavenJava(MavenPublication) { artifact(tasks.shadowJar) { builtBy tasks.shadowJar } - artifact(tasks.sourcesJar) - artifact(tasks.javadocJar) + artifact sourcesJar + artifact javadocJar groupId = "${domain}" artifactId = "${id}" @@ -88,7 +78,7 @@ publishing { pom { name = "${id}" - description = 'Moss Velocity module - A Spring-based Minecraft proxy framework' + description = 'Moss BungeeCord module - A Spring-based Minecraft proxy framework' url = 'https://github.com/negative-games/moss' licenses { @@ -115,6 +105,12 @@ publishing { } } +centralPortal { + username = findProperty("mavenCentralUsername") + password = findProperty("mavenCentralPassword") + publishingType = 'AUTOMATIC' +} + signing { useGpgCmd() sign publishing.publications.mavenJava diff --git a/moss-paper/build.gradle b/moss-paper/build.gradle index 3ddbf17..e3e58bf 100644 --- a/moss-paper/build.gradle +++ b/moss-paper/build.gradle @@ -3,7 +3,9 @@ plugins { id 'maven-publish' id 'signing' id 'com.gradleup.shadow' version '9.2.2' + id 'net.thebugmc.gradle.sonatype-central-portal-publisher' version '1.2.4' } + def id = 'moss-paper' def domain = 'games.negative.moss' def apiVersion = '1.2.1' @@ -58,25 +60,14 @@ tasks.shadowJar { archiveClassifier.set("") } -tasks.register('sourcesJar', Jar) { - archiveClassifier.set('sources') - from sourceSets.main.allSource -} - -tasks.register('javadocJar', Jar) { - archiveClassifier.set('javadoc') - from javadoc.destinationDir - dependsOn javadoc -} - publishing { publications { mavenJava(MavenPublication) { artifact(tasks.shadowJar) { builtBy tasks.shadowJar } - artifact(tasks.sourcesJar) - artifact(tasks.javadocJar) + artifact sourcesJar + artifact javadocJar groupId = "${domain}" artifactId = "${id}" @@ -84,7 +75,7 @@ publishing { pom { name = "${id}" - description = 'Moss Velocity module - A Spring-based Minecraft proxy framework' + description = 'Moss Paper module - A Spring-based Minecraft plugin framework' url = 'https://github.com/negative-games/moss' licenses { @@ -111,6 +102,12 @@ publishing { } } +centralPortal { + username = findProperty("mavenCentralUsername") + password = findProperty("mavenCentralPassword") + publishingType = 'AUTOMATIC' +} + signing { useGpgCmd() sign publishing.publications.mavenJava diff --git a/moss-velocity/build.gradle b/moss-velocity/build.gradle index 40d9112..aa68bb2 100644 --- a/moss-velocity/build.gradle +++ b/moss-velocity/build.gradle @@ -3,6 +3,7 @@ plugins { id 'maven-publish' id 'signing' id 'com.gradleup.shadow' version '9.2.2' + id 'net.thebugmc.gradle.sonatype-central-portal-publisher' version '1.2.4' } def id = 'moss-velocity' @@ -59,25 +60,14 @@ tasks.shadowJar { archiveClassifier.set("") } -tasks.register('sourcesJar', Jar) { - archiveClassifier.set('sources') - from sourceSets.main.allSource -} - -tasks.register('javadocJar', Jar) { - archiveClassifier.set('javadoc') - from javadoc.destinationDir - dependsOn javadoc -} - publishing { publications { mavenJava(MavenPublication) { artifact(tasks.shadowJar) { builtBy tasks.shadowJar } - artifact(tasks.sourcesJar) - artifact(tasks.javadocJar) + artifact sourcesJar + artifact javadocJar groupId = "${domain}" artifactId = "${id}" @@ -112,6 +102,12 @@ publishing { } } +centralPortal { + username = findProperty("mavenCentralUsername") + password = findProperty("mavenCentralPassword") + publishingType = 'AUTOMATIC' +} + signing { useGpgCmd() sign publishing.publications.mavenJava diff --git a/moss/build.gradle b/moss/build.gradle index ecbff14..0f0a9ac 100644 --- a/moss/build.gradle +++ b/moss/build.gradle @@ -2,6 +2,8 @@ plugins { id 'java' id 'maven-publish' id 'signing' + id 'com.gradleup.shadow' version '9.2.2' + id 'net.thebugmc.gradle.sonatype-central-portal-publisher' version '1.2.4' } def id = 'moss-common' @@ -39,17 +41,6 @@ tasks.withType(JavaCompile).configureEach { } } -tasks.register('sourcesJar', Jar) { - archiveClassifier.set('sources') - from sourceSets.main.allSource -} - -tasks.register('javadocJar', Jar) { - archiveClassifier.set('javadoc') - from javadoc.destinationDir - dependsOn javadoc -} - publishing { publications { mavenJava(MavenPublication) { @@ -62,7 +53,7 @@ publishing { pom { name = "${id}" - description = 'Moss Velocity module - A Spring-based Minecraft proxy framework' + description = 'Moss Core module - A Spring-based framework' url = 'https://github.com/negative-games/moss' licenses {