Revert "[Gradle] Add dsl marker to KotlinSourceSet"

This reverts commit eb663117c7.
This commit is contained in:
Yahor Berdnikau
2024-01-10 17:30:50 +01:00
committed by Space Team
parent e8704cc556
commit 2a55aa782d
7 changed files with 18 additions and 32 deletions
+3 -5
View File
@@ -431,15 +431,13 @@ kotlin {
kotlin.srcDir("${jsDir}/test") kotlin.srcDir("${jsDir}/test")
} }
val commonMainSourceSet = commonMain.get()
val nativeWasmMain by creating { val nativeWasmMain by creating {
dependsOn(commonMainSourceSet) dependsOn(commonMain.get())
kotlin.srcDir("native-wasm/src") kotlin.srcDir("native-wasm/src")
} }
val commonTestSourceSet = commonTest.get()
val nativeWasmTest by creating { val nativeWasmTest by creating {
dependsOn(commonTestSourceSet) dependsOn(commonTest.get())
kotlin.srcDir("native-wasm/test") kotlin.srcDir("native-wasm/test")
} }
@@ -527,7 +525,7 @@ kotlin {
if (kotlinBuildProperties.isInIdeaSync) { if (kotlinBuildProperties.isInIdeaSync) {
val nativeKotlinTestCommon by creating { val nativeKotlinTestCommon by creating {
dependsOn(commonMainSourceSet) dependsOn(commonMain.get())
val prepareKotlinTestCommonNativeSources by tasks.registering(Sync::class) { val prepareKotlinTestCommonNativeSources by tasks.registering(Sync::class) {
from("../kotlin.test/common/src/main/kotlin") from("../kotlin.test/common/src/main/kotlin")
from("../kotlin.test/annotations-common/src/main/kotlin") from("../kotlin.test/annotations-common/src/main/kotlin")
@@ -8,10 +8,8 @@ package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.Named import org.gradle.api.Named
import org.gradle.api.file.SourceDirectorySet import org.gradle.api.file.SourceDirectorySet
import org.jetbrains.kotlin.gradle.dsl.KotlinGradlePluginDsl
import org.jetbrains.kotlin.tooling.core.HasMutableExtras import org.jetbrains.kotlin.tooling.core.HasMutableExtras
@KotlinGradlePluginDsl
interface KotlinSourceSet : Named, HasProject, HasMutableExtras, HasKotlinDependencies { interface KotlinSourceSet : Named, HasProject, HasMutableExtras, HasKotlinDependencies {
val kotlin: SourceDirectorySet val kotlin: SourceDirectorySet
@@ -58,25 +58,15 @@ class MppHighlightingTestDataWithGradleIT : BaseGradleIT() {
// create Gradle Kotlin source sets for project roots: // create Gradle Kotlin source sets for project roots:
val scriptCustomization = buildString { val scriptCustomization = buildString {
appendLine() appendLine()
appendLine("kotlin {") appendLine("kotlin {\n sourceSets {")
appendLine(
"""
| fun configureTargetsDefaultDependsOn(sourceSet: org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet) {
| listOf(${cliCompiler.targets.joinToString { "$it()" }}).forEach {
| it.compilations["main"].defaultSourceSet.dependsOn(sourceSet)
| }
| }
|
""".trimMargin()
)
appendLine(" sourceSets {")
sourceRoots.forEach { sourceRoot -> sourceRoots.forEach { sourceRoot ->
if (sourceRoot.kotlinSourceSetName != "commonMain") { if (sourceRoot.kotlinSourceSetName != "commonMain") {
appendLine( appendLine(
""" """ create("${sourceRoot.kotlinSourceSetName}") {
| create("${sourceRoot.kotlinSourceSetName}") {
| dependsOn(getByName("commonMain")) | dependsOn(getByName("commonMain"))
| configureTargetsDefaultDependsOn(this@create) | listOf(${cliCompiler.targets.joinToString { "$it()" }}).forEach {
| it.compilations["main"].defaultSourceSet.dependsOn(this@create)
| }
| } | }
| |
""".trimMargin() """.trimMargin()
@@ -95,8 +85,7 @@ class MppHighlightingTestDataWithGradleIT : BaseGradleIT() {
} }
} }
} }
appendLine(" }") appendLine(" }\n}")
appendLine("}")
} }
gradleBuildScript().appendText("\n" + scriptCustomization) gradleBuildScript().appendText("\n" + scriptCustomization)
@@ -10,9 +10,8 @@ repositories {
} }
kotlin { kotlin {
val commonMainSourceSet = sourceSets.commonMain.get()
val nativeMain by sourceSets.creating { val nativeMain by sourceSets.creating {
dependsOn(commonMainSourceSet) dependsOn(sourceSets["commonMain"])
} }
targets.withType(KotlinNativeTarget::class.java).all { targets.withType(KotlinNativeTarget::class.java).all {
@@ -10,9 +10,8 @@ repositories {
} }
kotlin { kotlin {
val commonMain by sourceSets.getting
val nativeMain by sourceSets.creating { val nativeMain by sourceSets.creating {
dependsOn(commonMain) dependsOn(sourceSets["commonMain"])
} }
targets.withType(KotlinNativeTarget::class.java).all { targets.withType(KotlinNativeTarget::class.java).all {
@@ -10,9 +10,8 @@ repositories {
} }
kotlin { kotlin {
val commonMainSourceSet = sourceSets.commonMain.get()
val nativeMain by sourceSets.creating { val nativeMain by sourceSets.creating {
dependsOn(commonMainSourceSet) dependsOn(sourceSets["commonMain"])
} }
targets.withType(KotlinNativeTarget::class.java).all { targets.withType(KotlinNativeTarget::class.java).all {
@@ -55,9 +55,13 @@ class KotlinMultiplatformSourceSetConventionsTest {
fun `test - invoke - allows creating new source set in closure`() { fun `test - invoke - allows creating new source set in closure`() {
val project = buildProjectWithMPP() val project = buildProjectWithMPP()
project.multiplatformExtension.apply { project.multiplatformExtension.apply {
val fooSourceSet = sourceSets.create("foo")
sourceSets.jvmMain { sourceSets.jvmMain {
dependsOn(fooSourceSet) /*
When done wrong, expect:
org.gradle.api.internal.AbstractMutationGuard$IllegalMutationException:
NamedDomainObjectContainer#create(String) on KotlinSourceSet container cannot be executed in the current context
*/
dependsOn(sourceSets.create("foo"))
} }
assertEquals(setOf("foo"), sourceSets.jvmMain.get().dependsOn.map { it.name }.toSet()) assertEquals(setOf("foo"), sourceSets.jvmMain.get().dependsOn.map { it.name }.toSet())