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]