[Gradle] Defer .awaitSourceSets to 'AfterFinaliseRefinesEdges' and awaitFinalValue to 'AfterFinaliseDsl'
KT-58710
This commit is contained in:
committed by
Space Team
parent
27e9732f98
commit
dbfa8d4c29
+1
-1
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
|
||||
+4
-4
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user