AndroidDependencyResolver: when operating without Android IDE plugin, don't duplicate dependencies for Android sourcesets
This commit is contained in:
@@ -32,6 +32,9 @@ import org.jetbrains.plugins.gradle.tooling.util.SourceSetCachedFinder
|
|||||||
import org.jetbrains.plugins.gradle.tooling.util.resolve.DependencyResolverImpl
|
import org.jetbrains.plugins.gradle.tooling.util.resolve.DependencyResolverImpl
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.reflect.Method
|
import java.lang.reflect.Method
|
||||||
|
import kotlin.collections.ArrayList
|
||||||
|
import kotlin.collections.HashMap
|
||||||
|
import kotlin.collections.LinkedHashSet
|
||||||
|
|
||||||
class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
||||||
override fun getErrorMessageBuilder(project: Project, e: Exception): ErrorMessageBuilder {
|
override fun getErrorMessageBuilder(project: Project, e: Exception): ErrorMessageBuilder {
|
||||||
@@ -615,6 +618,13 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
androidDeps: Map<String, List<Any>>?
|
androidDeps: Map<String, List<Any>>?
|
||||||
): List<KotlinDependency> {
|
): List<KotlinDependency> {
|
||||||
return ArrayList<KotlinDependency>().apply {
|
return ArrayList<KotlinDependency>().apply {
|
||||||
|
buildAndroidSourceSetDependencies(androidDeps, gradleSourceSet).let {
|
||||||
|
if (it.isNotEmpty()) {
|
||||||
|
this += it
|
||||||
|
return@apply
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val transformationBuilder = MetadataDependencyTransformationBuilder(gradleSourceSet)
|
val transformationBuilder = MetadataDependencyTransformationBuilder(gradleSourceSet)
|
||||||
this += buildDependencies(
|
this += buildDependencies(
|
||||||
gradleSourceSet, dependencyResolver, "getApiMetadataConfigurationName", "COMPILE", project, transformationBuilder
|
gradleSourceSet, dependencyResolver, "getApiMetadataConfigurationName", "COMPILE", project, transformationBuilder
|
||||||
@@ -628,8 +638,6 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
this += buildDependencies(
|
this += buildDependencies(
|
||||||
gradleSourceSet, dependencyResolver, "getRuntimeOnlyMetadataConfigurationName", "RUNTIME", project, transformationBuilder
|
gradleSourceSet, dependencyResolver, "getRuntimeOnlyMetadataConfigurationName", "RUNTIME", project, transformationBuilder
|
||||||
).onlyNewDependencies(this)
|
).onlyNewDependencies(this)
|
||||||
|
|
||||||
this += buildAndroidSourceSetDependencies(androidDeps, gradleSourceSet)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user