From 0abd0448005b534748a37c31e8096a60b4489ee9 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Thu, 10 Jan 2019 23:13:42 +0300 Subject: [PATCH] Expose 'allKotlinSourceSets' in KotlinCompilation (KT-28749) As KotlinCompilation only contains the directly added source sets in its `kotlinSourceSets` property, we need to provide a convenient way to collect the whole source sets hierarchy for a compilation. We added internal `allKotlinSourceSets` some time ago, and it seems reasonable to expose it as public API. Issue #KT-28749 Fixed --- .../org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt | 2 ++ .../kotlin/gradle/model/builder/KotlinModelBuilder.kt | 1 - .../kotlin/gradle/plugin/mpp/kotlinCompilations.kt | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt index 394837b4dcd..a61b5921974 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt @@ -31,6 +31,8 @@ interface KotlinCompilation : Named, HasAttributes, val kotlinSourceSets: Set + val allKotlinSourceSets: Set + val defaultSourceSet: KotlinSourceSet fun defaultSourceSet(configure: KotlinSourceSet.() -> Unit) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt index b105664e5c0..13562910c8b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.gradle.plugin.KOTLIN_JS_DSL_NAME import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.getConvention import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.allKotlinSourceSets import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile /** diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt index d4dbc47e8d3..dfffe701b46 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt @@ -61,6 +61,9 @@ abstract class AbstractKotlinCompilation( override val kotlinSourceSets: MutableSet = mutableSetOf() + override val allKotlinSourceSets: Set + get() = kotlinSourceSets.flatMapTo(mutableSetOf()) { it.getSourceSetHierarchy() } + override val defaultSourceSet: KotlinSourceSet get() = target.project.kotlinExtension.sourceSets.getByName(defaultSourceSetName) @@ -178,9 +181,6 @@ abstract class AbstractKotlinCompilation( override fun toString(): String = "compilation '$compilationName' ($target)" } -val KotlinCompilation<*>.allKotlinSourceSets: Set - get() = kotlinSourceSets.flatMapTo(mutableSetOf()) { it.getSourceSetHierarchy() } - abstract class AbstractKotlinCompilationToRunnableFiles( target: KotlinTarget, name: String