Open steven-sheehy opened 6 months ago
This should have been fixed in https://github.com/freefair/gradle-plugins/commit/6aec34a188b4a55240fd50f78aedd13fc14f59b6#diff-63fae8c516a4967b0d7d6d9f377498a917d53ddd44778ae584a0c5078bed416f
Which version of the Plugin are you using?
Plugin version 8.6
I also get the same issue using 8.6 with Gradle 8.7, but on Delombok task.
- Task `:xxx:delombok` of type `io.freefair.gradle.plugins.lombok.tasks.Delombok`: invocation of 'Task.project' at execution time is unsupported.
See https://docs.gradle.org/8.7/userguide/configuration_cache.html#config_cache:requirements:use_project_during_execution
@mrozanc Can you share an example project that reproduces the problem? Or can you at least share the full stack trace for the warning?
OK, it's as simple as creating a new Java Gradle 8.7 project, adding the io.freefair.lombok
version 8.6, and put the org.gradle.configuration-cache=true
option in gradle.properties.
What you get when you run ./gradlew :delombok --stacktrace
:
And the more interresting part that you get with the actual call in the configuration cache HTML report:
Storing the configuration cache for :delombok
10 build configuration inputs were found and will cause the cache to be discarded when their value change
1 problem was found
Build configuration inputs10
Problems grouped by message1
Problems grouped by location1
⌄ ⨉invocation of Task.project
at execution time is unsupported. ?
⌄ task:delombok
of type io.freefair.gradle.plugins.lombok.tasks.Delombok
⌄ Exception
at io.freefair.gradle.plugins.lombok.tasks.Delombok.getFilteredInput(Delombok.java:137)
org.gradle.api.InvalidUserCodeException: Invocation of 'Task.project' by task ':delombok' at execution time is unsupported.
at org.gradle.api.DefaultTask.getProject(DefaultTask.java:59)
at io.freefair.gradle.plugins.lombok.tasks.Delombok.getFilteredInput(Delombok.java:137)
at io.freefair.gradle.plugins.lombok.tasks.Delombok_Decorated.getFilteredInput(Unknown Source)
at org.gradle.internal.properties.bean.DefaultPropertyWalker$CachedPropertyValue.lambda$new$0(DefaultPropertyWalker.java:107)
at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:181)
at java.base/java.lang.Thread.run(Thread.java:829)
So I would suggest this as a quick fix: https://github.com/freefair/gradle-plugins/pull/1122 (which I quickly tested using includeBuild from the above dummy project for now).
Edit: unfortunately when I try to add a test with config cache I have this limitation in the test log:
Gradle runtime: support for using a Java agent with TestKit builds is not yet implemented with the configuration cache.
Probably a similar change as in #1122 needs to be made to https://github.com/freefair/gradle-plugins/blob/2140f55daaf7834197eb4d37dc625f679538cc3c/lombok-plugin/src/main/java/io/freefair/gradle/plugins/lombok/tasks/GenerateLombokConfig.java ?
I could not reproduce your issue with :generateEffectiveLombokConfig
: :generateEffectiveLombokConfig
of type LombokConfig
(and not GenerateLombokConfig
) is a dependency of :delombok
so I executed it without any problem. You probably need to give more information if this problem persists.
I don't see the same problem I had with Delombok
in the LombokConfig
class.
Edit: your initial log mentions an "other task", probably this other task requires some adaptation.
The Lombok plugin 8.6 fails when the Gradle configuration cache is enabled and the
generateEffectiveLombokConfig
task is ran.