cloudbase-ai opened a new pull request, #7890:
URL: https://github.com/apache/shenyu/pull/7890

   Refs #7679. This is the SLF4J alignment slice; #7688 explicitly leaves SLF4J 
outside its annotation-alignment change.
   
   Spring Boot 3.3.1 dependency management resolves `slf4j-api` to 2.0.13, 
below the 2.0.17 requested by `shenyu-common → oshi-core:6.10.0`. The explicit 
`requireUpperBoundDeps` check reproduces that conflict.
   
   Import the official SLF4J 2.0.17 BOM before Spring Boot's BOM, matching the 
existing Netty BOM precedence pattern. This aligns the API and bridges together 
instead of upgrading only `slf4j-api`. No direct dependency is added; Logback, 
Spring Boot, Reactor and Enforcer configuration are unchanged. Downstream 
projects inheriting the ShenYu parent inherit these managed SLF4J versions 
unless they override them.
   
   Version rationale: 2.0.17 is the minimum version already requested by the 
affected dependency graph. The [SLF4J compatibility 
FAQ](https://www.slf4j.org/faq.html#compatibility) documents client API 
compatibility and matching provider major/minor versions. The [2.0.17 release 
notes](https://www.slf4j.org/news.html#2.0.17) state that its MDC 
initialization changes are transparent to existing logging backends. This patch 
stays on the existing 2.0 API line.
   
   Validation with Java 17 and the repository Maven wrapper:
   
   - Before/after: `./mvnw -B -ntp -pl shenyu-common -am 
org.apache.maven.plugins:maven-enforcer-plugin:3.6.3:enforce 
-Denforcer.rules=requireUpperBoundDeps`. Before: SLF4J 2.0.13 and checker-qual 
3.19.0 upper-bound errors. After: only checker-qual remains. **The full command 
still exits 1** for that separate conflict; this PR does not claim 
whole-reactor dependency convergence or close #7679.
   - `./mvnw -B -ntp -pl shenyu-common,shenyu-admin,shenyu-bootstrap -am 
dependency:tree '-Dincludes=org.slf4j:*,ch.qos.logback:*' -Dverbose` passed 
across 161 projects. Resolved SLF4J API, JCL bridge and JUL bridge are 2.0.17; 
Logback classic/core remain 1.5.6. The dependency plugin reports that verbose 
output is unsupported, so this check concerns resolved versions.
   - `./mvnw -B -ntp -pl shenyu-common -am verify -Dmaven.javadoc.skip=true 
-Djacoco.skip=true` passed: 515 tests, 0 failures/errors, 5 existing skips; 
Checkstyle and RAT passed.
   - `./mvnw -B -ntp -pl shenyu-admin -am test 
-Dtest=DataChangedEventDispatcherTest,InstanceCheckServiceTest,InstanceInfoUtilsTest,LogUtilsTest,LoggingQueueMetricsTest
 -Dsurefire.failIfNoSpecifiedTests=false -Djacoco.skip=true 
-Dmaven.javadoc.skip=true` passed: 64 Admin tests and 17 common test 
executions, no failures/errors.
   - A standalone Java smoke probe used the resolved Admin test classpath, 
initialized MDC before LoggerFactory, attached a Logback ListAppender, and 
emitted direct fluent API, Commons Logging, and JUL-bridge messages. It 
asserted all three messages and their MDC values: `SLF4J=2.0.17 LOGBACK=1.5.6 
EVENTS=3 MDC=preserved`.
   - The separately parented E2E common reactor's dependency tree still 
resolves its explicit `slf4j-api:1.7.35` and Log4j 2.18.0. Docker E2E itself 
was not run.
   - `git diff --check` passed. No new implementation logic or mirrored-version 
tests were added for this POM-only change.
   
   This does not enable hard-fail convergence rules or fix the 
annotation/framework conflicts tracked separately in #7679.
   


-- 
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