gradle-versions-plugin icon indicating copy to clipboard operation
gradle-versions-plugin copied to clipboard

"Failed to resolve" when using in multi-module project and gradle 5.6

Open sunilson opened this issue 6 years ago • 20 comments

When I start the task in the root project, I get these errors before the report is generated:

Failed to resolve :module1:debugAndroidTestCompileClasspath
Failed to resolve :module1:debugCompileClasspath
Failed to resolve :module1:debugUnitTestCompileClasspath
Failed to resolve :module1:releaseCompileClasspath
Failed to resolve :module1:releaseUnitTestCompileClasspath
Failed to resolve :module2:debugAndroidTestCompileClasspath
Failed to resolve :module2:debugCompileClasspath
Failed to resolve :module2:debugUnitTestCompileClasspath
Failed to resolve :module2:releaseCompileClasspath
Failed to resolve :module2:releaseUnitTestCompileClasspath
....

I am defining my dependencies in a buildSrc module via the Kotlin dsl and then use those defined dependencies in all other modules. Could this cause that error? Is this a known error and can it be fixed?

Thanks!

sunilson avatar Aug 22 '19 08:08 sunilson

You probably need to look at the debug log (—debug) and ensure you’re on the latest version of this plugin. That should hint to the underlying failure.

ben-manes avatar Aug 22 '19 14:08 ben-manes

@ben-manes I have the Failed to resolve errors in a project that do pretty advanced multi-project stuff here https://github.com/LouisCAD/Splitties/pull/206

> Task :dependencyUpdates
Failed to resolve :tests:debugAndroidTestCompileClasspath
Failed to resolve :tests:debugCompileClasspath
Failed to resolve :tests:debugUnitTestCompileClasspath
Failed to resolve :tests:releaseCompileClasspath
Failed to resolve :tests:releaseUnitTestCompileClasspath
... much more

The report.json contains then only 39 dependencies while the project has much more than that. The buildScan finds 157 dependencies resolved in 57 projects across 14472 configurations from 7 repositories, 35 dependencies failed to resolve

I have it here as gist https://gist.github.com/jmfayard/8e23c0a3c7a531e2db5a34408926d500

And the build scan, with and without --debug

https://scans.gradle.com/s/zf2bjekli6vgi

https://scans.gradle.com/s/b3xr52x752lrw

It uses my plugin version 0.4.2, which means your plugin version 0.22.0

Could you have a look?

jmfayard avatar Aug 28 '19 10:08 jmfayard

It looks like a bad assumption with dependency constraints, which I have not used before. We copy the original configuration before mucking around with dependency versions. Gradle treats this like a detached configuration, but constraints are looking it up strictly and failing. I don’t know if it is a bug in Gradle, Android, or your build logic being too restrictive.

Failed to resolve :tests:debugAndroidTestCompileClasspath
org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'debugAndroidTestCompileClasspathCopy' not found.
...
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyConstraintHandler.add(DefaultDependencyConstraintHandler.java:63)
        at com.android.build.gradle.internal.dependency.ConstraintHandler.execute(ConstraintHandler.kt:51)

ben-manes avatar Aug 28 '19 15:08 ben-manes

Same here:

Failed to resolve :app:releaseUnitTestCompileClasspath
org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'releaseUnitTestCompileClasspathCopy' not found.
        at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.createNotFoundException(DefaultConfigurationContainer.java:159)
        at org.gradle.api.internal.DefaultNamedDomainObjectCollection.getByName(DefaultNamedDomainObjectCollection.java:332)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.getByName(DefaultConfigurationContainer.java:149)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.getByName(DefaultConfigurationContainer.java:62)
        at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyConstraintHandler.add(DefaultDependencyConstraintHandler.java:63)

It is a pretty standard Android project with 20 modules. We are working on more projects and all are now suffering with these exceptions.

xsveda avatar Aug 29 '19 04:08 xsveda

Is this Gradle version specific? Can you try a few versions to see if it’s a regression on their end?

ben-manes avatar Aug 29 '19 04:08 ben-manes

Same with Android plugin versions I suppose.

ben-manes avatar Aug 29 '19 04:08 ben-manes

I suspect this is related to Gradle metadata, especially when using dependencies that publish gradle metadata.

On Thu, Aug 29, 2019, 06:51 Ben Manes [email protected] wrote:

Same with Android plugin versions I suppose.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ben-manes/gradle-versions-plugin/issues/326?email_source=notifications&email_token=ABVG6BNZ7T3KY6HYLPDTR5TQG5IWZA5CNFSM4IOSCOS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5NHFKQ#issuecomment-526021290, or mute the thread https://github.com/notifications/unsubscribe-auth/ABVG6BJE2VKDO3HATAUX6TLQG5IWZANCNFSM4IOSCOSQ .

