Pill: Refactoring, introduce a generic predicate in DependencyMapper

This commit is contained in:
Yan Zhulanow
2018-08-20 23:39:00 +03:00
parent 83a431fca3
commit 267e239e52
2 changed files with 19 additions and 9 deletions
+18 -4
View File
@@ -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())
+1 -5
View File
@@ -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) {