[Gradle] ExternalTargetApi: Check-in/Document createExternalKotlinTarget
KT-55524
This commit is contained in:
committed by
Space Team
parent
2ec76110b0
commit
bc85fe323b
+11
@@ -13,6 +13,7 @@ import org.gradle.api.attributes.Usage
|
|||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
|
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.configureSourcesPublicationAttributes
|
import org.jetbrains.kotlin.gradle.plugin.mpp.configureSourcesPublicationAttributes
|
||||||
@@ -22,6 +23,13 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
|||||||
import org.jetbrains.kotlin.gradle.utils.markConsumable
|
import org.jetbrains.kotlin.gradle.utils.markConsumable
|
||||||
import org.jetbrains.kotlin.gradle.utils.named
|
import org.jetbrains.kotlin.gradle.utils.named
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an adhoc/external Kotlin Target which can be maintained and evolved outside the kotlin.git repository.
|
||||||
|
* The target will be created adhering to the configuration provided by the [descriptor].
|
||||||
|
* The instance will be backed by an internal implementation of [KotlinTarget]
|
||||||
|
* The instance will be created using the [ExternalKotlinTargetDescriptor.targetFactory] which will have to inject the backing
|
||||||
|
* internal implementation using the [DecoratedExternalKotlinTarget.Delegate] into [DecoratedExternalKotlinTarget]
|
||||||
|
*/
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExternalKotlinTarget(
|
fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExternalKotlinTarget(
|
||||||
descriptor: ExternalKotlinTargetDescriptor<T>
|
descriptor: ExternalKotlinTargetDescriptor<T>
|
||||||
@@ -91,6 +99,9 @@ fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExter
|
|||||||
return decorated
|
return decorated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see createExternalKotlinTarget
|
||||||
|
*/
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExternalKotlinTarget(
|
fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExternalKotlinTarget(
|
||||||
descriptor: ExternalKotlinTargetDescriptorBuilder<T>.() -> Unit
|
descriptor: ExternalKotlinTargetDescriptorBuilder<T>.() -> Unit
|
||||||
|
|||||||
Reference in New Issue
Block a user