From adbb7754e59cd4382af23be515ce93ead742b75e Mon Sep 17 00:00:00 2001 From: Ross Anderson Date: Wed, 1 Jul 2026 12:32:44 +0100 Subject: [PATCH] chore(publish): cut Maven Central file and release counts Upgrade vanniktech-maven-publish to 0.37.0, whose defaults publish only md5/sha1 checksums and drop the redundant signature checksums and sha256/sha512 (~380 -> ~152 files per release). Fix the removed SonatypeHost API by calling publishToMavenCentral() with no argument. Derive the publish version from the git tag so pre-release tags (X.Y.Z-rcN) publish an overwriting X.Y.Z-SNAPSHOT to the separate, quota-exempt snapshot repository instead of a full release; clean X.Y.Z tags still release. --- buildSrc/src/main/kotlin/common-maven.gradle.kts | 10 +++++----- gradle/libs.versions.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/kotlin/common-maven.gradle.kts b/buildSrc/src/main/kotlin/common-maven.gradle.kts index e30db79..581fc11 100644 --- a/buildSrc/src/main/kotlin/common-maven.gradle.kts +++ b/buildSrc/src/main/kotlin/common-maven.gradle.kts @@ -1,15 +1,15 @@ -import com.vanniktech.maven.publish.SonatypeHost.Companion.CENTRAL_PORTAL - plugins { id("com.vanniktech.maven.publish") } group = "com.caplin.integration.datasourcex" -val configuredVersion = System.getenv("GITHUB_REF_NAME") ?: "dev" +val refName = System.getenv("GITHUB_REF_NAME") ?: "dev" -version = configuredVersion +// Pre-release tags (X.Y.Z-rcN) publish as an overwriting SNAPSHOT to stay under Maven Central's +// monthly release/file limits; a clean X.Y.Z tag publishes a release. See docs/adr/0002. +version = if (refName.contains('-')) "${refName.substringBefore('-')}-SNAPSHOT" else refName mavenPublishing { - publishToMavenCentral(CENTRAL_PORTAL) + publishToMavenCentral() signAllPublications() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d48be45..5d08831 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ spotless-plugin = "8.6.0" dokka-plugin = "2.2.0" binary-compatibility-validator-plugin = "0.18.1" kover-plugin = "0.9.8" -vanniktech-maven-publish-plugin = "0.31.0" +vanniktech-maven-publish-plugin = "0.37.0" spring-dependency-management-plugin = "1.1.7"