ppkarwasz commented on issue #3870:
URL: 
https://github.com/apache/logging-log4j2/issues/3870#issuecomment-3158507980

   > The SPI to replace this should allow for registering strategies on how to 
extract a qualifier name and aliases from an injection point. The resulting 
plugin annotations should therefore no longer be meta-annotated with 
implementation details.
   
   A SPI for registering strategies to extract a qualifier name and aliases 
from an injection point sounds like a solid approach. Right now, plugin 
annotations are still tightly coupled to the providers that interpret them. 
That link not only made it harder to split `log4j-plugins` from `log4j-core`, 
but also makes it impossible to create a `log4j-plugins-annotation` module 
containing only the annotations, independent from `log4j-plugins`. (Validators 
have the same issue.)
   
   I’m not entirely clear on the connection between the meta-annotated 
annotations and `Key`. I agree that anonymous `Key` subtypes make GraalVM 
support more cumbersome (since each one has to be listed in 
`reflect-config.json`) and I don’t see a tangible benefit over using the `Key` 
builder. From a compile-time perspective, though, they should still be 
discoverable via an annotation processor using 
[`RoundEnvironment.getRootElements()`](https://docs.oracle.com/en/java/javase/17/docs/api/java.compiler/javax/annotation/processing/RoundEnvironment.html#getRootElements%28%29),
 correct?
   


-- 
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: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to