From a8325104876a9d04de9440226e3de2c1c2f75edb Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Tue, 22 Aug 2023 14:06:25 +0200 Subject: [PATCH] [Gradle] Use new Usage 'kotlin-commonized-cinterop' to differentiate cinterop commonizer configurations ^KT-61376 Verification Pending --- .../kotlin/gradle/plugin/mpp/KotlinUsages.kt | 14 ++++++++++++++ .../internal/CInteropCommonizerConfigurations.kt | 4 +--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt index 5cdd111d3a5..459a19729c4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt @@ -20,7 +20,21 @@ object KotlinUsages { const val KOTLIN_API = "kotlin-api" const val KOTLIN_RUNTIME = "kotlin-runtime" const val KOTLIN_METADATA = "kotlin-metadata" + + /** + * Platform CInterop usage: + * These are CInterop files that represent executable .klibs for a given konan target + * ! NOTE !: This usage is compatible with [KOTLIN_API], [JAVA_API] and [JAVA_RUNTIME] + */ const val KOTLIN_CINTEROP = "kotlin-cinterop" + + /** + * Commonized CInterop usage: + * This CInterops are produced by the commonizer. + * ! Note !: This usage is intended only for project to project dependencies. + * Unlike [KOTLIN_CINTEROP] this usage is not marked compatible with [KOTLIN_API], [JAVA_API] or [JAVA_RUNTIME] + */ + const val KOTLIN_COMMONIZED_CINTEROP = "kotlin-commonized-cinterop" const val KOTLIN_SOURCES = "kotlin-sources" // Following two constants were removed in Gradle 8.0 from 'Usages' class diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerConfigurations.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerConfigurations.kt index ef37f2e68ae..171a2a5a1af 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerConfigurations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropCommonizerConfigurations.kt @@ -128,9 +128,7 @@ private fun Project.setupBasicCommonizedCInteropConfigurationAttributes( configuration: Configuration, commonizerTarget: SharedCommonizerTarget, ) { - configuration.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.native) configuration.attributes.attribute(CommonizerTargetAttribute.attribute, commonizerTarget.identityString) - configuration.attributes.attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, cinteropKlibLibraryElements()) - configuration.attributes.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage::class.java, KotlinUsages.KOTLIN_CINTEROP)) + configuration.attributes.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage::class.java, KotlinUsages.KOTLIN_COMMONIZED_CINTEROP)) configuration.attributes.attribute(Category.CATEGORY_ATTRIBUTE, project.categoryByName(Category.LIBRARY)) }