Upgrade slf4j-api from 1.7.32 to 1.7.36 #7951
Merged
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.
Summary
This PR upgrades the SLF4J API library from version 1.7.32 to 1.7.36 to resolve a version conflict in the dependency tree and eliminate duplicate jars in the build output.
Problem Statement
The build was producing both
slf4j-api-1.7.32.jarandslf4j-api-1.7.36.jar, causing potential classpath conflicts and unnecessary duplication. This occurred because:slf4j-api:1.7.32slf4j-api:1.7.36Root Cause
Apache Shiro 1.13.0, which is used as a dependency in Geode, declares a dependency on
slf4j-api:1.7.36. When Geode's dependency management specified version 1.7.32, it created a version mismatch that resulted in both versions being included in the build artifacts.Solution
Align Geode's SLF4J API version with the version required by Apache Shiro 1.13.0 by upgrading to 1.7.36.
Changes
Dependency Management
build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovyslf4j-api.versionfrom1.7.32to1.7.36Test Resources
Updated expected dependency versions in test resources to reflect the new SLF4J API version:
boms/geode-all-bom/src/test/resources/expected-pom.xmlgeode-assembly/src/integrationTest/resources/assembly_content.txtlib/slf4j-api-1.7.32.jarentrylib/slf4j-api-1.7.36.jargeode-server-all/src/integrationTest/resources/dependency_classpath.txtslf4j-api-1.7.32.jartoslf4j-api-1.7.36.jarImpact
Benefits
Risk Assessment
Compatibility
SLF4J API 1.7.36:
Testing
All changes have been validated:
Build Tasks:
./gradlew clean buildRelated Dependencies
This change affects all modules that depend on SLF4J API, which includes most Geode modules. The upgrade is transparent to all consumers as it maintains full API compatibility.
Files Changed
Notes
geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txtfile already had the correct version (1.7.36) and required no changesFor all changes, please confirm:
develop)?gradlew buildrun cleanly?