slachiewicz commented on issue #13302:
URL: https://github.com/apache/maven/issues/13302#issuecomment-5913797429

   ### maven-mapping
   PR: apache/maven-mapping#77. Status: **ported**, 4.0.0-SNAPSHOT, Java 17.
   
   Verified locally: `mvn verify` with Maven 4.0.0-rc-7, JDK 21 → 8 tests 
before, 10 after (new: timestamped SNAPSHOT `baseVersion`, non-jar extension), 
0 failures; spotless clean.
   
   **Public API change:** `MappingUtils.evaluateFileNameMapping(String, 
org.apache.maven.artifact.Artifact)` → `(String, 
org.apache.maven.api.Artifact)`. Dependencies drop to `maven-api-core` only.
   
   **Gaps: tokens that no longer resolve**
   - The v4 `Artifact` has no `ArtifactHandler`: `@{packaging}@`, 
`@{language}@`, `@{directory}@`, `@{addedToClasspath}@`, 
`@{includesDependencies}@` are gone. `@{extension}@` now comes from 
`Artifact.getExtension()`.
   - No counterpart for the reflective `@{type}@`, `@{scope}@`, `@{file}@`. The 
path is available only via `ArtifactManager` or `DownloadedArtifact`.
   - No plugin source or site doc in the estate uses the removed tokens; user 
POMs are unknown.
   - Tests use a record stub because `Session.createArtifact` needs an 
`InternalSession`, so no public test fixture exists for a v4 `Artifact`.
   
   **Consumers that break (compile):** maven-war-plugin 
`AbstractWarPackagingTask`; maven-ear-plugin `EarMojo`, `AbstractEarModule`. 
Both must move to the v4 `Artifact` together.
   
   **Recommendation:** port; small change and every commonly used token keeps a 
source. Keep 3.x for the Maven 3 lines of war and ear.


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