diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinMultiplatformPluginLifecycle.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginLifecycle.kt similarity index 74% rename from libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinMultiplatformPluginLifecycle.kt rename to libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginLifecycle.kt index fddfb74307f..d4e6cfde2af 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinMultiplatformPluginLifecycle.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginLifecycle.kt @@ -9,7 +9,7 @@ import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.withContext import org.gradle.api.Project import org.gradle.api.provider.Property -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.* +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.* import org.jetbrains.kotlin.gradle.utils.getOrPut import java.lang.ref.WeakReference import java.util.* @@ -23,18 +23,18 @@ import kotlin.reflect.KProperty Util functions */ -internal fun Project.launch(block: suspend KotlinMultiplatformPluginLifecycle.() -> Unit) { - kotlinMultiplatformPluginLifecycle.launch(block) +internal fun Project.launch(block: suspend KotlinPluginLifecycle.() -> Unit) { + kotlinPluginLifecycle.launch(block) } -internal fun Project.launchInStage(stage: Stage, block: suspend KotlinMultiplatformPluginLifecycle.() -> Unit) { +internal fun Project.launchInStage(stage: Stage, block: suspend KotlinPluginLifecycle.() -> Unit) { launch { await(stage) block() } } -internal fun Project.launchInRequiredStage(stage: Stage, block: suspend KotlinMultiplatformPluginLifecycle.() -> Unit) { +internal fun Project.launchInRequiredStage(stage: Stage, block: suspend KotlinPluginLifecycle.() -> Unit) { launchInStage(stage) { requiredStage(stage) { block() @@ -42,41 +42,42 @@ internal fun Project.launchInRequiredStage(stage: Stage, block: suspend KotlinMu } } -internal val Project.kotlinMultiplatformPluginLifecycle: KotlinMultiplatformPluginLifecycle - get() = extraProperties.getOrPut(KotlinMultiplatformPluginLifecycle::class.java.name) { - KotlinMultiplatformPluginLifecycleImpl(project) +internal val Project.kotlinPluginLifecycle: KotlinPluginLifecycle + get() = extraProperties.getOrPut(KotlinPluginLifecycle::class.java.name) { + KotlinPluginLifecycleImpl(project) } -internal fun Project.startKotlinMultiplatformPluginLifecycle() { - (kotlinMultiplatformPluginLifecycle as KotlinMultiplatformPluginLifecycleImpl).start() +internal fun Project.startKotlinPluginLifecycle() { + (kotlinPluginLifecycle as KotlinPluginLifecycleImpl).start() } -internal suspend fun currentMultiplatformPluginLifecycle(): KotlinMultiplatformPluginLifecycle { +internal suspend fun currentKotlinPluginLifecycle(): KotlinPluginLifecycle { return currentCoroutineContext()[KotlinMultiplatformPluginLifecycleCoroutineContextElement]?.lifecycle ?: error("Missing $KotlinMultiplatformPluginLifecycleCoroutineContextElement in currentCoroutineContext") } internal suspend fun await(stage: Stage) { - currentMultiplatformPluginLifecycle().await(stage) + currentKotlinPluginLifecycle().await(stage) } -internal inline fun Project.newLifecycleAwareProperty( +internal inline fun Project.newKotlinPluginLifecycleAwareProperty( finaliseIn: Stage = Stage.FinaliseDsl, initialValue: T? = null ): LifecycleAwareProperty { - return kotlinMultiplatformPluginLifecycle.newLifecycleAwareProperty(T::class.java, finaliseIn, initialValue) + return kotlinPluginLifecycle.newLifecycleAwareProperty(T::class.java, finaliseIn, initialValue) } -internal suspend fun Property.findLifecycleAwareProperty(): LifecycleAwareProperty? { - return (currentMultiplatformPluginLifecycle() as KotlinMultiplatformPluginLifecycleImpl).findLifecycleAwareProperty(this) +internal suspend fun Property.findKotlinPluginLifecycleAwareProperty(): LifecycleAwareProperty? { + return (currentKotlinPluginLifecycle() as KotlinPluginLifecycleImpl).findLifecycleAwareProperty(this) } internal suspend fun Property.awaitFinalValue(): T? { - val lifecycleAwareProperty = findLifecycleAwareProperty() ?: throw IllegalArgumentException("Property is not lifecycle aware") + val lifecycleAwareProperty = findKotlinPluginLifecycleAwareProperty() + ?: throw IllegalArgumentException("Property is not lifecycle aware") return lifecycleAwareProperty.awaitFinalValue() } -internal suspend fun Property<*>.isLifecycleAware(): Boolean { - return findLifecycleAwareProperty() != null +internal suspend fun Property<*>.isKotlinPluginLifecycleAware(): Boolean { + return findKotlinPluginLifecycleAwareProperty() != null } internal suspend fun requiredStage(stage: Stage, block: suspend () -> T): T { @@ -84,11 +85,11 @@ internal suspend fun requiredStage(stage: Stage, block: suspend () -> T): T } internal suspend fun requireCurrentStage(block: suspend () -> T): T { - return requiredStage(currentMultiplatformPluginLifecycle().stage, block) + return requiredStage(currentKotlinPluginLifecycle().stage, block) } internal suspend fun withRestrictedStages(allowed: Set, block: suspend () -> T): T { - return withContext(RestrictedLifecycleStages(currentMultiplatformPluginLifecycle(), allowed)) { + return withContext(RestrictedLifecycleStages(currentKotlinPluginLifecycle(), allowed)) { block() } } @@ -97,7 +98,7 @@ internal suspend fun withRestrictedStages(allowed: Set, block: suspen Definition of the Lifecycle and its stages */ -internal interface KotlinMultiplatformPluginLifecycle { +internal interface KotlinPluginLifecycle { enum class Stage { Configure, AfterEvaluate, @@ -130,9 +131,9 @@ internal interface KotlinMultiplatformPluginLifecycle { val stage: Stage - fun enqueue(stage: Stage, action: KotlinMultiplatformPluginLifecycle.() -> Unit) + fun enqueue(stage: Stage, action: KotlinPluginLifecycle.() -> Unit) - fun launch(block: suspend KotlinMultiplatformPluginLifecycle.() -> Unit) + fun launch(block: suspend KotlinPluginLifecycle.() -> Unit) suspend fun await(stage: Stage) @@ -155,9 +156,9 @@ internal interface KotlinMultiplatformPluginLifecycle { Implementation */ -private class KotlinMultiplatformPluginLifecycleImpl(override val project: Project) : KotlinMultiplatformPluginLifecycle { +private class KotlinPluginLifecycleImpl(override val project: Project) : KotlinPluginLifecycle { private val enqueuedStages: ArrayDeque = ArrayDeque(Stage.values) - private val enqueuedActions: Map Unit>> = + private val enqueuedActions: Map Unit>> = Stage.values().associateWith { ArrayDeque() } private var configureLoopRunning = AtomicBoolean(false) @@ -168,11 +169,11 @@ private class KotlinMultiplatformPluginLifecycleImpl(override val project: Proje fun start() { check(!isStarted.getAndSet(true)) { - "${KotlinMultiplatformPluginLifecycle::class.java.name} already started" + "${KotlinPluginLifecycle::class.java.name} already started" } check(!project.state.executed) { - "${KotlinMultiplatformPluginLifecycle::class.java.name} cannot be started in ProjectState '${project.state}'" + "${KotlinPluginLifecycle::class.java.name} cannot be started in ProjectState '${project.state}'" } project.whenEvaluated { @@ -213,7 +214,7 @@ private class KotlinMultiplatformPluginLifecycleImpl(override val project: Proje override var stage: Stage = enqueuedStages.removeFirst() - override fun enqueue(stage: Stage, action: KotlinMultiplatformPluginLifecycle.() -> Unit) { + override fun enqueue(stage: Stage, action: KotlinPluginLifecycle.() -> Unit) { if (stage < this.stage) { throw IllegalLifecycleException("Cannot enqueue Action for stage '${this.stage}' in current stage '${this.stage}'") } @@ -225,10 +226,10 @@ private class KotlinMultiplatformPluginLifecycleImpl(override val project: Proje } } - override fun launch(block: suspend KotlinMultiplatformPluginLifecycle.() -> Unit) { + override fun launch(block: suspend KotlinPluginLifecycle.() -> Unit) { val lifecycle = this - check(isStarted.get()) { "Cannot launch when ${KotlinMultiplatformPluginLifecycle::class.simpleName} is not started" } - check(!isFinished.get()) { "Cannot launch when ${KotlinMultiplatformPluginLifecycle::class.simpleName} is already finished" } + check(isStarted.get()) { "Cannot launch when ${KotlinPluginLifecycle::class.simpleName} is not started" } + check(!isFinished.get()) { "Cannot launch when ${KotlinPluginLifecycle::class.simpleName} is already finished" } val coroutine = block.createCoroutine(this, object : Continuation { override val context: CoroutineContext = EmptyCoroutineContext + @@ -277,7 +278,7 @@ private class KotlinMultiplatformPluginLifecycleImpl(override val project: Proje } private class KotlinMultiplatformPluginLifecycleCoroutineContextElement( - val lifecycle: KotlinMultiplatformPluginLifecycle + val lifecycle: KotlinPluginLifecycle ) : CoroutineContext.Element { companion object Key : CoroutineContext.Key @@ -285,7 +286,7 @@ private class KotlinMultiplatformPluginLifecycleCoroutineContextElement( } private class RestrictedLifecycleStages( - private val lifecycle: KotlinMultiplatformPluginLifecycle, + private val lifecycle: KotlinPluginLifecycle, private val allowedStages: Set, ) : CoroutineContext.Element, ContinuationInterceptor { @OptIn(ExperimentalStdlibApi::class) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt index 4e119987107..26234edc9d6 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt @@ -77,7 +77,7 @@ abstract class DefaultKotlinBasePlugin : KotlinBasePlugin { checkGradleCompatibility() - project.startKotlinMultiplatformPluginLifecycle() + project.startKotlinPluginLifecycle() project.gradle.projectsEvaluated { whenBuildEvaluated(project) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index 9d31a12b562..97220870a5e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -172,7 +172,7 @@ class KotlinMultiplatformPlugin : Plugin { val production = sourceSets.create(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME) val test = sourceSets.create(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME) targets.all { target -> - project.launchInStage(KotlinMultiplatformPluginLifecycle.Stage.FinaliseRefinesEdges) { + project.launchInStage(KotlinPluginLifecycle.Stage.FinaliseRefinesEdges) { /* Only setup default refines edges when no KotlinTargetHierarchy was applied */ if (project.multiplatformExtension.internalKotlinTargetHierarchy.appliedDescriptors.isNotEmpty()) return@launchInStage diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/targetHierarchy/applyKotlinTargetHierarchy.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/targetHierarchy/applyKotlinTargetHierarchy.kt index 622947fbb0a..c057acfbc0e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/targetHierarchy/applyKotlinTargetHierarchy.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/targetHierarchy/applyKotlinTargetHierarchy.kt @@ -8,8 +8,8 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy import org.gradle.api.DomainObjectCollection import org.gradle.api.NamedDomainObjectContainer import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage.Companion.upTo +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.Companion.upTo import org.jetbrains.kotlin.gradle.plugin.mpp.internal internal fun applyKotlinTargetHierarchy( @@ -21,7 +21,7 @@ internal fun applyKotlinTargetHierarchy( .matching { target -> target.platformType != KotlinPlatformType.common } .all { target -> target.compilations.all forCompilation@{ compilation -> - target.project.kotlinMultiplatformPluginLifecycle.launch { + target.project.kotlinPluginLifecycle.launch { withRestrictedStages(upTo(Stage.FinaliseRefinesEdges)) { val hierarchy = hierarchyDescriptor.buildKotlinTargetHierarchy(compilation) ?: return@withRestrictedStages applyKotlinTargetHierarchy(hierarchy, compilation, sourceSets) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/AbstractKotlinSourceSet.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/AbstractKotlinSourceSet.kt index d0085ec8157..538c9200b1f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/AbstractKotlinSourceSet.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/AbstractKotlinSourceSet.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.gradle.plugin.sources import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet -import org.jetbrains.kotlin.gradle.plugin.kotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.kotlinPluginLifecycle import org.jetbrains.kotlin.gradle.utils.MutableObservableSet import org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl import org.jetbrains.kotlin.gradle.utils.ObservableSet @@ -34,8 +34,8 @@ abstract class AbstractKotlinSourceSet : InternalKotlinSourceSet { final override fun dependsOn(other: KotlinSourceSet) { if (other == this) return - assert(project.kotlinMultiplatformPluginLifecycle.stage <= KotlinMultiplatformPluginLifecycle.Stage.FinaliseRefinesEdges) { - "Illegal 'dependsOn' call in stage '${project.kotlinMultiplatformPluginLifecycle.stage}'" + assert(project.kotlinPluginLifecycle.stage <= KotlinPluginLifecycle.Stage.FinaliseRefinesEdges) { + "Illegal 'dependsOn' call in stage '${project.kotlinPluginLifecycle.stage}'" } /* diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/android/configurator/MultiplatformLayoutV2DependsOnConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/android/configurator/MultiplatformLayoutV2DependsOnConfigurator.kt index 8d5d1232770..6a21399ed9f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/android/configurator/MultiplatformLayoutV2DependsOnConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/android/configurator/MultiplatformLayoutV2DependsOnConfigurator.kt @@ -9,7 +9,7 @@ import com.android.build.gradle.api.AndroidSourceSet import com.android.build.gradle.api.BaseVariant import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy import org.jetbrains.kotlin.gradle.plugin.launchInStage @@ -32,7 +32,7 @@ internal object MultiplatformLayoutV2DependsOnConfigurator : KotlinAndroidSource } private fun setDefaultDependsOn(target: KotlinAndroidTarget, kotlinSourceSet: KotlinSourceSet, variantType: AndroidVariantType) { - target.project.launchInStage(KotlinMultiplatformPluginLifecycle.Stage.FinaliseRefinesEdges) { + target.project.launchInStage(KotlinPluginLifecycle.Stage.FinaliseRefinesEdges) { /* Only setup default if not KotlinTargetHierarchy was applied */ if (target.project.multiplatformExtensionOrNull?.internalKotlinTargetHierarchy?.appliedDescriptors.orEmpty().isNotEmpty()) { return@launchInStage diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetVariantTypeDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetVariantTypeDsl.kt index 58d93a1e4b6..489a9afedd2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetVariantTypeDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetVariantTypeDsl.kt @@ -9,9 +9,9 @@ import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.provider.Property import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage.FinaliseDsl +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.FinaliseDsl import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy -import org.jetbrains.kotlin.gradle.plugin.newLifecycleAwareProperty +import org.jetbrains.kotlin.gradle.plugin.newKotlinPluginLifecycleAwareProperty @ExperimentalKotlinGradlePluginApi interface KotlinAndroidTargetVariantTypeDsl { @@ -27,7 +27,7 @@ interface KotlinAndroidTargetVariantTypeDsl { internal class KotlinAndroidTargetVariantTypeDslImpl(private val project: Project) : KotlinAndroidTargetVariantTypeDsl { internal inner class TargetHierarchyDslImpl : KotlinAndroidTargetVariantTypeDsl.TargetHierarchyDsl { - override val module: Property by project.newLifecycleAwareProperty(FinaliseDsl) + override val module: Property by project.newKotlinPluginLifecycleAwareProperty(FinaliseDsl) } override val targetHierarchy: KotlinAndroidTargetVariantTypeDsl.TargetHierarchyDsl = TargetHierarchyDslImpl() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt index 52fa818100d..5068fc8a3df 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt @@ -175,7 +175,7 @@ class KotlinMetadataTargetConfigurator : private fun createMetadataCompilationsForCommonSourceSets( target: KotlinMetadataTarget, allMetadataJar: TaskProvider - ) = target.project.launchInStage(KotlinMultiplatformPluginLifecycle.Stage.FinaliseCompilations) { + ) = target.project.launchInStage(KotlinPluginLifecycle.Stage.FinaliseCompilations) { // Do this after all targets are configured by the user build script val publishedCommonSourceSets: Set = getCommonSourceSetsForMetadataCompilation(project) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinAndroidTargetVariantTypeDslImplTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinAndroidTargetVariantTypeDslImplTest.kt index f03b1325492..b8436bc327f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinAndroidTargetVariantTypeDslImplTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinAndroidTargetVariantTypeDslImplTest.kt @@ -9,10 +9,10 @@ package org.jetbrains.kotlin.gradle.unitTests import junit.framework.TestCase.assertNull import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue -import org.jetbrains.kotlin.gradle.plugin.currentMultiplatformPluginLifecycle -import org.jetbrains.kotlin.gradle.plugin.kotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.kotlinPluginLifecycle import org.jetbrains.kotlin.gradle.targets.android.KotlinAndroidTargetVariantTypeDslImpl import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest @@ -27,7 +27,7 @@ class KotlinAndroidTargetVariantTypeDslImplTest { @Test fun `test - module - not set`() = project.runLifecycleAwareTest { - project.kotlinMultiplatformPluginLifecycle.launch { + project.kotlinPluginLifecycle.launch { assertNull(dsl.targetHierarchy.module.orNull) assertNull(dsl.targetHierarchy.module.awaitFinalValue()) } @@ -38,16 +38,16 @@ class KotlinAndroidTargetVariantTypeDslImplTest { afterEvaluate { dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("x")) } dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("-set-before-after-evaluate-")) assertEquals("x", dsl.targetHierarchy.module.awaitFinalValue()?.name) - assertEquals(KotlinMultiplatformPluginLifecycle.Stage.FinaliseDsl, currentMultiplatformPluginLifecycle().stage) + assertEquals(KotlinPluginLifecycle.Stage.FinaliseDsl, currentKotlinPluginLifecycle().stage) } @Test fun `test - module - cannot be set after FinaliseDsl`() = project.runLifecycleAwareTest { - launchInStage(KotlinMultiplatformPluginLifecycle.Stage.BeforeFinaliseDsl) { + launchInStage(KotlinPluginLifecycle.Stage.BeforeFinaliseDsl) { dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("x")) } - launchInStage(KotlinMultiplatformPluginLifecycle.Stage.FinaliseDsl) { + launchInStage(KotlinPluginLifecycle.Stage.FinaliseDsl) { assertFails { dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("y")) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinMultiplatformPluginLifecycleTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinPluginLifecycleTest.kt similarity index 97% rename from libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinMultiplatformPluginLifecycleTest.kt rename to libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinPluginLifecycleTest.kt index 6ae7c2e45de..84ec7edb8c9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinMultiplatformPluginLifecycleTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinPluginLifecycleTest.kt @@ -9,9 +9,9 @@ package org.jetbrains.kotlin.gradle.unitTests import org.gradle.api.ProjectConfigurationException import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.IllegalLifecycleException -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage.* +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.IllegalLifecycleException +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.* import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest import org.jetbrains.kotlin.tooling.core.withLinearClosure @@ -20,10 +20,10 @@ import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicInteger import kotlin.test.* -class KotlinMultiplatformPluginLifecycleTest { +class KotlinPluginLifecycleTest { private val project = buildProjectWithMPP() - private val lifecycle = project.kotlinMultiplatformPluginLifecycle + private val lifecycle = project.kotlinPluginLifecycle @Test fun `test - configure phase is executed right away`() { diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/LifecycleAwarePropertyTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/LifecycleAwarePropertyTest.kt index 1f254b199cf..faaf4bb6dca 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/LifecycleAwarePropertyTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/LifecycleAwarePropertyTest.kt @@ -8,11 +8,11 @@ package org.jetbrains.kotlin.gradle.unitTests import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle.Stage.* +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.* import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue -import org.jetbrains.kotlin.gradle.plugin.currentMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.launchInStage -import org.jetbrains.kotlin.gradle.plugin.newLifecycleAwareProperty +import org.jetbrains.kotlin.gradle.plugin.newKotlinPluginLifecycleAwareProperty import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest import org.jetbrains.kotlin.gradle.utils.newProperty @@ -27,8 +27,8 @@ class LifecycleAwarePropertyTest { @Test fun `test - awaitFinalValue`() = project.runLifecycleAwareTest { - val property by project.newLifecycleAwareProperty(AfterFinaliseRefinesEdges) - assertTrue(property.isLifecycleAware()) + val property by project.newKotlinPluginLifecycleAwareProperty(AfterFinaliseRefinesEdges) + assertTrue(property.isKotlinPluginLifecycleAware()) launchInStage(BeforeFinaliseRefinesEdges) { property.set(1) @@ -39,21 +39,21 @@ class LifecycleAwarePropertyTest { property.set(2) } - assertEquals(Configure, currentMultiplatformPluginLifecycle().stage) + assertEquals(Configure, currentKotlinPluginLifecycle().stage) assertEquals(2, property.awaitFinalValue()) - assertEquals(AfterFinaliseRefinesEdges, currentMultiplatformPluginLifecycle().stage) + assertEquals(AfterFinaliseRefinesEdges, currentKotlinPluginLifecycle().stage) } @Test fun `test - awaitFinalValue - on non lifecycle aware property`() = project.runLifecycleAwareTest { val property = project.newProperty() - assertFalse(property.isLifecycleAware()) + assertFalse(property.isKotlinPluginLifecycleAware()) assertFailsWith { property.awaitFinalValue() } } @Test fun `test - changing value after finalized`() = project.runLifecycleAwareTest { - val property by project.newLifecycleAwareProperty(AfterEvaluate) + val property by project.newKotlinPluginLifecycleAwareProperty(AfterEvaluate) property.set(1) launchInStage(AfterEvaluate) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/sources/InternalKotlinSourceSetTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/sources/InternalKotlinSourceSetTest.kt index e83b2b20869..30e7bdfa868 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/sources/InternalKotlinSourceSetTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/sources/InternalKotlinSourceSetTest.kt @@ -9,7 +9,7 @@ package org.jetbrains.kotlin.gradle.unitTests.sources import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation -import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.launchInStage import org.jetbrains.kotlin.gradle.plugin.mpp.getHostSpecificMainSharedSourceSets @@ -70,7 +70,7 @@ class InternalKotlinSourceSetTest { nativeMain.internal.compilations ) - project.launchInStage(KotlinMultiplatformPluginLifecycle.Stage.Finalised) { + project.launchInStage(KotlinPluginLifecycle.Stage.Finalised) { assertEquals>>( setOf( metadataCompilation, diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/util/lifecycleUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/util/lifecycleUtils.kt index fbada7b518a..a44e86eec28 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/util/lifecycleUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/util/lifecycleUtils.kt @@ -7,9 +7,9 @@ package org.jetbrains.kotlin.gradle.util import org.gradle.api.Project import org.gradle.api.internal.project.ProjectInternal -import org.jetbrains.kotlin.gradle.plugin.kotlinMultiplatformPluginLifecycle +import org.jetbrains.kotlin.gradle.plugin.kotlinPluginLifecycle fun Project.runLifecycleAwareTest(block: suspend Project.() -> Unit) { - kotlinMultiplatformPluginLifecycle.launch { block() } + kotlinPluginLifecycle.launch { block() } (this as ProjectInternal).evaluate() } \ No newline at end of file