From 3eac0b61538ff257a823986e7e14821e9b5407e5 Mon Sep 17 00:00:00 2001 From: Ned Wolpert Date: Sun, 11 May 2025 09:34:16 -0700 Subject: [PATCH 1/4] Added in jreleaser attempt 1 --- build.gradle.kts | 7 +- buildSrc/build.gradle.kts | 6 +- buildSrc/settings.gradle.kts | 11 +-- ...dlogic.java-publish-conventions.gradle.kts | 72 +++++++++++++++++-- gradle/libs.versions.toml | 4 ++ 5 files changed, 87 insertions(+), 13 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5f688b3..b09d019 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,8 @@ nexusPublishing { } allprojects { group = "com.codeheadsystems" - //version = "3.0.2" - version = "3.0.3-SNAPSHOT" + version = "3.0.3" + //version = "3.0.3-SNAPSHOT" } -// gradle clean build test publishToSonatype closeAndReleaseSonatypeStagingRepository +// gradle jreleaserConfig +// gradle clean build test jreleaserFullRelease diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 0187847..9f2c626 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -8,6 +8,10 @@ plugins { } repositories { - // Use the plugin portal to apply community plugins in convention plugins. + mavenCentral() gradlePluginPortal() } + +dependencies { + implementation(libs.gradleplugin.jreleaser) +} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts index 31bf56a..51ccb40 100644 --- a/buildSrc/settings.gradle.kts +++ b/buildSrc/settings.gradle.kts @@ -5,10 +5,13 @@ */ dependencyResolutionManagement { - // Reuse version catalog from the main build. versionCatalogs { - create("libs", { from(files("../gradle/libs.versions.toml")) }) + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } + repositories { + gradlePluginPortal() + mavenCentral() } } - -rootProject.name = "buildSrc" diff --git a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts index 911ddb9..8501b09 100644 --- a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts @@ -1,7 +1,11 @@ + +import org.jreleaser.model.Active +import org.jreleaser.model.Signing plugins { // Apply the java Plugin to add support for Java. `maven-publish` signing + id("org.jreleaser") } publishing { @@ -36,14 +40,72 @@ publishing { } repositories { maven { - val releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" - val snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" - url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl) - name = "ossrh" - credentials(PasswordCredentials::class) + setUrl(layout.buildDirectory.dir("staging-deploy")) } } } + +jreleaser { + signing { + active = Active.ALWAYS + armored = true + } + + deploy { + maven { + mavenCentral { + create("sonatype") { + username = providers.gradleProperty("sonatypeUsername") + password = providers.gradleProperty("sonatypePassword") + + active = Active.ALWAYS + url = "https://central.sonatype.com/api/v1/publisher" + stagingRepositories = listOf("build/staging-deploy") + } + } + } + } +// deploy { +// maven { +// mavenCentral { +// create("sonatype") { +// active = Active.ALWAYS +// url = "https://central.sonatype.com/api/v1/publisher" +// stagingRepository("build/staging-deploy") +// } +// } +// } +// } +} + +// V1 +//jreleaser { +// signing { +// active = Active.ALWAYS +// armored = true +// mode = Signing.Mode.MEMORY +// +// passphrase = providers.gradleProperty("signingPassphrase") +// secretKey = providers.gradleProperty("signingSecretKey") +// publicKey = providers.gradleProperty("signingPublicKey") +// } +// +// deploy { +// maven { +// mavenCentral { +// create("sonatype") { +// username = providers.gradleProperty("mavenCentralUsername") +// password = providers.gradleProperty("mavenCentralPassword") +// +// active = Active.ALWAYS +// url = "https://central.sonatype.com/api/v1/publisher" +// stagingRepositories = listOf("build/staging-deploy") +// } +// } +// } +// } +//} + signing { useGpgCmd() sign(publishing.publications["mavenJava"]) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bf9cd20..f301273 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,6 +14,7 @@ commons-io = "2.19.0" dagger = "2.56.2" dropwizard4 = "4.0.13" jdbi = '3.49.3' +jreleaser = '1.18.0' jsr305 = "3.0.2" immutables = '2.10.1' hsqldb = '2.7.4' @@ -72,6 +73,9 @@ mockito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version. slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers" } testcontainers-postgres = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" } +gradleplugin-jreleaser = { group = "org.jreleaser", name = "org.jreleaser.gradle.plugin", version.ref = "jreleaser" } +[plugins] +jreleaser = { id = "org.jreleaser", version.ref = "jreleaser" } [bundles] caffine = ["caffine", "caffine-jcache"] From d69da570252ead54aaafc2c991d0b3a5ad41553e Mon Sep 17 00:00:00 2001 From: Ned Wolpert Date: Mon, 19 May 2025 07:30:51 -0700 Subject: [PATCH 2/4] More attempts --- .../buildlogic.java-publish-conventions.gradle.kts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts index 8501b09..9cff7f9 100644 --- a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts @@ -46,10 +46,17 @@ publishing { } jreleaser { + gitRootSearch = true + strict = false signing { active = Active.ALWAYS armored = true } + release { + github { + enabled = false + } + } deploy { maven { @@ -58,9 +65,11 @@ jreleaser { username = providers.gradleProperty("sonatypeUsername") password = providers.gradleProperty("sonatypePassword") + applyMavenCentralRules = true active = Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" - stagingRepositories = listOf("build/staging-deploy") + //stagingRepositories = listOf("build/staging-deploy") + stagingRepository("target/staging-deploy") } } } From ee59a7bd191dcdc4f389f931ab672333e9615322 Mon Sep 17 00:00:00 2001 From: Ned Wolpert Date: Tue, 20 May 2025 07:09:35 -0700 Subject: [PATCH 3/4] More attempts --- ...dlogic.java-publish-conventions.gradle.kts | 68 ++++++------------- 1 file changed, 22 insertions(+), 46 deletions(-) diff --git a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts index 9cff7f9..d0a0b22 100644 --- a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts @@ -3,11 +3,17 @@ import org.jreleaser.model.Active import org.jreleaser.model.Signing plugins { // Apply the java Plugin to add support for Java. + `java-library` `maven-publish` signing id("org.jreleaser") } +java { + withJavadocJar() + withSourcesJar() +} + publishing { publications { create("mavenJava") { @@ -45,6 +51,9 @@ publishing { } } +val sonatypeUsername = providers.gradleProperty("sonatypeUsername") +val sonatypePassword = providers.gradleProperty("sonatypePassword") + jreleaser { gitRootSearch = true strict = false @@ -54,67 +63,34 @@ jreleaser { } release { github { - enabled = false + enabled = true + repoOwner = "wolpert" + repoUrl = "https://github.com/wolpert/library" + skipRelease = true + skipTag = true + sign = true + overwrite = true } } deploy { maven { mavenCentral { - create("sonatype") { - username = providers.gradleProperty("sonatypeUsername") - password = providers.gradleProperty("sonatypePassword") + register("sonatype") { + username = sonatypeUsername + password = sonatypePassword applyMavenCentralRules = true - active = Active.ALWAYS + active = Active.RELEASE url = "https://central.sonatype.com/api/v1/publisher" - //stagingRepositories = listOf("build/staging-deploy") - stagingRepository("target/staging-deploy") + //stagingRepositories = listOf("build/libs") + stagingRepository("build/staging-deploy") } } } } -// deploy { -// maven { -// mavenCentral { -// create("sonatype") { -// active = Active.ALWAYS -// url = "https://central.sonatype.com/api/v1/publisher" -// stagingRepository("build/staging-deploy") -// } -// } -// } -// } } -// V1 -//jreleaser { -// signing { -// active = Active.ALWAYS -// armored = true -// mode = Signing.Mode.MEMORY -// -// passphrase = providers.gradleProperty("signingPassphrase") -// secretKey = providers.gradleProperty("signingSecretKey") -// publicKey = providers.gradleProperty("signingPublicKey") -// } -// -// deploy { -// maven { -// mavenCentral { -// create("sonatype") { -// username = providers.gradleProperty("mavenCentralUsername") -// password = providers.gradleProperty("mavenCentralPassword") -// -// active = Active.ALWAYS -// url = "https://central.sonatype.com/api/v1/publisher" -// stagingRepositories = listOf("build/staging-deploy") -// } -// } -// } -// } -//} - signing { useGpgCmd() sign(publishing.publications["mavenJava"]) From 5b2b8751cf63bfab9784bd930b9e7ede652bedb2 Mon Sep 17 00:00:00 2001 From: Ned Wolpert Date: Tue, 20 May 2025 08:49:29 -0700 Subject: [PATCH 4/4] 3.0.4 --- build.gradle.kts | 14 +++------- ...dlogic.java-publish-conventions.gradle.kts | 26 ++----------------- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b09d019..84f316c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,17 +1,9 @@ -// For publishing, all of these are required in the top-level. -plugins { - id("io.github.gradle-nexus.publish-plugin") version "2.0.0" -} -nexusPublishing { - repositories { - sonatype() - } -} allprojects { group = "com.codeheadsystems" - version = "3.0.3" + version = "3.0.4" //version = "3.0.3-SNAPSHOT" } + // gradle jreleaserConfig -// gradle clean build test jreleaserFullRelease +// gradle clean build test public jreleaserDeploy diff --git a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts index d0a0b22..614de97 100644 --- a/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts @@ -1,19 +1,10 @@ import org.jreleaser.model.Active -import org.jreleaser.model.Signing plugins { - // Apply the java Plugin to add support for Java. - `java-library` `maven-publish` - signing id("org.jreleaser") } -java { - withJavadocJar() - withSourcesJar() -} - publishing { publications { create("mavenJava") { @@ -51,12 +42,10 @@ publishing { } } -val sonatypeUsername = providers.gradleProperty("sonatypeUsername") -val sonatypePassword = providers.gradleProperty("sonatypePassword") - jreleaser { gitRootSearch = true strict = false + dryrun = false signing { active = Active.ALWAYS armored = true @@ -72,26 +61,15 @@ jreleaser { overwrite = true } } - deploy { maven { mavenCentral { register("sonatype") { - username = sonatypeUsername - password = sonatypePassword - - applyMavenCentralRules = true - active = Active.RELEASE + active = Active.ALWAYS url = "https://central.sonatype.com/api/v1/publisher" - //stagingRepositories = listOf("build/libs") stagingRepository("build/staging-deploy") } } } } } - -signing { - useGpgCmd() - sign(publishing.publications["mavenJava"]) -}