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

   ## Summary
   
   `ModelParser`, `SettingsParser`, and `PropertyContributor` are consumed as 
`Map<String, T>` by their respective implementations:
   
   - `ModelParser` → `DefaultModelProcessor(Map<String, ModelParser>)`
   - `SettingsParser` → `DefaultSettingsBuilder(Map<String, SettingsParser>)`
   - `PropertyContributor` → `PropertyContributorsHolder(Map<String, 
PropertyContributor>)`
   
   The map key is the `@Named` value declared on the **implementation class**. 
This means:
   
   1. Implementations **must** annotate their class with `@Named("unique-id")`
   2. The name must be globally unique across all extensions — collisions 
silently overwrite each other
   
   Previously these interfaces carried `@Named` themselves, but that annotation 
has no effect on interfaces: the DI framework does not generate a binding index 
for `maven-api-spi`, and `getDeclaredAnnotations()` does not traverse 
interfaces. The interface-level `@Named` was removed in a companion PR (#13880).
   
   This PR adds a Javadoc paragraph to each of the three affected interfaces 
making the requirement explicit for implementors.
   
   ## Related
   
   - #13880 — removes `@Named` from all SPI interfaces


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