From c684588ebbcd3ad4eabb90b83b9ca50c6b89fdce Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 20 Jan 2022 09:38:33 +0100 Subject: [PATCH] [KPM] KotlinFragmentPlatformAttributes: Only set jvm environment on Gradle 7+ --- .../mpp/pm20/DefaultKotlinFragmentAttributes.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/DefaultKotlinFragmentAttributes.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/DefaultKotlinFragmentAttributes.kt index be193f7f38d..cb566d7561b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/DefaultKotlinFragmentAttributes.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/DefaultKotlinFragmentAttributes.kt @@ -9,6 +9,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20 import org.gradle.api.attributes.Usage.USAGE_ATTRIBUTE import org.gradle.api.attributes.java.TargetJvmEnvironment +import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE import org.gradle.kotlin.dsl.named import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget @@ -18,15 +19,13 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages.consumerRuntimeUsage import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages.producerApiUsage import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages.producerRuntimeUsage import org.jetbrains.kotlin.gradle.plugin.usageByName +import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast val KotlinFragmentPlatformAttributes = FragmentAttributes { fragment -> - // TODO NOW! Maybe we want to provide API for Android target to hook into this? - if (fragment.platformType == KotlinPlatformType.jvm) { - attribute( - TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, - fragment.project.objects.named(TargetJvmEnvironment.STANDARD_JVM) - ) + if (isGradleVersionAtLeast(7, 0) && fragment.platformType == KotlinPlatformType.jvm) { + attribute(TARGET_JVM_ENVIRONMENT_ATTRIBUTE, fragment.project.objects.named(TargetJvmEnvironment.STANDARD_JVM)) } + attribute(KotlinPlatformType.attribute, fragment.platformType) }