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]
