lastnpe / eclipse-null-eea-augments

Eclipse External null Annotations (EEA) repository
http://lastnpe.org
Eclipse Public License 2.0
41 stars 22 forks source link

[question] consideration to move under eclipse umbrella ? #151

Open gayanper opened 2 years ago

gayanper commented 2 years ago

Have we considered to move this project under eclipse project umbrella ? Having it under eclipse and available to be included as part of Eclipse update site will also make it easy to be discovered and could implement features to suggest this plugin installation as well.

J-N-K commented 2 years ago

Since Eclipse turned down full support for EEA, I doubt they are interested in incorporating this project.

agentgt commented 2 years ago

Since Eclipse turned down full support for EEA, I doubt they are interested in incorporating this project.

@J-N-K Where did you read that or how do you know that? Do you mean they don't want to support annotating the JDK and other libs or do you mean they don't want to fully support null analysis in general?

J-N-K commented 2 years ago

"Turned down" may be a little bit harsh. But considering the comments here and the missing comments here I came to the conclusion that there is no interest in supporting EEAs properly.

agentgt commented 2 years ago

Yeah the support for null analysis in general at times appears to be dwindling (at other times it looks fine) and makes me sort of concerned that Stephan (stephan-herrmann) is basically the only one it appears that knows how it all works (its not a critique but just a reality).

With the exception of the whole @PolyNull support it generally works great provided you don't use new features of the JDK like records. To be honest PolyNull is in my opinion something that libraries should avoid anyway and the JDK could easily fix this with methods that don't do that (e.g. require the return be non null). Guava does this with its Optional vs the JDKs (orElse vs orNull).

Besides I'm not even sure if JSpecify will release with PolyNull support or nonnull eventually (lazy). Pinging @kevinb9n.

What really concerns me is continued support of the developing Java language as well as working to support whatever JSpecify comes up with. Or at least have a better relation w/ them in that regard.

Currently Records are very much broken as well as I believe some of the new switch expression support. That being said it looks like Stephen has been pumping out some fixes!

Furthermore the JDT Eclipse codebase is really hard to get involved in. The barrier of entry compared to your normal Github project is exceptionally high from almost every angle especially bugs (bugzilla ... I wish I could say good things about it). Its shockingly difficult to find even the github repo which I assume is a mirror? Its probably not that bad but just old doc that is confusing.

Anyway....

Eclipse could be the easiest and mostly widely used null analysis tool for Java. Honestly it is a lot easier to get it working than the others. I assume a great deal of lack of uptake is intellij.

Checker and Errorprone could be severely limited in the future (maybe currently) if the JDK just decides to lock up the internal APIs they are using. Eclipse on the other hand does not have this problem as it has its own compiler (I think FB infer is the only other one that doesn't rely on internal compiler api). Eclipse is also very fast as we all the other good things about it (incremental).

And finally I think Eclipse External Annotations is one of the best of the bunch that does this. Its really painful to annotate an existing library with Checker.