Fix invalid POM caused by missing jackson-dataformat-yaml version #7970
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.
Problem
The published
geode-core-2.0.0.pomwas invalid, causing Maven to refuse processing ANY transitive dependencies. Users had to manually add all dependencies that should have been transitive.Maven Error:
Dependency Tree (broken):
Root Cause
geode-core/build.gradleline 207 declaresjackson-dataformat-yamlwithout a version:runtimeOnly('com.fasterxml.jackson.dataformat:jackson-dataformat-yaml')This relies on
DependencyConstraints.groovyto provide the version via the BOM. However,DependencyConstraints.groovydefined constraints for:com.fasterxml.jackson.core.*com.fasterxml.jackson.datatype.*com.fasterxml.jackson.dataformat.*(MISSING!)Result: The published POM had a dependency with no
<version>tag, making it invalid per Maven spec. Maven rejects invalid POMs and refuses to process their transitive dependencies.Solution
Added the missing dependency constraint to
DependencyConstraints.groovy:This adds
jackson-dataformat-yaml:2.17.0to thegeode-all-bomdependency management, ensuring the publishedgeode-corePOM is valid.Verification
After fix, dependency tree works correctly:
No invalid POM warnings. All transitive dependencies are pulled correctly.
Impact
This fixes the invalid POM that was blocking all transitive dependencies, including:
Users no longer need to manually declare these dependencies.
Testing
geode-all-bomcontainsjackson-dataformat-yaml:2.17.0geode-corePOM imports BOM in<dependencyManagement>Issue discovered by: @leonfin during 2.0.0.RC2 testing
For all changes, please confirm:
develop)?gradlew buildrun cleanly?