diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-49735-twoKotlinTargets-oneKonanTarget/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-49735-twoKotlinTargets-oneKonanTarget/build.gradle.kts index 45c507561b6..297216a4b50 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-49735-twoKotlinTargets-oneKonanTarget/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-49735-twoKotlinTargets-oneKonanTarget/build.gradle.kts @@ -1,3 +1,4 @@ +import org.gradle.api.attributes.Attribute import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet import org.jetbrains.kotlin.konan.target.HostManager @@ -11,6 +12,8 @@ repositories { } kotlin { + val distinguishingAttribute = Attribute.of(String::class.java) + val platformTargetA = when { HostManager.hostIsMac -> macosX64("platformA") HostManager.hostIsMingw -> mingwX64("platformA") @@ -24,4 +27,7 @@ kotlin { HostManager.hostIsLinux -> linuxX64("platformB") else -> error("Unexpected host: ${HostManager.host}") } + + platformTargetA.attributes { attribute(distinguishingAttribute, "A") } + platformTargetB.attributes { attribute(distinguishingAttribute, "B") } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt index 235226e9c69..27db7e0c7c2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt @@ -11,6 +11,7 @@ import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.ModuleDependency import org.gradle.api.artifacts.ProjectDependency +import org.gradle.api.attributes.Attribute import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.Category import org.gradle.api.attributes.Usage @@ -155,8 +156,9 @@ class ConfigurationsTest : MultiplatformExtensionTest() { @Test fun `don't publish wasm targets with KotlinJsCompilerAttribute attribute`() { with(kotlin) { - js("nodeJs", KotlinJsCompilerType.IR) - js("browser", KotlinJsCompilerType.IR) + val jsAttribute = Attribute.of(String::class.java) + js("nodeJs", KotlinJsCompilerType.IR) { attributes { attribute(jsAttribute, "nodeJs") } } + js("browser", KotlinJsCompilerType.IR) { attributes { attribute(jsAttribute, "browser") } } @OptIn(ExperimentalWasmDsl::class) wasm() diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/CompilationSpecificPluginPath.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/CompilationSpecificPluginPath.kt index f28ae030181..bbd02fab377 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/CompilationSpecificPluginPath.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/CompilationSpecificPluginPath.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.unitTests import org.gradle.api.Project import org.gradle.api.artifacts.Configuration +import org.gradle.api.attributes.Attribute import org.gradle.api.plugins.ExtraPropertiesExtension import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.plugin.* @@ -64,8 +65,9 @@ internal class CompilationSpecificPluginPath { fun `each compilation should have its own plugin classpath`() { val project = buildProjectWithMPP { kotlin { - jvm("jvm1") - jvm("jvm2") + val jvmAttribute = Attribute.of(String::class.java) + jvm("jvm1") { attributes { attribute(jvmAttribute, "jvm1") } } + jvm("jvm2") { attributes { attribute(jvmAttribute, "jvm2") } } js("js") { browser() } } } @@ -234,7 +236,7 @@ internal class CompilationSpecificPluginPath { kotlin { jvm() linuxX64("linux") - linuxX64("mac") + macosX64("mac") } }