From ae3856be69f4dd89f1aa7e43b62e224d81840214 Mon Sep 17 00:00:00 2001 From: dogisgreat Date: Mon, 6 Jan 2025 09:46:15 -0800 Subject: [PATCH] fix: revert to sonatype portal release flow --- buildSrc/build.gradle.kts | 4 + .../kotlin/onebusaway-sdk.java.gradle.kts | 14 +--- .../kotlin/onebusaway-sdk.kotlin.gradle.kts | 1 + .../kotlin/onebusaway-sdk.publish.gradle.kts | 83 ++++++++----------- 4 files changed, 44 insertions(+), 58 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index b88cd06..493cb32 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,12 +1,16 @@ plugins { `kotlin-dsl` + kotlin("jvm") version "1.9.22" + id("com.vanniktech.maven.publish") version "0.28.0" } repositories { gradlePluginPortal() + mavenCentral() } dependencies { implementation("com.diffplug.spotless:spotless-plugin-gradle:6.25.0") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23") + implementation("com.vanniktech:gradle-maven-publish-plugin:0.28.0") } diff --git a/buildSrc/src/main/kotlin/onebusaway-sdk.java.gradle.kts b/buildSrc/src/main/kotlin/onebusaway-sdk.java.gradle.kts index 1de5b8a..32a150e 100644 --- a/buildSrc/src/main/kotlin/onebusaway-sdk.java.gradle.kts +++ b/buildSrc/src/main/kotlin/onebusaway-sdk.java.gradle.kts @@ -1,6 +1,9 @@ import com.diffplug.gradle.spotless.SpotlessExtension import org.gradle.api.tasks.testing.logging.TestExceptionFormat -import java.util.Locale +import com.vanniktech.maven.publish.JavaLibrary +import com.vanniktech.maven.publish.JavadocJar +import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.SonatypeHost plugins { `java-library` @@ -11,11 +14,6 @@ repositories { mavenCentral() } -configure { - withJavadocJar() - withSourcesJar() -} - configure { java { importOrder() @@ -36,10 +34,6 @@ tasks.withType().configureEach { options.release.set(8) } -tasks.named("javadocJar") { - setZip64(true) -} - tasks.named("jar") { manifest { attributes(mapOf( diff --git a/buildSrc/src/main/kotlin/onebusaway-sdk.kotlin.gradle.kts b/buildSrc/src/main/kotlin/onebusaway-sdk.kotlin.gradle.kts index a2e7a20..6da1ac7 100644 --- a/buildSrc/src/main/kotlin/onebusaway-sdk.kotlin.gradle.kts +++ b/buildSrc/src/main/kotlin/onebusaway-sdk.kotlin.gradle.kts @@ -1,5 +1,6 @@ import com.diffplug.gradle.spotless.SpotlessExtension import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.vanniktech.maven.publish.* plugins { id("onebusaway-sdk.java") diff --git a/buildSrc/src/main/kotlin/onebusaway-sdk.publish.gradle.kts b/buildSrc/src/main/kotlin/onebusaway-sdk.publish.gradle.kts index 2a3b59d..aabf770 100644 --- a/buildSrc/src/main/kotlin/onebusaway-sdk.publish.gradle.kts +++ b/buildSrc/src/main/kotlin/onebusaway-sdk.publish.gradle.kts @@ -3,65 +3,52 @@ import org.gradle.api.publish.maven.MavenPublication import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.get +import com.vanniktech.maven.publish.JavaLibrary +import com.vanniktech.maven.publish.JavadocJar +import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.SonatypeHost plugins { - `maven-publish` - `signing` + id("com.vanniktech.maven.publish") } -configure { - publications { - register("maven") { - from(components["java"]) +repositories { + gradlePluginPortal() + mavenCentral() +} - pom { - name.set("OneBusAway") - description.set("The OneBusAway REST API. For use with servers like\nhttps://api.pugetsound.onebusaway.org") - url.set("https://developer.onebusaway.org") +extra["signingInMemoryKey"] = System.getenv("GPG_SIGNING_KEY") +extra["signingInMemoryKeyId"] = System.getenv("GPG_SIGNING_KEY_ID") +extra["signingInMemoryKeyPassword"] = System.getenv("GPG_SIGNING_PASSWORD") - licenses { - license { - name.set("Apache-2.0") - } - } +configure { + signAllPublications() + publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) - developers { - developer { - name.set("Onebusaway SDK") - email.set("info@onebusaway.org") - } - } + this.coordinates(project.group.toString(), project.name, project.version.toString()) - scm { - connection.set("scm:git:git://github.com/OneBusAway/kotlin-sdk.git") - developerConnection.set("scm:git:git://github.com/OneBusAway/kotlin-sdk.git") - url.set("https://github.com/OneBusAway/kotlin-sdk") - } + pom { + name.set("OneBusAway") + description.set("The OneBusAway REST API. For use with servers like\nhttps://api.pugetsound.onebusaway.org") + url.set("https://developer.onebusaway.org") - versionMapping { - allVariants { - fromResolutionResult() - } - } + licenses { + license { + name.set("Apache-2.0") } } - } -} -signing { - val signingKeyId = System.getenv("GPG_SIGNING_KEY_ID")?.ifBlank { null } - val signingKey = System.getenv("GPG_SIGNING_KEY")?.ifBlank { null } - val signingPassword = System.getenv("GPG_SIGNING_PASSWORD")?.ifBlank { null } - if (signingKey != null && signingPassword != null) { - useInMemoryPgpKeys( - signingKeyId, - signingKey, - signingPassword, - ) - sign(publishing.publications["maven"]) - } -} + developers { + developer { + name.set("Onebusaway SDK") + email.set("info@onebusaway.org") + } + } -tasks.named("publish") { - dependsOn(":closeAndReleaseSonatypeStagingRepository") + scm { + connection.set("scm:git:git://github.com/OneBusAway/kotlin-sdk.git") + developerConnection.set("scm:git:git://github.com/OneBusAway/kotlin-sdk.git") + url.set("https://github.com/OneBusAway/kotlin-sdk") + } + } }