[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> {
|
internal suspend fun awaitSourceSets(): NamedDomainObjectContainer<KotlinSourceSet> {
|
||||||
KotlinPluginLifecycle.Stage.AfterFinaliseDsl.await()
|
KotlinPluginLifecycle.Stage.AfterFinaliseRefinesEdges.await()
|
||||||
return sourceSets
|
return sourceSets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -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()
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -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()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user