From 235ac2d917d4497a1acd2e38b37eb68c65d2fc33 Mon Sep 17 00:00:00 2001 From: Devesh-Skyflow Date: Mon, 3 Aug 2026 21:39:12 +0530 Subject: [PATCH] SK-3002 stop publishing build-internal jars to Maven Central The flowvault/v1.0.0 bundle staged 11 files, two of which are build-internal and were about to become permanent public classifiers: skyflow-flowvault-java-1.0.0-tests.jar skyflow-flowvault-java-1.0.0-with-common.jar Both were published for the same reason: they are ATTACHED as secondary artifacts, and deploy uploads every attached artifact. -with-common is the japicmp comparison jar. skyvault/pom.xml already described it as "comparison-only", but shadedArtifactAttached is exactly what attaches it, so the comment's intent was never enforced. Replaced with shade's outputFile, which writes the jar and neither replaces the main artifact nor attaches it. The output path is unchanged, so the japicmp newVersion path needs no edit. -tests came from the root pom's maven-jar-plugin test-jar execution, inherited by every module. Nothing in the repo consumes a test-jar (no test-jar dependency anywhere) and the release build's tests run in-module, so the execution is removed. Note excludeArtifacts on central-publishing-maven-plugin is NOT a usable alternative: its filter compares against Artifact.getArtifactId(), not the classifier, so listing skyflow-flowvault-java would drop the main jar too. Verified with 'mvn clean install' over the whole repo. Every module now attaches exactly jar + sources + javadoc: common-1.0.0{,-sources,-javadoc}.jar skyflow-java-2.1.1{,-sources,-javadoc}.jar skyflow-flowvault-java-1.0.0{,-sources,-javadoc}.jar japicmp:cmp still runs and passes for both skyvault and flowvault, and target/*-with-common.jar is still produced on disk for it. Co-Authored-By: Claude Opus 5 (1M context) --- flowvault/pom.xml | 20 ++++++++++++-------- pom.xml | 15 ++++++--------- skyvault/pom.xml | 17 +++++++++-------- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/flowvault/pom.xml b/flowvault/pom.xml index 2b276145..ca474b4f 100644 --- a/flowvault/pom.xml +++ b/flowvault/pom.xml @@ -78,12 +78,17 @@ - + org.apache.maven.plugins maven-shade-plugin 3.6.0 @@ -95,8 +100,7 @@ shade - true - with-common + ${project.build.directory}/${project.build.finalName}-with-common.jar com.skyflow:common diff --git a/pom.xml b/pom.xml index 50d2382e..e9279fd4 100644 --- a/pom.xml +++ b/pom.xml @@ -232,15 +232,12 @@ org.apache.maven.plugins maven-jar-plugin 3.3.0 - - - - test-jar - - - - - + org.apache.maven.plugins diff --git a/skyvault/pom.xml b/skyvault/pom.xml index 618c7e9d..cf0aefc1 100644 --- a/skyvault/pom.xml +++ b/skyvault/pom.xml @@ -60,16 +60,18 @@ - + physically inside the two jars it's given. + Written with outputFile rather than shadedArtifactAttached: attaching it made + it a secondary artifact, and attached artifacts are deployed, so a jar + documented here as comparison-only was being published. outputFile keeps it + on disk without attaching. Path unchanged, so japicmp still resolves it. --> org.apache.maven.plugins maven-shade-plugin 3.6.0 @@ -81,8 +83,7 @@ shade - true - with-common + ${project.build.directory}/${project.build.finalName}-with-common.jar com.skyflow:common