Re: [External] : Re: Annotation Dependencies and Requires Static Transitive

2021-07-06 Thread Alex Buckley
Presumably this is a javac lint warning about how types referenced from an exported API (e.g., the return type of an exported public method) should themselves be exported. It's hard to tell from https://docs.oracle.com/en/java/javase/16/docs/specs/man/javac.html#option-Xlint-custom exactly wh

Re: Annotation Dependencies and Requires Static Transitive

2021-06-07 Thread Anand Beh
Thanks to you both for the advice. Following on your suggestions, Caffeine changed to "requires static". However, javac now produces a warning about the lack of transitivity: warning: [exports] class Nullable in module org.checkerframework.checker.qual is not indirectly exported using requires tr

Re: Annotation Dependencies and Requires Static Transitive

2021-06-03 Thread Alex Buckley
Even without `transitive`, requiring modules with `static` means that anyone who habitually builds their entire stack from source will still need the errorprone and checker-qual modules at compile time. There are no "run-time only" dependencies in module declarations, unless services come into

Re: Annotation Dependencies and Requires Static Transitive

2021-06-03 Thread Remi Forax
- Mail original - > De: "Anand Beh" > À: "jigsaw-dev" > Envoyé: Jeudi 3 Juin 2021 22:10:11 > Objet: Annotation Dependencies and Requires Static Transitive > Hello, > > The cache library Caffeine recently added a full module descriptor. It >

Annotation Dependencies and Requires Static Transitive

2021-06-03 Thread Anand Beh
Hello, The cache library Caffeine recently added a full module descriptor. It has no runtime dependencies, but it depends on metadata annotations from checker-qual and errorprone, for example @NotNull and @CanIgnoreReturnValue. The module looks like this: module com.github.benmanes.caffeine { ex