Refactor & fix: add allKotlinSourceSets and use it where appropriate

* Some of the usages of `kotlinSourceSets` should instead get all the
  source set from the source set hierarchies, i.e. including the ones
  transitively-participating in the compilation
This commit is contained in:
Sergey Igushkin
2018-08-30 17:39:57 +03:00
parent 96901c5487
commit 5e6148c970
3 changed files with 7 additions and 5 deletions
@@ -159,7 +159,7 @@ internal class Kotlin2JvmSourceSetProcessor(
appliedPlugins
.flatMap { it.getSubpluginKotlinTasks(project, kotlinTask) }
.forEach { plugin -> kotlinCompilation.kotlinSourceSets.forEach { sourceSet -> plugin.source(sourceSet.kotlin) } }
.forEach { plugin -> kotlinCompilation.allKotlinSourceSets.forEach { sourceSet -> plugin.source(sourceSet.kotlin) } }
javaTask?.let { configureJavaTask(kotlinTask, it, logger) }
@@ -269,7 +269,7 @@ internal class Kotlin2JsSourceSetProcessor(
appliedPlugins
.flatMap { it.getSubpluginKotlinTasks(project, kotlinTask) }
.forEach { task -> kotlinCompilation.kotlinSourceSets.forEach { sourceSet -> task.source(sourceSet.kotlin) } }
.forEach { task -> kotlinCompilation.allKotlinSourceSets.forEach { sourceSet -> task.source(sourceSet.kotlin) } }
}
}
@@ -307,7 +307,7 @@ internal class KotlinCommonSourceSetProcessor(
)
appliedPlugins
.flatMap { it.getSubpluginKotlinTasks(project, kotlinTask) }
.forEach { kotlinCompilation.kotlinSourceSets.forEach { sourceSet -> it.source(sourceSet.kotlin) } }
.forEach { kotlinCompilation.allKotlinSourceSets.forEach { sourceSet -> it.source(sourceSet.kotlin) } }
}
}
@@ -97,8 +97,7 @@ abstract class AbstractKotlinTargetConfigurator<KotlinTargetType : KotlinTarget>
}
if (compilation is KotlinCompilationWithResources) {
val sourceSetHierarchy = compilation.kotlinSourceSets.flatMap { it.getSourceSetHierarchy() }.distinct()
configureResourceProcessing(compilation, project.files(Callable { sourceSetHierarchy.map { it.resources } }))
configureResourceProcessing(compilation, project.files(Callable { compilation.allKotlinSourceSets.map { it.resources } }))
}
createLifecycleTask(compilation)
@@ -145,6 +145,9 @@ abstract class AbstractKotlinCompilation(
override fun toString(): String = "compilation '$compilationName' ($target)"
}
val KotlinCompilation.allKotlinSourceSets: Set<KotlinSourceSet>
get() = kotlinSourceSets.flatMapTo(mutableSetOf()) { it.getSourceSetHierarchy() }
abstract class AbstractKotlinCompilationToRunnableFiles(
target: KotlinTarget,
name: String