Aias00 commented on issue #6602:
URL: https://github.com/apache/shenyu/issues/6602#issuecomment-6211156464

   Thanks @yangjj-iso — this is an excellent audit, and it changes how we 
should land this.
   
   **Decision: staged rollout, not one bundled change.**
   
   **1. #6602 stays scoped to the plugin + version guardrails (hard-fail, 
safe).**
   Confirmed your setup: the root POM inherits `org.apache:apache:21`, which 
already brings an `enforce-maven-version` execution pinned to Maven 3.0.5 (so a 
repo-only grep misses it — good catch), and `<java.version>` is `17`. So #6602 
will add a repo-owned `maven-enforcer-plugin` execution bound to `validate` 
with only the rules that already pass:
   - `requireMavenVersion` — `<version>[3.6.3,)</version>` (upgrades the 
inherited 3.0.5 floor to match the wrapper)
   - `requireJavaVersion` — `<version>[${java.version},)</version>` (17+)
   
   That delivers the build-time guardrail the issue is about, without breaking 
any module.
   
   **2. Dependency alignment is tracked separately, not bundled into #6602.**
   191/213 projects with violations is a cross-cutting change; folding it in 
would make the PR unreviewable and delay the safe win. I've opened #7679 to own 
it, seeded with your inventory.
   
   **3. Staged enablement of the dependency rules** (in #7679):
   - Stage 1 (transitional): land `dependencyConvergence` + 
`requireUpperBoundDeps` in **report-only** mode so drift is visible in CI 
without blocking builds.
   - Stage 2: align the graph via `<dependencyManagement>`/BOM, module by 
module.
   - Stage 3: flip both rules to **hard-fail** (globally, or per-module as each 
is cleaned).
   
   **4. Warning-only is transitional, not the end state.** Agreed — permanently 
leaving the dependency checks non-failing would leave the guardrail incomplete; 
the target is hard-fail once the graph is aligned.
   
   If you're happy with this split, would you like to open step 1 (plugin + 
version rules only, no dependency rules) as a PR against `master`? Please paste 
your `shenyu-common` minimal repro into #7679 as the starting point. Thanks 
again for the thorough investigation.
   


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