Promote jopt-simple and antlr to api scope #7968
Closed
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
Users depending on
geode-coredirectly (withoutgeode-all-bom) encounterNoClassDefFoundErrorfor dependencies that are required at runtime but published with runtime scope. This affects users upgrading from 1.15.x to 2.0, particularly when:QueryService.newQuery()Root Cause
Two dependencies were declared as
implementation(runtime scope in POM) but are actually used in public APIs and core initialization code:ServerLauncher,LocatorLauncher(public APIs) andAbstractDiskRegion(persistence initialization)Solution
Promote both dependencies from
implementationtoapiscope, making them available at compile time for Maven/Gradle consumers.Changes:
geode-core/build.gradle: Change scope fromimplementationtoapigeode-core/src/test/resources/expected-pom.xml: Update scope fromruntimetocompileTesting
Verified generated POM contains correct compile scope:
Impact
NoClassDefFoundErrorfor users not usinggeode-all-bomFixes issues reported by Leon Finker in RC2 testing feedback.
For all changes, please confirm:
develop)?gradlew buildrun cleanly?