franzbecker / gradle-lombok

Gradle plugin for Lombok support
Apache License 2.0
182 stars 22 forks source link

Plugin breaks annotation processing during compilation (since 1.12) #53

Closed BrainStone closed 5 years ago

BrainStone commented 6 years ago

I've noticed that the versions 1.12 through 1.14 are breaking annotation processing during compilation.

An example where I came across this issue is while trying to develop a Sponge plugin. The @Plugin annotation causes the jar to have a mcmod.info file included. When I compile with gradle-lombok 1.11, everything works as intended, but with 1.12-1.14 the annotation processing is broken and the file is missing from the jar.

I've created a minimal test project that showcases the issue. I've also included the SpongeGradle plugin. It's commented out, but I included it just in case having it enabled also shouldn't break it. Having it enabled should yield the exact same result as having it disabled, the way I set it up.

SpongeTest.zip

franzbecker commented 5 years ago

Is this still an issue for you?

franzbecker commented 5 years ago

Hi @BrainStone . I downloaded your example and can see that it's not working. Unfortunately I don't understand exactly what this Sponge plugin does.

The reason we had this breaking change (from 1.12 - should have gone to 2.0 then, sorry for that) is that Gradle introduced a new mechanism of registering annotation processors. On a quick look it seems that the Sponge plugin should adapt as well as this does not look like the way to go (at least to me): https://github.com/SpongePowered/SpongeGradle/blob/0.9.0/src/main/groovy/org/spongepowered/gradle/plugin/SpongePluginBasePlugin.groovy

They have an open issue supporting Gradle 5, maybe once this is resolved you can upgrade the Lombok plugin again. See https://github.com/SpongePowered/SpongeGradle/issues/19

Sorry for the inconvenience.