wilx opened a new pull request, #425:
URL: https://github.com/apache/maven-help-plugin/pull/425

   ## Summary
   
   Fixes #327.
   
   `help:evaluate` can receive model collections implemented by Maven 3's 
internal
   `ModelMerger.MergingList`. XStream does not recognize that implementation as 
a
   collection and falls back to reflective serialization. On recent JDKs, this
   fails when it tries to access `AbstractList.modCount`.
   
   This change registers a collection converter that accepts every `Collection`
   implementation and aliases the concrete runtime list class so the existing 
XML
   root name is preserved. The evaluated list is serialized directly without
   copying it.
   
   This PR targets `master`, the current 3.5.x line. The plugin still declares
   Maven 3.6.3 as its runtime prerequisite. The regression IT is limited to 
Maven
   3 because Maven 4 exposes different model collection implementations.
   
   This replaces #416, which targeted the 3.4.x maintenance branch currently 
under
   retirement review. PR #417 covers Maven 4-specific collection and map
   implementations and can build on this Maven 3 change. The commits remain
   intentionally split: the first adds the regression IT and the second applies
   the fix.
   
   ## Validation
   
   - Maven 3.9.16 / JDK 21: `mvn -Prun-its clean verify` - 30 unit tests and all
     36 integration tests passed.
   - Maven 3.10.0-rc-1 / JDK 21: `mvn -Prun-its clean verify` - 30 unit tests 
and
     all 36 integration tests passed.
   - Maven 4.0.0-rc-6 / JDK 21: the unit-test phase passed all 30 tests. The 
full
     Invoker run passed 32 tests, skipped 2 Maven-version-specific tests, and 
hit
     the two existing unrelated failures also documented by #417:
     `describe-cmd-with-goal-report` and `describe-plugin-without-name`.
   - `mvn spotless:apply` made no changes.
   - The failure was reproduced before the fix with Help Plugin 3.5.2, Maven
     3.9.16, and JDK 21.
   
   ## Checklist
   
   - [x] A JIRA issue exists for this change: MPH-210.
   - [x] This pull request addresses only that issue.
   - [x] Each commit has a meaningful subject line and body.
   - [x] The pull request title follows the `[MPH-XXX]` convention.
   - [x] This description explains what changed, how, and why.
   - [x] `mvn clean verify` passed.
   - [x] The integration tests passed with Maven 3.9.16 and Maven 3.10.0-rc-1.
   - [x] I hereby declare this contribution to be licenced under the
     [Apache License Version 2.0, January 
2004](http://www.apache.org/licenses/LICENSE-2.0).
   - [ ] In any other case, an Apache Individual Contributor License Agreement 
has
     been filed.
   


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