[Gradle] ExternalTargetApi: Rename 'DecoratedKotlinCompilationFactory' to 'CompilationFactory'
To be consistent with 'TargetFactory' in ExternalKotlinTargetDescriptor KT-55524
This commit is contained in:
committed by
Space Team
parent
898e2beecb
commit
5e13e118fa
+2
-2
@@ -12,7 +12,7 @@ import org.gradle.api.attributes.java.TargetJvmEnvironment.TARGET_JVM_ENVIRONMEN
|
|||||||
import org.gradle.kotlin.dsl.named
|
import org.gradle.kotlin.dsl.named
|
||||||
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
|
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.DecoratedKotlinCompilationFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.CompilationFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.createCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.external.createCompilation
|
||||||
|
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ internal fun PrototypeAndroidTarget.createAndroidCompilation(name: String): Prot
|
|||||||
defaultSourceSet = kotlin.sourceSets.maybeCreate(camelCase("prototype", targetName, name)).apply {
|
defaultSourceSet = kotlin.sourceSets.maybeCreate(camelCase("prototype", targetName, name)).apply {
|
||||||
android = AndroidKotlinSourceSet()
|
android = AndroidKotlinSourceSet()
|
||||||
}
|
}
|
||||||
decoratedKotlinCompilationFactory = DecoratedKotlinCompilationFactory(::PrototypeAndroidCompilation)
|
compilationFactory = CompilationFactory(::PrototypeAndroidCompilation)
|
||||||
compileTaskName = camelCase("prototype", "compile", targetName, name)
|
compileTaskName = camelCase("prototype", "compile", targetName, name)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -231,6 +231,7 @@ public abstract class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalDe
|
|||||||
|
|
||||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor {
|
public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor {
|
||||||
public abstract fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
public abstract fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
||||||
|
public abstract fun getCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationFactory;
|
||||||
public abstract fun getCompilationName ()Ljava/lang/String;
|
public abstract fun getCompilationName ()Ljava/lang/String;
|
||||||
public abstract fun getCompileAllTaskName ()Ljava/lang/String;
|
public abstract fun getCompileAllTaskName ()Ljava/lang/String;
|
||||||
public abstract fun getCompileTaskName ()Ljava/lang/String;
|
public abstract fun getCompileTaskName ()Ljava/lang/String;
|
||||||
@@ -240,24 +241,26 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/external/
|
|||||||
public abstract fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
public abstract fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder {
|
public final class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder {
|
||||||
public abstract fun configure (Lkotlin/jvm/functions/Function1;)Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder;
|
public final fun configure (Lkotlin/jvm/functions/Function1;)Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder;
|
||||||
public abstract fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
public final fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
||||||
public abstract fun getCompilationName ()Ljava/lang/String;
|
public final fun getCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationFactory;
|
||||||
public abstract fun getCompileAllTaskName ()Ljava/lang/String;
|
public final fun getCompilationName ()Ljava/lang/String;
|
||||||
public abstract fun getCompileTaskName ()Ljava/lang/String;
|
public final fun getCompileAllTaskName ()Ljava/lang/String;
|
||||||
public abstract fun getConfigure ()Lkotlin/jvm/functions/Function1;
|
public final fun getCompileTaskName ()Ljava/lang/String;
|
||||||
public abstract fun getDecoratedKotlinCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;
|
public final fun getConfigure ()Lkotlin/jvm/functions/Function1;
|
||||||
public abstract fun getDefaultSourceSet ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;
|
public final fun getDecoratedKotlinCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;
|
||||||
public abstract fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
public final fun getDefaultSourceSet ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;
|
||||||
public abstract fun setCompilationAssociator (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;)V
|
public final fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
||||||
public abstract fun setCompilationName (Ljava/lang/String;)V
|
public final fun setCompilationAssociator (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;)V
|
||||||
public abstract fun setCompileAllTaskName (Ljava/lang/String;)V
|
public final fun setCompilationFactory (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationFactory;)V
|
||||||
public abstract fun setCompileTaskName (Ljava/lang/String;)V
|
public final fun setCompilationName (Ljava/lang/String;)V
|
||||||
public abstract fun setConfigure (Lkotlin/jvm/functions/Function1;)V
|
public final fun setCompileAllTaskName (Ljava/lang/String;)V
|
||||||
public abstract fun setDecoratedKotlinCompilationFactory (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;)V
|
public final fun setCompileTaskName (Ljava/lang/String;)V
|
||||||
public abstract fun setDefaultSourceSet (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)V
|
public final fun setConfigure (Lkotlin/jvm/functions/Function1;)V
|
||||||
public abstract fun setFriendArtifactResolver (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;)V
|
public final fun setDecoratedKotlinCompilationFactory (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;)V
|
||||||
|
public final fun setDefaultSourceSet (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)V
|
||||||
|
public final fun setFriendArtifactResolver (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;)V
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorKt {
|
public final class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorKt {
|
||||||
|
|||||||
+16
-7
@@ -3,15 +3,29 @@
|
|||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@file:Suppress("DEPRECATION")
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.mpp.external
|
package org.jetbrains.kotlin.gradle.plugin.mpp.external
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similar to [DecoratedExternalKotlinTarget]:
|
||||||
|
* This class is intended to be decorated: Enabling external target authors to give compilations a custom type.
|
||||||
|
* The implementation of [KotlinCompilation] is handled by a backed, internal, opaque instance provided by the [Delegate]
|
||||||
|
*
|
||||||
|
* #### Create an instance
|
||||||
|
* Creating an instance will require an instance of [Delegate] which can only be retrieved by calling into the
|
||||||
|
* [DecoratedExternalKotlinTarget.createCompilation] functions and providing a [ExternalKotlinCompilationDescriptor.compilationFactory]
|
||||||
|
*/
|
||||||
|
@Suppress("deprecation_error")
|
||||||
|
@ExternalKotlinTargetApi
|
||||||
|
abstract class DecoratedExternalKotlinCompilation(delegate: Delegate) : ExternalDecoratedKotlinCompilation(delegate) {
|
||||||
|
class Delegate internal constructor(compilation: KotlinCompilationImpl) : ExternalDecoratedKotlinCompilation.Delegate(compilation)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renamed DecoratedExternalKotlinCompilation:
|
* Renamed DecoratedExternalKotlinCompilation:
|
||||||
* Scheduled for removal with Kotlin 2.0
|
* Scheduled for removal with Kotlin 2.0
|
||||||
@@ -26,8 +40,3 @@ abstract class ExternalDecoratedKotlinCompilation(delegate: Delegate) :
|
|||||||
open class Delegate internal constructor(internal open val compilation: KotlinCompilationImpl)
|
open class Delegate internal constructor(internal open val compilation: KotlinCompilationImpl)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("deprecation_error")
|
|
||||||
@ExternalKotlinTargetApi
|
|
||||||
abstract class DecoratedExternalKotlinCompilation(delegate: Delegate) : ExternalDecoratedKotlinCompilation(delegate) {
|
|
||||||
class Delegate internal constructor(compilation: KotlinCompilationImpl) : ExternalDecoratedKotlinCompilation.Delegate(compilation)
|
|
||||||
}
|
|
||||||
+40
-27
@@ -14,7 +14,17 @@ import kotlin.properties.Delegates
|
|||||||
|
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompilation> {
|
interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompilation> {
|
||||||
fun interface DecoratedKotlinCompilationFactory<T : DecoratedKotlinCompilation<*>> {
|
|
||||||
|
/**
|
||||||
|
* Scheduled for removal in Kotlin 2.0
|
||||||
|
*/
|
||||||
|
@Deprecated(
|
||||||
|
"Renamed to 'CompilationFactory'", level = DeprecationLevel.ERROR,
|
||||||
|
replaceWith = ReplaceWith("CompilationFactory")
|
||||||
|
)
|
||||||
|
fun interface DecoratedKotlinCompilationFactory<T : DecoratedKotlinCompilation<*>> : CompilationFactory<T>
|
||||||
|
|
||||||
|
fun interface CompilationFactory<T : DecoratedKotlinCompilation<*>> {
|
||||||
fun create(delegate: DecoratedExternalKotlinCompilation.Delegate): T
|
fun create(delegate: DecoratedExternalKotlinCompilation.Delegate): T
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +40,14 @@ interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompila
|
|||||||
val compileTaskName: String?
|
val compileTaskName: String?
|
||||||
val compileAllTaskName: String?
|
val compileAllTaskName: String?
|
||||||
val defaultSourceSet: KotlinSourceSet
|
val defaultSourceSet: KotlinSourceSet
|
||||||
|
|
||||||
|
@Suppress("deprecation_error")
|
||||||
|
@Deprecated(
|
||||||
|
"Renamed to compilationFactory", level = DeprecationLevel.ERROR,
|
||||||
|
replaceWith = ReplaceWith("compilationFactory")
|
||||||
|
)
|
||||||
val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
||||||
|
val compilationFactory: CompilationFactory<T>
|
||||||
val friendArtifactResolver: FriendArtifactResolver<T>?
|
val friendArtifactResolver: FriendArtifactResolver<T>?
|
||||||
val compilationAssociator: CompilationAssociator<T>?
|
val compilationAssociator: CompilationAssociator<T>?
|
||||||
val configure: ((T) -> Unit)?
|
val configure: ((T) -> Unit)?
|
||||||
@@ -40,13 +57,13 @@ interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompila
|
|||||||
fun <T : DecoratedExternalKotlinCompilation> ExternalKotlinCompilationDescriptor(
|
fun <T : DecoratedExternalKotlinCompilation> ExternalKotlinCompilationDescriptor(
|
||||||
configure: ExternalKotlinCompilationDescriptorBuilder<T>.() -> Unit
|
configure: ExternalKotlinCompilationDescriptorBuilder<T>.() -> Unit
|
||||||
): ExternalKotlinCompilationDescriptor<T> {
|
): ExternalKotlinCompilationDescriptor<T> {
|
||||||
return ExternalKotlinCompilationDescriptorBuilderImpl<T>().also(configure).run {
|
return ExternalKotlinCompilationDescriptorBuilder<T>().also(configure).run {
|
||||||
ExternalKotlinCompilationDescriptorImpl(
|
ExternalKotlinCompilationDescriptorImpl(
|
||||||
compilationName = compilationName,
|
compilationName = compilationName,
|
||||||
compileTaskName = compileTaskName,
|
compileTaskName = compileTaskName,
|
||||||
compileAllTaskName = compileAllTaskName,
|
compileAllTaskName = compileAllTaskName,
|
||||||
defaultSourceSet = defaultSourceSet,
|
defaultSourceSet = defaultSourceSet,
|
||||||
decoratedKotlinCompilationFactory = decoratedKotlinCompilationFactory,
|
compilationFactory = compilationFactory ?: decoratedKotlinCompilationFactory,
|
||||||
friendArtifactResolver = friendArtifactResolver,
|
friendArtifactResolver = friendArtifactResolver,
|
||||||
compilationAssociator = compilationAssociator,
|
compilationAssociator = compilationAssociator,
|
||||||
configure = this.configure
|
configure = this.configure
|
||||||
@@ -55,15 +72,20 @@ fun <T : DecoratedExternalKotlinCompilation> ExternalKotlinCompilationDescriptor
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
interface ExternalKotlinCompilationDescriptorBuilder<T : DecoratedExternalKotlinCompilation> {
|
class ExternalKotlinCompilationDescriptorBuilder<T : DecoratedExternalKotlinCompilation> internal constructor() {
|
||||||
var compilationName: String
|
var compilationName: String by Delegates.notNull()
|
||||||
var compileTaskName: String?
|
var compileTaskName: String? = null
|
||||||
var compileAllTaskName: String?
|
var compileAllTaskName: String? = null
|
||||||
var defaultSourceSet: KotlinSourceSet
|
var defaultSourceSet: KotlinSourceSet by Delegates.notNull()
|
||||||
var decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
|
||||||
var friendArtifactResolver: FriendArtifactResolver<T>?
|
@Suppress("deprecation_error")
|
||||||
var compilationAssociator: CompilationAssociator<T>?
|
var decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T> by Delegates.notNull()
|
||||||
var configure: ((T) -> Unit)?
|
var compilationFactory: CompilationFactory<T>? = null
|
||||||
|
|
||||||
|
var friendArtifactResolver: FriendArtifactResolver<T>? = null
|
||||||
|
var compilationAssociator: CompilationAssociator<T>? = null
|
||||||
|
var configure: ((T) -> Unit)? = null
|
||||||
|
|
||||||
fun configure(action: (T) -> Unit) = apply {
|
fun configure(action: (T) -> Unit) = apply {
|
||||||
val configure = this.configure
|
val configure = this.configure
|
||||||
if (configure == null) this.configure = action
|
if (configure == null) this.configure = action
|
||||||
@@ -71,27 +93,18 @@ interface ExternalKotlinCompilationDescriptorBuilder<T : DecoratedExternalKotlin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExternalKotlinTargetApi
|
|
||||||
private class ExternalKotlinCompilationDescriptorBuilderImpl<T : DecoratedExternalKotlinCompilation> :
|
|
||||||
ExternalKotlinCompilationDescriptorBuilder<T> {
|
|
||||||
override var compilationName: String by Delegates.notNull()
|
|
||||||
override var compileTaskName: String? = null
|
|
||||||
override var compileAllTaskName: String? = null
|
|
||||||
override var defaultSourceSet: KotlinSourceSet by Delegates.notNull()
|
|
||||||
override var decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T> by Delegates.notNull()
|
|
||||||
override var friendArtifactResolver: FriendArtifactResolver<T>? = null
|
|
||||||
override var compilationAssociator: CompilationAssociator<T>? = null
|
|
||||||
override var configure: ((T) -> Unit)? = null
|
|
||||||
}
|
|
||||||
|
|
||||||
@ExternalKotlinTargetApi
|
@ExternalKotlinTargetApi
|
||||||
private data class ExternalKotlinCompilationDescriptorImpl<T : DecoratedExternalKotlinCompilation>(
|
private data class ExternalKotlinCompilationDescriptorImpl<T : DecoratedExternalKotlinCompilation>(
|
||||||
override val compilationName: String,
|
override val compilationName: String,
|
||||||
override val compileTaskName: String?,
|
override val compileTaskName: String?,
|
||||||
override val compileAllTaskName: String?,
|
override val compileAllTaskName: String?,
|
||||||
override val defaultSourceSet: KotlinSourceSet,
|
override val defaultSourceSet: KotlinSourceSet,
|
||||||
override val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>,
|
override val compilationFactory: CompilationFactory<T>,
|
||||||
override val friendArtifactResolver: FriendArtifactResolver<T>?,
|
override val friendArtifactResolver: FriendArtifactResolver<T>?,
|
||||||
override val compilationAssociator: CompilationAssociator<T>?,
|
override val compilationAssociator: CompilationAssociator<T>?,
|
||||||
override val configure: ((T) -> Unit)?
|
override val configure: ((T) -> Unit)?
|
||||||
) : ExternalKotlinCompilationDescriptor<T>
|
) : ExternalKotlinCompilationDescriptor<T> {
|
||||||
|
@Suppress("deprecation_error", "OVERRIDE_DEPRECATION")
|
||||||
|
override val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
||||||
|
get() = DecoratedKotlinCompilationFactory { compilationFactory.create(it) }
|
||||||
|
}
|
||||||
+1
-1
@@ -69,7 +69,7 @@ fun <T : DecoratedExternalKotlinCompilation> DecoratedExternalKotlinTarget.creat
|
|||||||
)
|
)
|
||||||
|
|
||||||
val compilationImpl = compilationImplFactory.create(this, descriptor.compilationName)
|
val compilationImpl = compilationImplFactory.create(this, descriptor.compilationName)
|
||||||
val decoratedCompilation = descriptor.decoratedKotlinCompilationFactory.create(Delegate(compilationImpl))
|
val decoratedCompilation = descriptor.compilationFactory.create(Delegate(compilationImpl))
|
||||||
descriptor.configure?.invoke(decoratedCompilation)
|
descriptor.configure?.invoke(decoratedCompilation)
|
||||||
this.delegate.compilations.add(decoratedCompilation)
|
this.delegate.compilations.add(decoratedCompilation)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user