Skip to content

chore: bump maven-shade-plugin to 3.6.2 - #7485

Merged
zoewangg merged 1 commit into
masterfrom
zoewang/bump-maven-shade-plugin
Oct 27, 2026
Merged

zoewangg merged 1 commit into
masterfrom
zoewang/bump-maven-shade-plugin

Conversation

@zoewangg

Copy link
Copy Markdown
Contributor

Motivation and Context

Parallel builds (mvn install -T1C) intermittently fail during shading with maven-shade-plugin 3.5.0:

Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.5.0:shade (default) on project third-party-slf4j-api: Error creating shaded jar: Cannot invoke "org.apache.maven.project.MavenProject.getArtifact()" because "project" is null

This may be due to a bug in maven shade plugin 3.5.0 MSHADE-467, which was fixed in latest version. This change moves the SDK to the latest release, 3.6.2.

Modifications

  • Added a maven-shade-plugin.version property (3.6.2) to the root pom.xml, next to the other build plugin versions.
  • Replaced the hard-coded shade plugin version with ${maven-shade-plugin.version} in every module that shades: third-party-slf4j-api, third-party-jackson-core, third-party-jackson-dataformat-cbor, bundle, bundle-sdk, sdk-benchmarks, sdk-standard-benchmarks, http-client-benchmarks (all previously 3.5.0) and s3-benchmarks (previously 3.4.1).

Notable changes between 3.5.0 and 3.6.2:

  • Minimum Maven version is now 3.6.3 (was 3.2.5). The Maven wrapper in this repo uses 3.9.5. Minimum Java is unchanged (Java 8).
  • No shade goal parameters were removed or renamed and no defaults changed; 3.6.0 added extraJars and extraArtifacts.
  • Other changes do not affect our configurations: reproducible-build timestamp fixes, a clear error for a null transformer, per-artifact "Including ... in the shaded jar" logging moved to debug, and newer ASM for recent JDK bytecode.

Testing

  • Built the shaded modules with 3.5.0 (from master) and 3.6.2 and compared the outputs:
    • third-party-slf4j-api, third-party-jackson-core, third-party-jackson-dataformat-cbor: identical entry lists and order, byte-identical contents (relocated packages, META-INF/services, manifests, license and notice files). The dependency-reduced POMs differ only in the shade plugin version line.
    • bundle-sdk and bundle (built with -Ppublishing): identical entry lists and order. The only content difference is the shade plugin version line inside the embedded META-INF/maven/.../pom.xml. The sources jars are identical, and the dependency-reduced POMs differ only in the shade plugin version line.
    • The only other differences are build-time timestamps on the modules' own META-INF entries.
  • mvn clean install -T1C -Pquick,publishing -Dgpg.skip across the reactor: every shade execution passed (third-party modules, bundle-sdk, the benchmark modules). bundle was then built separately with -Pquick,publishing and passed.
  • help:effective-pom confirms 3.6.2 resolves for all nine modules.
  • The benchmark uber jars are runnable (java -jar benchmarks.jar -l lists the benchmarks).

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.
  • My change is to implement 1.11 parity feature and I have updated LaunchChangelog

License

  • I confirm that this pull request can be released under the Apache 2 license

Shade 3.5.0 can fail intermittently in parallel (-T) builds because
it mutates shared session state (MSHADE-467). Move the version to a
root pom property used by every module that shades.
@zoewangg
zoewangg requested a review from a team as a code owner October 26, 2026 23:01
@zoewangg
zoewangg requested a review from alextwoods October 26, 2026 23:12
@zoewangg
zoewangg enabled auto-merge October 26, 2026 23:31
@zoewangg
zoewangg added this pull request to the merge queue Oct 26, 2026
Merged via the queue into master with commit 2a31651 Oct 27, 2026
13 of 14 checks passed
@github-actions

Copy link
Copy Markdown

This pull request has been closed and the conversation has been locked. Comments on closed PRs are hard for our team to see. If you need more assistance, please open a new issue that references this one.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Oct 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants