-
Notifications
You must be signed in to change notification settings - Fork 0
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
Document how this generates/updates EEAs - from what? #268
Comments
The EEA Generator can scan classes using ClassGraph and output EEA files containing signatures of all methods and fields. It contains some heuristic to mark fields nullable/non-null either based on different annotations (see no-npe/eea-generator/src/main/java/com/vegardit/no_npe/eea_generator/internal/ClassGraphUtils.java Lines 24 to 80 in 549ccd9
no-npe/eea-generator/src/main/java/com/vegardit/no_npe/eea_generator/EEAGenerator.java Lines 213 to 318 in 549ccd9
The idea now is that when a library is updated, e.g. classes are added/removed etc. You rerun the Generator which scans the classes and also reads the EEAs that were generated (and potentially modified) before and then re-applies those EEAs before it writes the updated EEA files. I hope that makes sense :-) |
Or not here anymore, but over on https://github.com/lastnpe/eclipse-null-eea-augments, after lastnpe/eclipse-null-eea-augments#168 is merged... |
At least partially done in lastnpe/eclipse-null-eea-augments@77a4946 already, it seems. |
Let's discuss things in the LastNPE repo. |
@sebthom 👋 Hi!
I've (finally, never had any time before) had a slightly closer look at this repo only just today. The README says:
and
First of all, Thank You for the ACK.
I was trying to better understand, and then perhaps contribute a PR here to share that understanding, of how this actually works... but I haven't really figured out yet what this reads as input source to generate EEAs from? (And I admit that I haven't looked at its source code to just figure it out.)
The text was updated successfully, but these errors were encountered: