[Gradle] Defer .awaitSourceSets to 'AfterFinaliseRefinesEdges' and awaitFinalValue to 'AfterFinaliseDsl'

KT-58710
This commit is contained in:
Sebastian Sellmair
2023-05-16 11:50:56 +02:00
committed by Space Team
parent 27e9732f98
commit dbfa8d4c29
4 changed files with 8 additions and 8 deletions
@@ -177,7 +177,7 @@ open class KotlinProjectExtension @Inject constructor(project: Project) : Kotlin
} }
internal suspend fun awaitSourceSets(): NamedDomainObjectContainer<KotlinSourceSet> { internal suspend fun awaitSourceSets(): NamedDomainObjectContainer<KotlinSourceSet> {
KotlinPluginLifecycle.Stage.AfterFinaliseDsl.await() KotlinPluginLifecycle.Stage.AfterFinaliseRefinesEdges.await()
return sourceSets return sourceSets
} }
} }
@@ -182,7 +182,7 @@ internal suspend fun Stage.await() {
* final value. * final value.
*/ */
internal suspend fun <T : Any> Property<T>.awaitFinalValue(): T? { internal suspend fun <T : Any> Property<T>.awaitFinalValue(): T? {
Stage.FinaliseDsl.await() Stage.AfterFinaliseDsl.await()
finalizeValue() finalizeValue()
return orNull return orNull
} }
@@ -275,11 +275,11 @@ internal open class CInteropCommonizerTask
.mapNotNull { compilation -> CInteropCommonizerDependent.from(compilation) } .mapNotNull { compilation -> CInteropCommonizerDependent.from(compilation) }
.toSet() .toSet()
val fromSourceSets = multiplatformExtension.sourceSets val fromSourceSets = multiplatformExtension.awaitSourceSets()
.mapNotNull { sourceSet -> CInteropCommonizerDependent.from(sourceSet) } .mapNotNull { sourceSet -> CInteropCommonizerDependent.from(sourceSet) }
.toSet() .toSet()
val fromSourceSetsAssociateCompilations = multiplatformExtension.sourceSets val fromSourceSetsAssociateCompilations = multiplatformExtension.awaitSourceSets()
.mapNotNull { sourceSet -> CInteropCommonizerDependent.fromAssociateCompilations(sourceSet) } .mapNotNull { sourceSet -> CInteropCommonizerDependent.fromAssociateCompilations(sourceSet) }
.toSet() .toSet()
@@ -7,9 +7,9 @@
package org.jetbrains.kotlin.gradle.unitTests package org.jetbrains.kotlin.gradle.unitTests
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.EvaluateBuildscript import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.*
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.FinaliseDsl
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle
import org.jetbrains.kotlin.gradle.plugin.launchInStage import org.jetbrains.kotlin.gradle.plugin.launchInStage
@@ -40,7 +40,7 @@ class LifecycleAwaitFinalPropertyValueTest {
assertEquals(EvaluateBuildscript, currentKotlinPluginLifecycle().stage) assertEquals(EvaluateBuildscript, currentKotlinPluginLifecycle().stage)
assertEquals(2, property.awaitFinalValue()) assertEquals(2, property.awaitFinalValue())
assertEquals(FinaliseDsl, currentKotlinPluginLifecycle().stage) assertEquals(AfterFinaliseDsl, currentKotlinPluginLifecycle().stage)
} }
@Test @Test
@@ -48,7 +48,7 @@ class LifecycleAwaitFinalPropertyValueTest {
val property = project.newProperty<Int>() val property = project.newProperty<Int>()
property.set(1) property.set(1)
launchInStage(FinaliseDsl.previousOrThrow) { launch {
property.awaitFinalValue() property.awaitFinalValue()
} }