gnodet opened a new issue, #12081:
URL: https://github.com/apache/maven/issues/12081

   ## Problem
   
   The `mvnup` tool currently uses JDOM on the `maven-4.0.x` branch but domtrip 
on `master`. This means every mvnup change needs to be implemented twice with 
different XML APIs, and cherry-picks between branches always produce conflicts 
in imports and API calls.
   
   Since `mvnup` is a brand-new tool shipping for the first time in Maven 
4.0.0, there is no backwards compatibility concern — no existing users depend 
on the JDOM-based implementation.
   
   ## Proposal
   
   Migrate `mvnup` on the `maven-4.0.x` branch to use the domtrip API, aligning 
it with `master`. This would:
   
   1. **Eliminate cherry-pick conflicts**: Changes can flow freely between 
`master` and `4.0.x` without manual API translation
   2. **Reduce maintenance burden**: Only one implementation to maintain 
instead of two
   3. **Enable faster iteration**: New mvnup features (like #12080) only need 
to be written once
   4. **Reduce risk of divergence**: The two branches currently risk 
accumulating subtle behavioral differences from API translation errors
   
   ## Scope
   
   The migration affects only the `mvnup` goals package 
(`maven-cli/src/main/java/.../mvnup/goals/`):
   - `CompatibilityFixStrategy.java`
   - `PluginUpgradeStrategy.java`
   - `InferenceStrategy.java`
   - `ModelUpgradeStrategy.java`
   - `JDomUtils.java` (would be removed or replaced)
   - Associated test files
   
   The rest of Maven on `4.0.x` continues to use JDOM — only `mvnup` switches 
to domtrip.
   
   _Claude Code on behalf of Guillaume Nodet_


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