> > Big +1 for moving this to separate CI job. I really don't like what > annotations are currently added to the code we ship. Tools like Idea add > these annotations to code they generate when overriding classes and that's > very annoying. Users should not be exposed to internal tools like > nullability checking.
I was only planning on moving this to a separate CI job. The job would still be release blocking, so the same annotations would still be required. I'm not sure which annotations you are concerned about. There are two annotations involved with nullness checking, @SuppressWarnings and @Nullable. @SuppressWarnings has retention policy SOURCE, so it shouldn't be exposed to users at all. @Nullable is not just for internal tooling, it also provides useful information about our APIs to users. The user should not have to guess whether a method argument etc. can be null or not, and for better or worse, these annotations are the standard way of expressing that in Java. >