Skip to content

(Gradle 6.8) PreResolvedResolvableArtifact causes MissingMethodException. #125

@ibzib

Description

@ibzib

We are trying to enable the plugin on a multi-project build (for https://github.com/apache/beam). We have also recently upgraded from Gradle 6.7 to 6.8. The following error occurs in Gradle 6.8, but not Gradle 6.7:

$ ./gradlew :foo:analyzeClassesDependencies --stacktrace
...
Caused by: groovy.lang.MissingMethodException: No signature of method: ca.cutterslade.gradle.analyze.AnalyzeDependenciesTask$_action_closure3$_closure8.doCall() is applicable for argument types: (org.gradle.api.internal.artifacts.PreResolvedResolvableArtifact) values: [beam-bar.jar (project :bar)]
Possible solutions: findAll(), findAll(), isCase(java.lang.Object), isCase(java.lang.Object)
        at ca.cutterslade.gradle.analyze.AnalyzeDependenciesTask$_action_closure3.doCall(AnalyzeDependenciesTask.groovy:52)
        at ca.cutterslade.gradle.analyze.AnalyzeDependenciesTask.action(AnalyzeDependenciesTask.groovy:48)

This happens when we have projects foo and bar, where foo depends on bar but does not use it. The expected error, which we got when using Gradle 6.7, is that bar is in unusedDeclaredArtifacts.

It looks like the task assumes strictly DefaultResolvedArtifact, which should probably be ResolvedArtifact.

https://github.com/wfhartford/gradle-dependency-analyze/blob/7f2f14f592736b564f046f69861a53f87a06a93c/src/main/groovy/ca/cutterslade/gradle/analyze/AnalyzeDependenciesTask.groovy#L52

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions