From e5398e6be74fb21ab805e9a6ee2a2b3d2f65b533 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 16 Nov 2022 10:44:03 +0100 Subject: [PATCH] [Gradle][Minor] Move KotlinTargetComponent into separate source file KT-54981 --- .../kotlin/gradle/plugin/KotlinTarget.kt | 9 --------- .../gradle/plugin/KotlinTargetComponent.kt | 17 +++++++++++++++++ .../mpp/external/createExternalKotlinTarget.kt | 4 ++++ 3 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetComponent.kt diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt index 4ae148f9e0a..2ba2a6f4039 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt @@ -11,21 +11,12 @@ import org.gradle.api.Action import org.gradle.api.Named import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.Project -import org.gradle.api.artifacts.PublishArtifact import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.HasAttributes import org.gradle.api.component.SoftwareComponent import org.gradle.api.publish.maven.MavenPublication import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptionsDeprecated -interface KotlinTargetComponent : SoftwareComponent { - val target: KotlinTarget - val publishable: Boolean - val publishableOnCurrentHost: Boolean - val defaultArtifactId: String - val sourcesArtifacts: Set -} - interface KotlinTarget : Named, HasAttributes { val targetName: String val disambiguationClassifier: String? get() = targetName diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetComponent.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetComponent.kt new file mode 100644 index 00000000000..54e4e5b090a --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetComponent.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.plugin + +import org.gradle.api.artifacts.PublishArtifact +import org.gradle.api.component.SoftwareComponent + +interface KotlinTargetComponent : SoftwareComponent { + val target: KotlinTarget + val publishable: Boolean + val publishableOnCurrentHost: Boolean + val defaultArtifactId: String + val sourcesArtifacts: Set +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt index 8c2c7333cde..a6d2d445cb9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt @@ -42,10 +42,14 @@ fun KotlinMultiplatformExtension.createExter artifactsTaskLocator = artifactsTaskLocator ) + apiElementsConfiguration.isCanBeConsumed = true + apiElementsConfiguration.isCanBeResolved = false apiElementsConfiguration.usesPlatformOf(target) apiElementsConfiguration.attributes.attribute(Usage.USAGE_ATTRIBUTE, KotlinUsages.producerApiUsage(target)) apiElementsConfiguration.attributes.attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.LIBRARY)) + runtimeElementsConfiguration.isCanBeConsumed = true + runtimeElementsConfiguration.isCanBeResolved = false runtimeElementsConfiguration.usesPlatformOf(target) runtimeElementsConfiguration.attributes.attribute(Usage.USAGE_ATTRIBUTE, KotlinUsages.producerRuntimeUsage(target)) runtimeElementsConfiguration.attributes.attribute(Category.CATEGORY_ATTRIBUTE, project.objects.named(Category.LIBRARY))