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]

Reply via email to