Pill: Refactoring, introduce a generic predicate in DependencyMapper
This commit is contained in:
@@ -4,12 +4,26 @@ package org.jetbrains.kotlin.pill
|
|||||||
import org.gradle.api.artifacts.*
|
import org.gradle.api.artifacts.*
|
||||||
|
|
||||||
class DependencyMapper(
|
class DependencyMapper(
|
||||||
val group: String,
|
val predicate: (ResolvedDependency) -> Boolean,
|
||||||
val module: String,
|
|
||||||
vararg val configurations: String,
|
vararg val configurations: String,
|
||||||
val version: String? = null,
|
|
||||||
val mapping: (ResolvedDependency) -> MappedDependency?
|
val mapping: (ResolvedDependency) -> MappedDependency?
|
||||||
)
|
) {
|
||||||
|
constructor(
|
||||||
|
group: String,
|
||||||
|
module: String,
|
||||||
|
vararg configurations: String,
|
||||||
|
version: String? = null,
|
||||||
|
mapping: (ResolvedDependency) -> MappedDependency?
|
||||||
|
) : this(
|
||||||
|
{ dep ->
|
||||||
|
dep.moduleGroup == group
|
||||||
|
&& dep.moduleName == module
|
||||||
|
&& (version == null || dep.moduleVersion == version)
|
||||||
|
},
|
||||||
|
configurations = *configurations,
|
||||||
|
mapping = mapping
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
class MappedDependency(val main: PDependency?, val deferred: List<PDependency> = emptyList())
|
class MappedDependency(val main: PDependency?, val deferred: List<PDependency> = emptyList())
|
||||||
|
|
||||||
|
|||||||
@@ -363,11 +363,7 @@ private fun ParserContext.parseDependencies(project: Project, forTests: Boolean)
|
|||||||
val dependency = (dependencyInfo as DependencyInfo.ResolvedDependencyInfo).dependency
|
val dependency = (dependencyInfo as DependencyInfo.ResolvedDependencyInfo).dependency
|
||||||
|
|
||||||
for (mapper in dependencyMappers) {
|
for (mapper in dependencyMappers) {
|
||||||
if (dependency.moduleGroup == mapper.group
|
if (dependency.configuration in mapper.configurations && mapper.predicate(dependency)) {
|
||||||
&& dependency.moduleName == mapper.module
|
|
||||||
&& dependency.configuration in mapper.configurations
|
|
||||||
&& (mapper.version == null || dependency.moduleVersion == mapper.version)
|
|
||||||
) {
|
|
||||||
val mappedDependency = mapper.mapping(dependency)
|
val mappedDependency = mapper.mapping(dependency)
|
||||||
|
|
||||||
if (mappedDependency != null) {
|
if (mappedDependency != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user