diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ProjectExtensionsDataBuilderImpl.groovy b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ProjectExtensionsDataBuilderImpl.groovy index 6afb017fb4b5..1b99e19277ee 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ProjectExtensionsDataBuilderImpl.groovy +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/ProjectExtensionsDataBuilderImpl.groovy @@ -64,7 +64,7 @@ class ProjectExtensionsDataBuilderImpl implements ModelBuilderService { if (value instanceof NamedDomainObjectCollection) { def objectCollection = (NamedDomainObjectCollection)value if(!objectCollection.isEmpty()) { - namedObjectTypeFqn = getType(objectCollection.first()) + namedObjectTypeFqn = getType(objectCollection.find{true}) } } result.extensions.add(new DefaultGradleExtension(name, rootTypeFqn, namedObjectTypeFqn)) 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 35a7fa4c65e6..bfed1cfe11d9 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 @@ -235,7 +235,7 @@ class DependencyResolverImpl implements DependencyResolver { Collection dependencies = resolvedMap.get(resolve(it)) if (dependencies && !dependencies.isEmpty() && it.dependencies.isEmpty()) { runtimeDependencies.remove(it) - ((AbstractExternalDependency)it).scope = dependencies.first().scope + ((AbstractExternalDependency)it).scope = dependencies.find{true}.scope } else { resolvedMap.put(resolve(it), it) @@ -449,7 +449,7 @@ class DependencyResolverImpl implements DependencyResolver { providedConfigurations.add(myProject.configurations.findByName('providedRuntime')) } providedConfigurations.each { - def (providedDependencies, resolvedProvidedFileDependencies) = resolveDependencies(it, providedScope) + def (providedDependencies, _) = resolveDependencies(it, providedScope) new DependencyTraverser(providedDependencies).each { Collection dependencies = resolvedMap.get(resolve(it)) if (!dependencies.isEmpty()) { @@ -487,13 +487,13 @@ class DependencyResolverImpl implements DependencyResolver { result.removeAll(toRemove) } else if (toRemove.size() > 1) { - toRemove.drop(1) + toRemove = toRemove.drop(1) result.removeAll(toRemove) } if(!toRemove.isEmpty()) { def retained = it - toRemove if(!retained.isEmpty()) { - def retainedDependency = retained.first() as AbstractExternalDependency + def retainedDependency = retained.find{true} as AbstractExternalDependency if(retainedDependency instanceof AbstractExternalDependency && retainedDependency.scope != 'COMPILE') { if(isCompileScope) retainedDependency.scope = 'COMPILE' else if(isProvidedScope) retainedDependency.scope = 'PROVIDED' @@ -716,7 +716,7 @@ class DependencyResolverImpl implements DependencyResolver { else if (it instanceof Dependency) { def artifactsResult = artifactMap.get(toMyModuleIdentifier(it.name, it.group)) if (artifactsResult && !artifactsResult.isEmpty()) { - def artifact = artifactsResult.first() + def artifact = artifactsResult.find{true} def packaging = artifact.extension ?: 'jar' def classifier = artifact.classifier File sourcesFile = resolveLibraryByPath(artifact.file, scope)?.source @@ -815,7 +815,7 @@ class DependencyResolverImpl implements DependencyResolver { dependency.projectDependencyArtifacts = it.allArtifacts.files.files dependency.projectDependencyArtifacts.each { resolvedDepsFiles.add(it) } if(it.artifacts.size() == 1) { - def publishArtifact = it.allArtifacts.first() + def publishArtifact = it.allArtifacts.find{true} dependency.classifier = publishArtifact.classifier dependency.packaging = publishArtifact.extension ?: 'jar' } @@ -840,7 +840,7 @@ class DependencyResolverImpl implements DependencyResolver { dependency.projectDependencyArtifacts = it.allArtifacts.files.files dependency.projectDependencyArtifacts.each { resolvedDepsFiles.add(it) } if(it.artifacts.size() == 1) { - def publishArtifact = it.allArtifacts.first() + def publishArtifact = it.allArtifacts.find{true} dependency.classifier = publishArtifact.classifier dependency.packaging = publishArtifact.extension ?: 'jar' } @@ -855,7 +855,7 @@ class DependencyResolverImpl implements DependencyResolver { def files = [] def artifacts = it.getArtifacts() if (artifacts && !artifacts.isEmpty()) { - def artifact = artifacts.first() + def artifact = artifacts.find{true} if (artifact.hasProperty("archiveTask") && (artifact.archiveTask instanceof org.gradle.api.tasks.bundling.AbstractArchiveTask)) { def archiveTask = artifact.archiveTask as AbstractArchiveTask