[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> {
KotlinPluginLifecycle.Stage.AfterFinaliseDsl.await()
KotlinPluginLifecycle.Stage.AfterFinaliseRefinesEdges.await()
return sourceSets
}
}
@@ -182,7 +182,7 @@ internal suspend fun Stage.await() {
* final value.
*/
internal suspend fun <T : Any> Property<T>.awaitFinalValue(): T? {
Stage.FinaliseDsl.await()
Stage.AfterFinaliseDsl.await()
finalizeValue()
return orNull
}
@@ -275,11 +275,11 @@ internal open class CInteropCommonizerTask
.mapNotNull { compilation -> CInteropCommonizerDependent.from(compilation) }
.toSet()
val fromSourceSets = multiplatformExtension.sourceSets
val fromSourceSets = multiplatformExtension.awaitSourceSets()
.mapNotNull { sourceSet -> CInteropCommonizerDependent.from(sourceSet) }
.toSet()
val fromSourceSetsAssociateCompilations = multiplatformExtension.sourceSets
val fromSourceSetsAssociateCompilations = multiplatformExtension.awaitSourceSets()
.mapNotNull { sourceSet -> CInteropCommonizerDependent.fromAssociateCompilations(sourceSet) }
.toSet()
@@ -7,9 +7,9 @@
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.Stage.EvaluateBuildscript
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.FinaliseDsl
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.*
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle
import org.jetbrains.kotlin.gradle.plugin.launchInStage
@@ -40,7 +40,7 @@ class LifecycleAwaitFinalPropertyValueTest {
assertEquals(EvaluateBuildscript, currentKotlinPluginLifecycle().stage)
assertEquals(2, property.awaitFinalValue())
assertEquals(FinaliseDsl, currentKotlinPluginLifecycle().stage)
assertEquals(AfterFinaliseDsl, currentKotlinPluginLifecycle().stage)
}
@Test
@@ -48,7 +48,7 @@ class LifecycleAwaitFinalPropertyValueTest {
val property = project.newProperty<Int>()
property.set(1)
launchInStage(FinaliseDsl.previousOrThrow) {
launch {
property.awaitFinalValue()
}