jfrog-cli icon indicating copy to clipboard operation
jfrog-cli copied to clipboard

Incompatible with Gradle configuration cache

Open trevjonez opened this issue 1 year ago • 6 comments

Describe the bug

The logic injected via init script is not compatible with gradle configuration caching.

Current behavior

Build invocation fails with the following error.

invocation of Task.project at execution time is unsupported.
  task:generateDepTrees of type com.jfrog.tasks.GenerateDepTrees

Exception at com.jfrog.tasks.GenerateDepTrees.getInputFile(GenerateDepTrees.java:65)
org.gradle.api.InvalidUserCodeException: Invocation of 'Task.project' by task ':generateDepTrees' at execution time is unsupported.
	at org.gradle.api.DefaultTask.getProject(DefaultTask.java:59)
	at com.jfrog.tasks.GenerateDepTrees.getInputFile(GenerateDepTrees.java:65)
	at com.jfrog.tasks.GenerateDepTrees_Decorated.getInputFile(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:840)
⌄Exception at com.jfrog.tasks.GenerateDepTrees.getRelatedProjects(GenerateDepTrees.java:128)
org.gradle.api.InvalidUserCodeException: Invocation of 'Task.project' by task ':generateDepTrees' at execution time is unsupported.
	at org.gradle.api.DefaultTask.getProject(DefaultTask.java:59)
	at com.jfrog.tasks.GenerateDepTrees.getRelatedProjects(GenerateDepTrees.java:128)
	at com.jfrog.tasks.GenerateDepTrees.getOutputFiles(GenerateDepTrees.java:80)
	at com.jfrog.tasks.GenerateDepTrees_Decorated.getOutputFiles(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:840)
⌄Exception at com.jfrog.tasks.GenerateDepTrees.getRelatedProjects(GenerateDepTrees.java:131)
org.gradle.api.InvalidUserCodeException: Invocation of 'Task.project' by task ':generateDepTrees' at execution time is unsupported.
	at org.gradle.api.DefaultTask.getProject(DefaultTask.java:59)
	at com.jfrog.tasks.GenerateDepTrees.getRelatedProjects(GenerateDepTrees.java:131)
	at com.jfrog.tasks.GenerateDepTrees.getOutputFiles(GenerateDepTrees.java:80)
	at com.jfrog.tasks.GenerateDepTrees_Decorated.getOutputFiles(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:840)

Reproduction steps

Attempt to run with the configuration cache enabled.

Expected behavior

injected build logic shouldn't fail built in validation for configuration cache. https://docs.gradle.org/8.8/userguide/configuration_cache.html#config_cache:requirements:use_project_during_execution

likely to set you on a path toward supporting project isolation eventually as well. https://docs.gradle.org/current/userguide/isolated_projects.html

JFrog CLI version

2.53.2

Operating system type and version

linux

JFrog Artifactory version

No response

JFrog Xray version

No response

trevjonez avatar Jul 11 '24 15:07 trevjonez