[Gradle] Implement IdeaKotlinProjectArtifactDependency.Resolver.composite
KT-55112
This commit is contained in:
committed by
Space Team
parent
273f8a8434
commit
2c55d2cea3
+15
@@ -21,6 +21,13 @@ data class IdeaKotlinProjectArtifactDependency(
|
||||
fun byName(resolveSourceSetName: (IdeaKotlinProjectArtifactDependency) -> String?): Resolver {
|
||||
return DefaultProjectArtifactDependencyResolver(resolveSourceSetName)
|
||||
}
|
||||
|
||||
fun composite(vararg resolver: Resolver?) =
|
||||
composite(resolver.toList())
|
||||
|
||||
fun composite(resolvers: Iterable<Resolver?>): Resolver =
|
||||
CompositeProjectArtifactDependencyResolver(resolvers.filterNotNull())
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,3 +54,11 @@ private class DefaultProjectArtifactDependencyResolver(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private class CompositeProjectArtifactDependencyResolver(
|
||||
private val resolvers: List<IdeaKotlinProjectArtifactDependency.Resolver>
|
||||
) : IdeaKotlinProjectArtifactDependency.Resolver {
|
||||
override fun resolve(dependency: IdeaKotlinProjectArtifactDependency): IdeaKotlinSourceDependency? {
|
||||
return resolvers.firstNotNullOfOrNull { resolver -> resolver.resolve(dependency) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user