Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
gayanper opened this issue Apr 15, 2022 · 4 comments
Open

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

gayanper opened this issue Apr 15, 2022 · 4 comments

Comments

@gayanper
Copy link

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
Copy link
Member

J-N-K commented Apr 15, 2022

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

@agentgt
Copy link

agentgt commented Apr 16, 2022

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
Copy link
Member

J-N-K commented Apr 17, 2022

"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
Copy link

agentgt commented Apr 18, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants