Lombok Eclipse IDE integration breaks APT in Neon 1 #1218

Closed
ghost opened this Issue Oct 27, 2016 · 3 comments

Projects

None yet

1 participant

@ghost
ghost commented Oct 27, 2016

When installing the Eclipse IDE integration with the lombok installer (1.16.10), the APT aspect of Eclipse gets broken. Witnessed symptoms are no code generation for Dagger 2, for example. I have uploaded a pastebin of the error stacktrace from my .metadata/.log here:

http://pastebin.com/Z5whqAtb

Additionally I have produced an SSCCE that demonstrates the problem with a clean install of Eclipse Neon 1 with nothing but Lombok 1.16.10 installed:

https://bitbucket.org/Twisti/lombok-neon-apt/src/c37c6c0b9a6c6075456ebf1df50c477de8c9bb27/eclipse-apt-problem/?at=master

Project is at https://bitbucket.org/Twisti/lombok-neon-apt

Compiling the project manually with Maven works perfectly fine.

Let me know if you need any additional details please.

@rspilker rspilker added a commit that referenced this issue Nov 7, 2016
@rspilker rspilker [issue #1218] Annotation Processors that have an (internal) dependenc…
…y on ecj (google's dagger project has this, don't know of any others), when run inside eclipse, bombs with a LinkageError. Fixed.
192c569
@rzwitserloot
Owner

Here's the thing: Dagger has a dep on googlejavaformat, which has a dep on... ecj.

Which lombok sees and goes: Oooh! I have to lombokize it!

Which doesn't work well. And isnt needed. The fix is to realize that this particular ecj is an internal dep of some annotation processor being run 'in process' in eclipse, and then.. not lombokize it at all.

@rspilker 's recent commit is our work on doing just that. Seems to work now :)

NB: I'm not aware of any commonly used annotation processor that internally depends on ecj other than dagger, so presumably this is an eclipse+Dagger+lombok specific issue.

@rzwitserloot
Owner

There's an edge release out with the fix for this. Mind giving it a spin?

https://projectlombok.org/download-edge.html

@rzwitserloot rzwitserloot added the parked label Nov 7, 2016
@ghost
ghost commented Nov 8, 2016

This appears to have fixed the issue. Dagger code is now generated the way it used to be. Thanks!

@ghost ghost closed this Nov 8, 2016
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment