diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/util/DependencyResolverImpl.groovy b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/util/DependencyResolverImpl.groovy index dd6ac919a370..61c84270b301 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/util/DependencyResolverImpl.groovy +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/util/DependencyResolverImpl.groovy @@ -143,8 +143,10 @@ class DependencyResolverImpl implements DependencyResolver { Map componentResultsMap = [:]; componentResults.each { componentResultsMap.put(it.id, it) } + Set processedConfigurations = new HashSet<>() def projectDeps projectDeps = { Configuration conf, map = ArrayListMultimap.create() -> + if(!processedConfigurations.add(conf)) return map conf.incoming.dependencies.findAll { it instanceof ProjectDependency }.each { it -> map.put(toComponentIdentifier(it.group, it.name, it.version), it as ProjectDependency) projectDeps((it as ProjectDependency).projectConfiguration, map)