[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.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.DecoratedKotlinCompilationFactory
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.CompilationFactory
|
||||
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 {
|
||||
android = AndroidKotlinSourceSet()
|
||||
}
|
||||
decoratedKotlinCompilationFactory = DecoratedKotlinCompilationFactory(::PrototypeAndroidCompilation)
|
||||
compilationFactory = CompilationFactory(::PrototypeAndroidCompilation)
|
||||
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 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 getCompileAllTaskName ()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 interface 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 abstract fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
||||
public abstract fun getCompilationName ()Ljava/lang/String;
|
||||
public abstract fun getCompileAllTaskName ()Ljava/lang/String;
|
||||
public abstract fun getCompileTaskName ()Ljava/lang/String;
|
||||
public abstract fun getConfigure ()Lkotlin/jvm/functions/Function1;
|
||||
public abstract fun getDecoratedKotlinCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;
|
||||
public abstract fun getDefaultSourceSet ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;
|
||||
public abstract fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
||||
public abstract fun setCompilationAssociator (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;)V
|
||||
public abstract fun setCompilationName (Ljava/lang/String;)V
|
||||
public abstract fun setCompileAllTaskName (Ljava/lang/String;)V
|
||||
public abstract fun setCompileTaskName (Ljava/lang/String;)V
|
||||
public abstract fun setConfigure (Lkotlin/jvm/functions/Function1;)V
|
||||
public abstract fun setDecoratedKotlinCompilationFactory (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;)V
|
||||
public abstract fun setDefaultSourceSet (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)V
|
||||
public abstract fun setFriendArtifactResolver (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;)V
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder {
|
||||
public final fun configure (Lkotlin/jvm/functions/Function1;)Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptorBuilder;
|
||||
public final fun getCompilationAssociator ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;
|
||||
public final fun getCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationFactory;
|
||||
public final fun getCompilationName ()Ljava/lang/String;
|
||||
public final fun getCompileAllTaskName ()Ljava/lang/String;
|
||||
public final fun getCompileTaskName ()Ljava/lang/String;
|
||||
public final fun getConfigure ()Lkotlin/jvm/functions/Function1;
|
||||
public final fun getDecoratedKotlinCompilationFactory ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$DecoratedKotlinCompilationFactory;
|
||||
public final fun getDefaultSourceSet ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;
|
||||
public final fun getFriendArtifactResolver ()Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$FriendArtifactResolver;
|
||||
public final fun setCompilationAssociator (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationAssociator;)V
|
||||
public final fun setCompilationFactory (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinCompilationDescriptor$CompilationFactory;)V
|
||||
public final fun setCompilationName (Ljava/lang/String;)V
|
||||
public final fun setCompileAllTaskName (Ljava/lang/String;)V
|
||||
public final fun setCompileTaskName (Ljava/lang/String;)V
|
||||
public final fun setConfigure (Lkotlin/jvm/functions/Function1;)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 {
|
||||
|
||||
+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.
|
||||
*/
|
||||
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.external
|
||||
|
||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||
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.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:
|
||||
* 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)
|
||||
}
|
||||
|
||||
@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
|
||||
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
|
||||
}
|
||||
|
||||
@@ -30,7 +40,14 @@ interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompila
|
||||
val compileTaskName: String?
|
||||
val compileAllTaskName: String?
|
||||
val defaultSourceSet: KotlinSourceSet
|
||||
|
||||
@Suppress("deprecation_error")
|
||||
@Deprecated(
|
||||
"Renamed to compilationFactory", level = DeprecationLevel.ERROR,
|
||||
replaceWith = ReplaceWith("compilationFactory")
|
||||
)
|
||||
val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
||||
val compilationFactory: CompilationFactory<T>
|
||||
val friendArtifactResolver: FriendArtifactResolver<T>?
|
||||
val compilationAssociator: CompilationAssociator<T>?
|
||||
val configure: ((T) -> Unit)?
|
||||
@@ -40,13 +57,13 @@ interface ExternalKotlinCompilationDescriptor<T : DecoratedExternalKotlinCompila
|
||||
fun <T : DecoratedExternalKotlinCompilation> ExternalKotlinCompilationDescriptor(
|
||||
configure: ExternalKotlinCompilationDescriptorBuilder<T>.() -> Unit
|
||||
): ExternalKotlinCompilationDescriptor<T> {
|
||||
return ExternalKotlinCompilationDescriptorBuilderImpl<T>().also(configure).run {
|
||||
return ExternalKotlinCompilationDescriptorBuilder<T>().also(configure).run {
|
||||
ExternalKotlinCompilationDescriptorImpl(
|
||||
compilationName = compilationName,
|
||||
compileTaskName = compileTaskName,
|
||||
compileAllTaskName = compileAllTaskName,
|
||||
defaultSourceSet = defaultSourceSet,
|
||||
decoratedKotlinCompilationFactory = decoratedKotlinCompilationFactory,
|
||||
compilationFactory = compilationFactory ?: decoratedKotlinCompilationFactory,
|
||||
friendArtifactResolver = friendArtifactResolver,
|
||||
compilationAssociator = compilationAssociator,
|
||||
configure = this.configure
|
||||
@@ -55,15 +72,20 @@ fun <T : DecoratedExternalKotlinCompilation> ExternalKotlinCompilationDescriptor
|
||||
}
|
||||
|
||||
@ExternalKotlinTargetApi
|
||||
interface ExternalKotlinCompilationDescriptorBuilder<T : DecoratedExternalKotlinCompilation> {
|
||||
var compilationName: String
|
||||
var compileTaskName: String?
|
||||
var compileAllTaskName: String?
|
||||
var defaultSourceSet: KotlinSourceSet
|
||||
var decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>
|
||||
var friendArtifactResolver: FriendArtifactResolver<T>?
|
||||
var compilationAssociator: CompilationAssociator<T>?
|
||||
var configure: ((T) -> Unit)?
|
||||
class ExternalKotlinCompilationDescriptorBuilder<T : DecoratedExternalKotlinCompilation> internal constructor() {
|
||||
var compilationName: String by Delegates.notNull()
|
||||
var compileTaskName: String? = null
|
||||
var compileAllTaskName: String? = null
|
||||
var defaultSourceSet: KotlinSourceSet by Delegates.notNull()
|
||||
|
||||
@Suppress("deprecation_error")
|
||||
var decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T> by Delegates.notNull()
|
||||
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 {
|
||||
val configure = this.configure
|
||||
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
|
||||
private data class ExternalKotlinCompilationDescriptorImpl<T : DecoratedExternalKotlinCompilation>(
|
||||
override val compilationName: String,
|
||||
override val compileTaskName: String?,
|
||||
override val compileAllTaskName: String?,
|
||||
override val defaultSourceSet: KotlinSourceSet,
|
||||
override val decoratedKotlinCompilationFactory: DecoratedKotlinCompilationFactory<T>,
|
||||
override val compilationFactory: CompilationFactory<T>,
|
||||
override val friendArtifactResolver: FriendArtifactResolver<T>?,
|
||||
override val compilationAssociator: CompilationAssociator<T>?,
|
||||
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 decoratedCompilation = descriptor.decoratedKotlinCompilationFactory.create(Delegate(compilationImpl))
|
||||
val decoratedCompilation = descriptor.compilationFactory.create(Delegate(compilationImpl))
|
||||
descriptor.configure?.invoke(decoratedCompilation)
|
||||
this.delegate.compilations.add(decoratedCompilation)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user