The Java Library Plugin documentation refers to „public annotation types“ in its guidelines for recognizing
I searched pretty hard. But I have not been able to find any such annotations anywhere.
I’m assuming the docs mean annotations that —when used on a particular library’s public members— consumers of that library would be required to include in their class path, when the consumer compiles their code to use the library.
My understanding is that the very nature of annotations means that if I implement my library using whatever annotations, then those annotations would always be invisible to consumers of my library.
So what is the Gradle documentation talking about then? I’m not seeing how an annotation could be an
api dependency. One where a consumer of my library would be required to transitively depend on the same annotation in order for that consumer to compile their code against my library.
I guess I have completely misunderstood annotations then, reading the Gradle docs as they are currently written.
Please, can anybody point me to any examples of those „public annotation types“ that the Gradle docs are talking about? Thanks.