FindBugs and SpotBugs support the annotations. I mentioned that instead of the javax package version of the annotations for the JPMS reason mentioned by someone else earlier. That’s what we’re using in Jenkins (along with a mix of which annotation sets are used, but that’s the nature of a plugin ecosystem), and it works for downstream users, too.
On Wed, Aug 26, 2020 at 08:40 Gary Gregory <garydgreg...@gmail.com> wrote: > Does SpotBugs use these annotations? If not, can SB make use of any > > annotations? > > > > Gary > > > > On Wed, Aug 26, 2020 at 2:30 AM Romain Manni-Bucau <rmannibu...@gmail.com> > > wrote: > > > > > For what it is worth: > > > > > > 1. Generally speaking - and IMHO - these annotations only make sense in a > > > particular tooling setup(s) - like considering values which can be null > by > > > code analysis and not by spec (@NotNull) - which I'm not sure we have so > it > > > is mainly about making it consumer friendly but how do we guarantee our > > > meta are right and don't create false positives? Until we can guarantee > it, > > > it sounds like we can only bring drawbacks by adding it and users can > > > trivially solve it since if he already uses @NotNull he puts it in his > code > > > at a higher level anyway. > > > 2. Please don't use javax.annotation.* since, thanks JPMS, it can make > the > > > code not compilable on java >= 9 - a package must be owned by a single > > > module. (Not)Nullable static check is generally about the annotation > > > simple name and not the package so you can just duplicate the 1-2 > > > annotations you want in [lang], it is a saner compromise in today's > > > ecosystem. > > > > > > Romain Manni-Bucau > > > @rmannibucau <https://twitter.com/rmannibucau> | Blog > > > <https://rmannibucau.metawerx.net/> | Old Blog > > > <http://rmannibucau.wordpress.com> | Github < > > > https://github.com/rmannibucau> | > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > > > < > > > > https://www.packtpub.com/application-development/java-ee-8-high-performance > > > > > > > > > > > > > Le mer. 26 août 2020 à 01:30, Matt Sicker <boa...@gmail.com> a écrit : > > > > > > > Runtime retention still doesn’t require the annotations to be present > on > > > > the classpath unless you perform reflection on them (I forget the > > > > specifics). It’s a feature specific to annotations. > > > > > > > > On Tue, Aug 25, 2020 at 14:36 Jochen Wiedmann < > jochen.wiedm...@gmail.com > > > > > > > > wrote: > > > > > > > > > On Tue, Aug 25, 2020 at 9:08 PM sebb <seb...@gmail.com> wrote: > > > > > > > > > > > > > > > > > > > > > AFAIK that means Maven won't download the dependency. > > > > > > > > > > > Surely that makes it harder for the developer? > > > > > > > > > > > > > > > > > > > > No, it means that Maven won't add the dependency to a distribution. > > > > > > > > > > > > > > > > > > > > However, I've got a question: These annotations have > > > > > > > > > > @Retention(Runtime). (See > > > > > > > > > > > > > > > > > > > > > > > https://www.javadoc.io/doc/com.google.code.findbugs/jsr305/latest/javax/annotation/Nullable.html > > > > > .) > > > > > > > > > > Aren't we enforcing the presence of the respective jar at runtime? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Jochen > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Look, that's why there's rules, understand? So that you think before > > > > > > > > > > you break 'em. > > > > > > > > > > > > > > > > > > > > -- (Terry Pratchett, Thief of Time) > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > > > > > > > > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > > > > > > > > > > > > > > > -- > > > > Matt Sicker <boa...@gmail.com> > > > > > > > > > -- Matt Sicker <boa...@gmail.com>