Skip to content

fix: attach sources & javadoc jars to dd-sdk-android-dependencies (unblock 0.4.0 Central release)#19

Merged
Fiona2016 merged 1 commit into
publishfrom
ci/fix-dependencies-sources-javadoc
May 31, 2026
Merged

fix: attach sources & javadoc jars to dd-sdk-android-dependencies (unblock 0.4.0 Central release)#19
Fiona2016 merged 1 commit into
publishfrom
ci/fix-dependencies-sources-javadoc

Conversation

@Fiona2016
Copy link
Copy Markdown
Collaborator

Problem

The 0.4.0 Maven Central Portal deployment failed server-side validation (cloud.flashcat-0.4.0 → FAILED). The failing component:

pkg:maven/cloud.flashcat/dd-sdk-android-dependencies@0.4.0
  Sources must be provided but not found in entries
  Javadocs must be provided but not found in entries

Root cause

dd-sdk-android-dependencies exports the shaded shadowJar as its main artifact, so it calls publishingJavaConfig(useJavaLibraryPlatform = false). Turning the platform auto-config off also skips the sources/javadoc jars Vanniktech would generate, and the manually-built release publication only attached shadowJar.

This is a new module first published in 0.4.0 (it was not on Central in 0.3.0), so the gap had never been hit before. Snapshots skip this validation, which is why 0.4.0-SNAPSHOT published fine but the 0.4.0 release was rejected. POM + signing were already correct (the Portal only reported sources/javadoc).

Fix

Attach an (effectively empty) sources jar and javadoc jar to the release publication. The module has no sources of its own, so both jars are empty — which still satisfies the Portal's "must be provided" check. The existing afterEvaluate signing in basePublishingConfig signs them automatically.

Verification

./gradlew :dd-sdk-android-dependencies:publishReleasePublicationToMavenLocal -Pdd-skip-signing now produces:

  • dd-sdk-android-dependencies-<v>-sources.jar
  • dd-sdk-android-dependencies-<v>-javadoc.jar
  • main .jar + .pom

ShadowJar relocation intact: 282 relocated classes under cloud.flashcat.shaded.*, 0 leaked original package names.

🤖 Generated with Claude Code

…lication

The dd-sdk-android-dependencies module exports the shaded shadowJar as its
main artifact, so it disables the platform auto-config
(publishingJavaConfig(useJavaLibraryPlatform = false)). That auto-config is
also what generates the sources and javadoc jars Maven Central requires for
every released component, so the manually-built `release` publication shipped
with neither. The 0.4.0 Central Portal deployment failed validation with
"Sources must be provided" / "Javadocs must be provided" for this component.

Attach an (effectively empty) sources jar and javadoc jar to the publication.
The existing afterEvaluate signing in basePublishingConfig signs them too.
Snapshots skip this validation, which is why 0.4.0-SNAPSHOT published fine but
the 0.4.0 release was rejected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Fiona2016 Fiona2016 merged commit fc2533d into publish May 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant