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.*
|
||||
|
||||
class DependencyMapper(
|
||||
val group: String,
|
||||
val module: String,
|
||||
val predicate: (ResolvedDependency) -> Boolean,
|
||||
vararg val configurations: String,
|
||||
val version: String? = null,
|
||||
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())
|
||||
|
||||
|
||||
@@ -363,11 +363,7 @@ private fun ParserContext.parseDependencies(project: Project, forTests: Boolean)
|
||||
val dependency = (dependencyInfo as DependencyInfo.ResolvedDependencyInfo).dependency
|
||||
|
||||
for (mapper in dependencyMappers) {
|
||||
if (dependency.moduleGroup == mapper.group
|
||||
&& dependency.moduleName == mapper.module
|
||||
&& dependency.configuration in mapper.configurations
|
||||
&& (mapper.version == null || dependency.moduleVersion == mapper.version)
|
||||
) {
|
||||
if (dependency.configuration in mapper.configurations && mapper.predicate(dependency)) {
|
||||
val mappedDependency = mapper.mapping(dependency)
|
||||
|
||||
if (mappedDependency != null) {
|
||||
|
||||
Reference in New Issue
Block a user