vertx-codegen
vertx-codegen copied to clipboard
Processor yield NPE under some circonstancies
Questions
When using IntelliJ > 2020.2.4 the build fails with NPE in the CodeGenProcessor. This sound very much like an intelliJ issue however their investigation seem to aim for a lack of robustness in some processor implementations. Here is the ticket I filled in at IntelliJ' support : https://youtrack.jetbrains.com/issue/IDEA-258659 This other ticket may be of interest too: https://youtrack.jetbrains.com/issue/IDEA-257871
Version 3.5.3
Context
Problem ocurred while uprading from IntelliJ 2020.2.4 to 2020.3
Do you have a reproducer?
The following sample project builds againts intelliJ 2020.2.4 and not against 2020.3
- https://github.com/ngmip/IDEA-258659
Steps to reproduce
- clone repo
- build -> rebuild project
Extra
- windows 10 pro
- oracle jdk8u201
- For those who are looking for a workround, in the link I provided above, they explained how to configure the
-Djps.track.ap.dependencies=false
flag, this worked for me.
I don't know the internals of the Vert.x code generator. However, I can give my insight as a maintainer of another Annotation Processor that had same problems with IDEA 2020.3. I think that the most relevant issue is IDEA-250718. It talks about MapStruct, but the concepts are the same.
Can you paste the NPE you observed in this issue ?
I could not find a way to get the stacktrace. IntelliJ just yield the message :
C:_JAVA\IDEA-258659\src\main\java\com\tmgateway\message\api\proxy\IncomingMessageService.java:16:8 java: Could not generate element for com.tmgateway.message.api.proxy.IncomingMessageService: null
I tried to increase the log level of intelliJ and checked the build.log file but the exception is not visible there :-/
I think I found many (or all) NPE points in the GenCode. I added two commits in #325