yangjj-iso opened a new pull request, #7867:
URL: https://github.com/apache/shenyu/pull/7867
Fixes #7608.
Guava was a compile dependency inherited by every child of the root POM,
including modules without Guava usage. Keep its version and the existing re2j
exclusion in dependencyManagement, and declare it explicitly in the 50
consuming modules: 38 at compile scope and 12 at test scope.
Remove the integrated-test aggregator's duplicate global declaration and the
registration protocol's now-unnecessary test-scope override. The examples and
E2E reactors have independent parents and are unchanged. Existing legitimate
transitive dependencies remain; this change removes unconditional Maven
inheritance, not Guava from applications that use it.
Validation on Microsoft OpenJDK 17.0.18 through the Maven wrapper:
- All 213 default-reactor modules passed clean packaging and main/test
compilation with Checkstyle.
- The four affected integrated-test modules also passed packaging, test
compilation and dependency analysis in a temporary combined reactor with the
main repository. Docker integration tests were not executed.
- All 50 consuming modules have explicit version-managed declarations with
source-appropriate scope. Dependency analysis reported no Guava
used-undeclared, unused-declared or scope warnings; unrelated pre-existing
dependency warnings remain.
- 26 selected SignUtils, SPI loading and extension-loader tests passed with
no failures/errors/skips.
- Resolved dependency trees contain Guava for shenyu-common and none for
shenyu-spi or shenyu-register-protocol.
- Apache RAT and git diff --check passed.
```sh
./mvnw -B -ntp clean package
org.apache.maven.plugins:maven-dependency-plugin:3.8.1:analyze \
-DskipTests -Dmaven.javadoc.skip=true -Djacoco.skip=true
-DskipRemoteResources=true
./mvnw -B -ntp -pl
shenyu-common,shenyu-spi,shenyu-register-center/shenyu-register-protocol -am
test dependency:tree \
-Dtest=SignUtilsTest,ExtensionLoaderTest,SpiLoadFactoryTest
-Dsurefire.failIfNoSpecifiedTests=false \
-DskipRemoteResources=true -Djacoco.skip=true -Dmaven.javadoc.skip=true
-Dincludes=com.google.guava:guava
./mvnw -B -ntp -N apache-rat:check -DskipRemoteResources=true
```
The analysis command explicitly selects dependency-plugin 3.8.1 because the
inherited 3.1.1 analyzer cannot read Java 17 class files; no build-plugin
version is changed by this PR. Full repository unit-test and Docker E2E
execution are left to CI.
- [x] Read the contribution guidelines.
- [x] Validate the dependency change with compilation, analysis and relevant
existing tests.
- [ ] Full-repository clean install with all tests (selected validation is
recorded above).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]