LouisCAD avatar Aug 29 '19 06:08 LouisCAD

I tried to gradually revert back to Gradle 5.2 / AGP 3.3 / Versions Plugin 0.18.0 but still seeing the errors.

xsveda avatar Aug 29 '19 06:08 xsveda

I think you’re best option is to have the Android and Gradle teams debug this. It looks like an oversight on how constraints and configuration copying interacts.

https://android.googlesource.com/platform/tools/base/+/studio-master-dev/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dependency/ConstraintHandler.kt

ben-manes avatar Aug 29 '19 07:08 ben-manes

Similar on my end, can't resolve the gradle modules on latest version and gradle 5.6. I get:

13:12:45.981 [ERROR] [org.gradle.api.Project] Failed to resolve :modules:whatever:testDebugRuntimeOnly
roovy.lang.MissingMethodException: No signature of method: com.github.benmanes.gradle.versions.updates.resolutionstrategy.ComponentSelectionRulesWithCurrent.configureEach() is applicable for argument types: (build_4sy0x8wtrbzad6tzhju8iew4w$_run_closure5$_closure17$_closure18) values: [build_4sy0x8wtrbzad6tzhju8iew4w$_run_closure5$_closure17$_closure18@709d7d23]

k3muri84 avatar Sep 02 '19 11:09 k3muri84

@echorebel that’s a different issue, please open a new bug (cc @ghus-raba)

ben-manes avatar Sep 02 '19 13:09 ben-manes

@ben-manes i think it's related or the same. I also get

Failed to resolve :module1
Failed to resolve :module2
...

the Error i posted is just further down int the log with debug flag on

k3muri84 avatar Sep 05 '19 14:09 k3muri84

@echorebel Can you try the latest version of the resolutionStrategy in the readme? We had a typo which might be to blame. If you can show your snippet in the build it could be an easy fix

ben-manes avatar Sep 05 '19 15:09 ben-manes

@ben-manes tried, thx i get again the report and it looks fine. Still get the Failed to resolve :.. though and execution time was quite high: - 11m

k3muri84 avatar Sep 11 '19 12:09 k3muri84

I have noticed that some repositories, like Sonatype’s snapshots repo, will rate limit queries and slow down resolution. Gradle now lets you specify that a repository only applies to certain artifacts to speed up searches. You might look at the info/debug logs if it becomes frustrating.

ben-manes avatar Sep 11 '19 14:09 ben-manes

Hello @ben-manes , I have to report the same errors as @jmfayard : I have a multi-modules Android-kotlin project, in which I keep all dependencies paths as constants in the buildSrc module. I set up the gradle-versions-plugin in my Android (kotlin) project-level gradle file (applying the dependency and the plugin) I have the following Failed to resolve errors for each module :debugAndroidTestCompileClasspath :debugCompileClasspath :debugUnitTestCompileClasspath :releaseCompileClasspath :releaseUnitTestCompileClasspath Gradle version is 6.0

Sadly, I am not yet fluent enough with Gradle to investigate this further alone, but feel free to direct me in any direction that might help if you need more inforation :)

shining-cat avatar Nov 15 '19 15:11 shining-cat

I have the same problem, but in a really simple Java library/application, nothing fancy going on with sub-projects etc.:

> Task :dependencyUpdates
Failed to resolve ::annotationProcessor
Failed to resolve ::api
Failed to resolve ::apiElements
Failed to resolve ::archives
Failed to resolve ::compile
Failed to resolve ::compileClasspath
Failed to resolve ::compileOnly
Failed to resolve ::default
Failed to resolve ::implementation
Failed to resolve ::runtime
Failed to resolve ::runtimeClasspath
Failed to resolve ::runtimeElements
Failed to resolve ::runtimeOnly
Failed to resolve ::shadow
Failed to resolve ::testAnnotationProcessor
Failed to resolve ::testCompile
Failed to resolve ::testCompileClasspath
Failed to resolve ::testCompileOnly
Failed to resolve ::testImplementation
Failed to resolve ::testRuntime
Failed to resolve ::testRuntimeClasspath
Failed to resolve ::testRuntimeOnly
Failed to resolve ::classpath

------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------

No dependencies found.

Gradle release-candidate updates:
 - Gradle: [6.5 -> 6.5.1 -> 6.6-rc-4]

