feat: publish dapr-sdk-bom artifact for transitive dependency management#1722
Open
javier-aliaga wants to merge 5 commits intodapr:masterfrom
Open
feat: publish dapr-sdk-bom artifact for transitive dependency management#1722javier-aliaga wants to merge 5 commits intodapr:masterfrom
javier-aliaga wants to merge 5 commits intodapr:masterfrom
Conversation
…#1720) Standalone BOM (no parent inheritance) so consumers only get Dapr SDK artifact versions and security-critical transitive dependency overrides without inheriting the parent's 1500+ internal managed dependencies. Includes all published io.dapr and io.dapr.spring modules, plus security overrides for netty-bom (CVE-2026-33870/33871), jackson-bom, commons-compress, and commons-codec. Closes dapr#1720 Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
Document dapr-sdk-bom as the recommended way to import the SDK, with version-free dependency declarations for both Maven and Gradle. Keep the manual version approach as an alternative. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
The BOM has no parent, so mvn versions:set skips it during the reactor walk. Add explicit -f sdk-bom/pom.xml calls to update both the artifact version and dapr.sdk.version property. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
The BOM has no parent so it doesn't inherit distributionManagement, nexus-staging-maven-plugin, or maven-gpg-plugin from the root POM. Without these the publish step would fail to stage and sign the artifact for Maven Central. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
00b34fa to
9ab1afa
Compare
Contributor
Author
|
@dapr/maintainers-java-sdk thoughts? |
The BOM has no parent, so it picks up maven-site-plugin 3.3 from Maven's defaults instead of 3.12.1 from pluginManagement. Pin the version and skip site since a POM-only BOM has no content to render. Signed-off-by: Javier Aliaga <javier@aliaga.dev> Signed-off-by: Javier Aliaga <javier@diagrid.io>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1722 +/- ##
============================================
- Coverage 72.91% 72.90% -0.02%
- Complexity 2256 2257 +1
============================================
Files 242 242
Lines 7415 7415
Branches 738 738
============================================
- Hits 5407 5406 -1
- Misses 1646 1648 +2
+ Partials 362 361 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
dapr-sdk-bommodule so consumers can import a single BOM to pin all Dapr SDK artifact versions and security-critical transitive dependency overrides<parent>) to avoid leaking the root POM's 1500+ internal managed dependencies (junit, mockito, spring-boot-dependencies, etc.) to consumersChanges
New module:
sdk-bom/pom.xmlio.dapr+io.dapr.springmodules)netty-bom4.1.132.Final,jackson-bom2.21.2commons-compress1.26.0,commons-codec1.17.2Root
pom.xmlsdk-bomas the first module in<modules>Consumer usage
Test plan
mvn install -pl sdk-bombuilds successfullymvn validatepasses with BOM in reactor alongside other modulesdapr-sdkmvn deployincludesdapr-sdk-bomartifact in stagingCloses #1720
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1720
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: