gnodet opened a new pull request, #12535:
URL: https://github.com/apache/maven/pull/12535

   ## Summary
   
   - Make `@After` annotation `@Repeatable` by adding an `@Afters` container 
annotation, so plugin mojos can declare multiple lifecycle ordering constraints
   - Add `AfterLink` model class to `plugin.mdo` (V4 plugin descriptor) with 
`phase`, `type`, and `scope` fields to persist `@After` data in 
`META-INF/maven/plugin.xml`
   - Update compat `MojoDescriptor` to bridge `afterLinks` between V4 and V3 
APIs
   - Apply `@After` ordering constraints in `BuildPlanExecutor.plan()` — 
translates each `AfterLink` into build step edges matching the same semantics 
as `Lifecycle.Link` processing (PROJECT, DEPENDENCIES, CHILDREN pointer types)
   
   ## Test plan
   
   - [x] `AfterAnnotationTest` — verifies `@Repeatable` behavior (single, 
multiple, container annotation, scope default)
   - [x] `MojoDescriptorTest` — verifies afterLinks getter/setter, V4↔compat 
bridging, round-trip to V4 model
   - [x] `PluginDescriptorBuilderTest` — verifies V4 format `plugin.xml` with 
`<afterLinks>` elements is parsed correctly
   - [x] `BuildPlanCreatorTest` — verifies PROJECT, DEPENDENCIES, and CHILDREN 
ordering constraints create correct build step edges
   - [x] Full reactor build passes
   
   ## Notes
   
   The annotation scanner in `maven-plugin-tools` (separate repo) does not yet 
read `@After` — that's a follow-up to emit the new `<afterLinks>` elements into 
`plugin.xml` from Java source annotations.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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