I can reproduce this in another project as well, this time with Gradle 6.3.

piegamesde avatar Aug 02 '20 19:08 piegamesde

You can check the info log (--info) as likely there is an exception causing the resolution to fail.

ben-manes avatar Aug 02 '20 19:08 ben-manes

Thanks for the quick reply. I was using an old version of the plugin (and it obviously couldn't tell me that it was outdated). On the latest version, everything works fine (even on a multi-module project). But if you're still interested, this was the exception (thrown for every "Failed to resolve"):

org.gradle.api.InvalidUserCodeException: The closure provided is not valid as a rule for 'ComponentSelectionRules'.
	at org.gradle.internal.rules.DefaultRuleActionAdapter.createFromClosure(DefaultRuleActionAdapter.java:42)
	at org.gradle.api.internal.artifacts.ivyservice.resolutionstrategy.DefaultComponentSelectionRules.all(DefaultComponentSelectionRules.java:93)
	at org.gradle.api.artifacts.ComponentSelectionRules$all.call(Unknown Source)
	at com.github.benmanes.gradle.versions.updates.Resolver$_addRevisionFilter_closure5$_closure10.doCall(Resolver.groovy:153)
	at jdk.internal.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)
	at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:122)
	at com.sun.proxy.$Proxy64.execute(Unknown Source)
	at org.gradle.api.internal.artifacts.ivyservice.resolutionstrategy.DefaultResolutionStrategy.componentSelection(DefaultResolutionStrategy.java:271)
	at jdk.internal.reflect.GeneratedMethodAccessor402.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:200)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at com.github.benmanes.gradle.versions.updates.Resolver$_addRevisionFilter_closure5.doCall(Resolver.groovy:152)
	at jdk.internal.reflect.GeneratedMethodAccessor379.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:71)
	at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:154)
	at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:105)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolutionStrategy(DefaultConfiguration.java:1062)
	at org.gradle.api.artifacts.Configuration$resolutionStrategy$2.call(Unknown Source)
	at com.github.benmanes.gradle.versions.updates.Resolver.addRevisionFilter(Resolver.groovy:151)
	at jdk.internal.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176)
	at com.github.benmanes.gradle.versions.updates.Resolver.createLatestConfiguration(Resolver.groovy:126)
	at jdk.internal.reflect.GeneratedMethodAccessor377.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176)
	at com.github.benmanes.gradle.versions.updates.Resolver.resolve(Resolver.groovy:75)
	at com.github.benmanes.gradle.versions.updates.Resolver$resolve.call(Unknown Source)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates.resolve(DependencyUpdates.groovy:77)
	at jdk.internal.reflect.GeneratedMethodAccessor375.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates$_resolveProjects_closure6$_closure10.doCall(DependencyUpdates.groovy:70)
	at jdk.internal.reflect.GeneratedMethodAccessor374.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3574)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3559)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3659)
	at org.codehaus.groovy.runtime.dgm$87.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates$_resolveProjects_closure6.doCall(DependencyUpdates.groovy:69)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at groovy.lang.Closure.call(Closure.java:405)
	at groovy.lang.Closure.call(Closure.java:421)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3574)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3559)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3659)
	at org.codehaus.groovy.runtime.dgm$87.invoke(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates.resolveProjects(DependencyUpdates.groovy:66)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates.run(DependencyUpdates.groovy:54)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdates$run.call(Unknown Source)
	at com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask.dependencyUpdates(DependencyUpdatesTask.groovy:71)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:727)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:694)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
	at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
	at java.base/java.util.Optional.map(Optional.java:258)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: org.gradle.internal.rules.RuleActionValidationException: Rule may not have an input parameter of type: org.gradle.api.artifacts.ComponentMetadata.
	at org.gradle.internal.rules.DefaultRuleActionValidator.validateInputTypes(DefaultRuleActionValidator.java:49)
	at org.gradle.internal.rules.DefaultRuleActionValidator.validate(DefaultRuleActionValidator.java:42)
	at org.gradle.internal.rules.DefaultRuleActionAdapter.createFromClosure(DefaultRuleActionAdapter.java:40)
	... 213 more

piegamesde avatar Aug 02 '20 20:08 piegamesde

Rule may not have an input parameter of type: org.gradle.api.artifacts.ComponentMetadata.

That sounds like #270 (fixed in v22), if by chance you were on a version prior to Gradle 6 compatibility.

I was using an old version of the plugin (and it obviously couldn't tell me that it was outdated)

If no error occurs, it actually does! 😄

ben-manes avatar Aug 02 '20 20:08 ben-manes