Skip to content

build: Assemble dist zips from a local Maven repo layout - #6467

Merged
romtsn merged 2 commits into
mainfrom
build/dist-from-maven-layout
Nov 5, 2026
Merged

romtsn merged 2 commits into
mainfrom
build/dist-from-maven-layout

Conversation

@romtsn

@romtsn romtsn commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

📜 Description

The dist zips that craft publishes are now built from a local Maven repo layout instead of from renamed build outputs.

Each module also publishes to build/distMaven, and distZip copies from build/distMaven/io/sentry/<artifactId>/<version>/. File names there follow the Maven standard (<artifactId>-<version>[-<classifier>].<ext>), which is what craft looks for, so it no longer matters how plugins name their outputs. The only renames left are the ones craft needs: .pom → pom-default.xml and .aar → <artifactId>-release.aar. kotlin-tooling-metadata.json keeps its old name too. The checksum files the repo writes are left out of the zips, since craft's deploy step generates its own on upload.

The zip contents are unchanged. The publishToMavenLocal dependency stays, so ~/.m2 is still filled as before.

💡 Motivation and Context

The 8.63.0 publish failed with sentry-compose-8.63.0-javadoc.jar does not exist (publish run). The vanniktech maven-publish bump from 0.30.0 to 0.37.0 (#6412) added the version to the KMP javadoc jars (sentry-compose-kotlinMultiplatform-<version>-javadoc.jar, sentry-compose-androidRelease-<version>-javadoc.jar). The rename rules in Publication.kt no longer matched, so the root and -android compose zips had no javadoc jar under the name craft expects. This change follows the approach sentry-kotlin-multiplatform already uses for its core library.

💚 How did you test it?

Ran ./gradlew distZip before and after the change: the file listings of all 51 zips are identical, apart from stale old-version jars the previous build/libs copy picked up locally. The compose zips now contain sentry-compose{,-android,-desktop}-<version>-javadoc.jar with real content. :sentry-compose:distZip also builds with the configuration cache on.

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.

🔮 Next steps

Cut a new release once this is merged.

🤖 Generated with Claude Code

#skip-changelog

Craft expects Maven file names in each dist dir, e.g. <artifactId>-<version>-javadoc.jar.
We used to copy build outputs and rename them to match, so the rules broke whenever a plugin
changed its output names. The vanniktech maven-publish 0.30.0 -> 0.37.0 bump (#6412) added the
version to the KMP javadoc jars, so sentry-compose-<version>-javadoc.jar was missing and the
8.63.0 publish failed.

Now every module also publishes to build/distMaven and the dist zips copy from its Maven
layout, where file names are fixed by Maven itself. Only the craft-specific names are renamed
(pom-default.xml, -release.aar). The zip contents are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@romtsn
romtsn marked this pull request as ready for review November 5, 2026 09:13
@romtsn
romtsn requested review from a team and adinauer as code owners November 5, 2026 09:13
@romtsn
romtsn requested review from markushi and runningcode and removed request for a team November 5, 2026 09:13
@sentry

sentry Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
SDK Size io.sentry.tests.size 8.62.0 (1) release

⚙️ sentry-android Build Distribution Settings

@romtsn romtsn added the ship-it PR is ready to merge from a reviewer perspective label Nov 5, 2026

@runningcode runningcode left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Looks like less code and less renames.

Comment thread buildSrc/src/main/java/Publication.kt Resolved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@romtsn
romtsn enabled auto-merge (squash) November 5, 2026 09:29
@romtsn
romtsn merged commit a29ab32 into main Nov 5, 2026
43 of 44 checks passed
@romtsn
romtsn deleted the build/dist-from-maven-layout branch November 5, 2026 09:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ship-it PR is ready to merge from a reviewer perspective

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants