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
This commit is contained in:
+2
@@ -31,6 +31,8 @@ interface KotlinCompilation<out T : KotlinCommonOptions> : Named, HasAttributes,
|
|||||||
|
|
||||||
val kotlinSourceSets: Set<KotlinSourceSet>
|
val kotlinSourceSets: Set<KotlinSourceSet>
|
||||||
|
|
||||||
|
val allKotlinSourceSets: Set<KotlinSourceSet>
|
||||||
|
|
||||||
val defaultSourceSet: KotlinSourceSet
|
val defaultSourceSet: KotlinSourceSet
|
||||||
|
|
||||||
fun defaultSourceSet(configure: KotlinSourceSet.() -> Unit)
|
fun defaultSourceSet(configure: KotlinSourceSet.() -> Unit)
|
||||||
|
|||||||
-1
@@ -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.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.getConvention
|
import org.jetbrains.kotlin.gradle.plugin.getConvention
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.allKotlinSourceSets
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+3
-3
@@ -61,6 +61,9 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
|
|||||||
|
|
||||||
override val kotlinSourceSets: MutableSet<KotlinSourceSet> = mutableSetOf()
|
override val kotlinSourceSets: MutableSet<KotlinSourceSet> = mutableSetOf()
|
||||||
|
|
||||||
|
override val allKotlinSourceSets: Set<KotlinSourceSet>
|
||||||
|
get() = kotlinSourceSets.flatMapTo(mutableSetOf()) { it.getSourceSetHierarchy() }
|
||||||
|
|
||||||
override val defaultSourceSet: KotlinSourceSet
|
override val defaultSourceSet: KotlinSourceSet
|
||||||
get() = target.project.kotlinExtension.sourceSets.getByName(defaultSourceSetName)
|
get() = target.project.kotlinExtension.sourceSets.getByName(defaultSourceSetName)
|
||||||
|
|
||||||
@@ -178,9 +181,6 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
|
|||||||
override fun toString(): String = "compilation '$compilationName' ($target)"
|
override fun toString(): String = "compilation '$compilationName' ($target)"
|
||||||
}
|
}
|
||||||
|
|
||||||
val KotlinCompilation<*>.allKotlinSourceSets: Set<KotlinSourceSet>
|
|
||||||
get() = kotlinSourceSets.flatMapTo(mutableSetOf()) { it.getSourceSetHierarchy() }
|
|
||||||
|
|
||||||
abstract class AbstractKotlinCompilationToRunnableFiles<T : KotlinCommonOptions>(
|
abstract class AbstractKotlinCompilationToRunnableFiles<T : KotlinCommonOptions>(
|
||||||
target: KotlinTarget,
|
target: KotlinTarget,
|
||||||
name: String
|
name: String
|
||||||
|
|||||||
Reference in New Issue
Block a user