[Gradle] Move KotlinTargetHierarchy/Android configuration from KotlinAndroidTarget to KotlniTargetHierarchyDsl
^KT-58209 Verification Pending
This commit is contained in:
committed by
Space Team
parent
bc1abb2e6a
commit
bd0f54564d
@@ -142,6 +142,16 @@ public abstract interface class org/jetbrains/kotlin/gradle/dsl/KaptJavacOption
|
||||
public abstract fun option (Ljava/lang/Object;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinAndroidTargetHierarchyDsl {
|
||||
public abstract fun getInstrumentedTest ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinAndroidVariantHierarchyDsl;
|
||||
public abstract fun getMain ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinAndroidVariantHierarchyDsl;
|
||||
public abstract fun getUnitTest ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinAndroidVariantHierarchyDsl;
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinAndroidVariantHierarchyDsl {
|
||||
public abstract fun getSourceSetTree ()Lorg/gradle/api/provider/Property;
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinArtifact : org/gradle/api/Named, org/gradle/api/plugins/ExtensionAware {
|
||||
public abstract fun getArtifactName ()Ljava/lang/String;
|
||||
public abstract fun getModules ()Ljava/util/Set;
|
||||
@@ -520,9 +530,11 @@ public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinNativeXCFr
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinTargetHierarchyDsl {
|
||||
public abstract fun android (Lkotlin/jvm/functions/Function1;)V
|
||||
public abstract fun apply (Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyDescriptor;Lkotlin/jvm/functions/Function1;)V
|
||||
public abstract fun custom (Lkotlin/jvm/functions/Function1;)V
|
||||
public abstract fun default (Lkotlin/jvm/functions/Function1;)V
|
||||
public abstract fun getAndroid ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinAndroidTargetHierarchyDsl;
|
||||
}
|
||||
|
||||
public final class org/jetbrains/kotlin/gradle/dsl/KotlinTargetHierarchyDsl$DefaultImpls {
|
||||
@@ -1066,8 +1078,8 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTargetE
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy {
|
||||
}
|
||||
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName {
|
||||
public static final field Companion Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName$Companion;
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree {
|
||||
public static final field Companion Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree$Companion;
|
||||
public fun <init> (Ljava/lang/String;)V
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public final fun getName ()Ljava/lang/String;
|
||||
@@ -1075,12 +1087,12 @@ public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$Modu
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName$Companion {
|
||||
public final fun getInstrumentedTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;
|
||||
public final fun getIntegrationTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;
|
||||
public final fun getMain ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;
|
||||
public final fun getTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;
|
||||
public final fun getUnitTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree$Companion {
|
||||
public final fun getInstrumentedTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;
|
||||
public final fun getIntegrationTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;
|
||||
public final fun getMain ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;
|
||||
public final fun getTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;
|
||||
public final fun getUnitTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyBuilder {
|
||||
@@ -1140,9 +1152,9 @@ public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyBuild
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyBuilder$Root : org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyBuilder {
|
||||
public abstract fun excludeModule ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;)V
|
||||
public abstract fun modules ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;)V
|
||||
public abstract fun withModule ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$ModuleName;)V
|
||||
public abstract fun excludeSourceSetTree ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;)V
|
||||
public abstract fun sourceSetTrees ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;)V
|
||||
public abstract fun withSourceSetTree ([Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchy$SourceSetTree;)V
|
||||
}
|
||||
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/KotlinTargetHierarchyBuilder$Root$DefaultImpls {
|
||||
|
||||
+38
@@ -5,8 +5,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.dsl
|
||||
|
||||
import org.gradle.api.provider.Property
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy.SourceSetTree
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyBuilder
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
|
||||
|
||||
@@ -81,5 +84,40 @@ interface KotlinTargetHierarchyDsl {
|
||||
* @see KotlinTargetHierarchyDescriptor.extend
|
||||
*/
|
||||
fun default(describeExtension: (KotlinTargetHierarchyBuilder.Root.() -> Unit)? = null)
|
||||
|
||||
fun custom(describe: KotlinTargetHierarchyBuilder.Root.() -> Unit)
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
fun android(configure: KotlinAndroidTargetHierarchyDsl.() -> Unit)
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val android: KotlinAndroidTargetHierarchyDsl
|
||||
}
|
||||
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
interface KotlinAndroidTargetHierarchyDsl {
|
||||
val main: KotlinAndroidVariantHierarchyDsl
|
||||
val unitTest: KotlinAndroidVariantHierarchyDsl
|
||||
val instrumentedTest: KotlinAndroidVariantHierarchyDsl
|
||||
}
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
interface KotlinAndroidVariantHierarchyDsl {
|
||||
/**
|
||||
* Configures under which [SourceSetTree] the currently configured Android Variant shall be placed.
|
||||
* e.g.
|
||||
*
|
||||
* ```kotlin
|
||||
* kotlin {
|
||||
* targetHierarchy.android {
|
||||
* instrumentedTest.sourceSetTree.set(SourceSetTree.test)
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* Will ensure that all android instrumented tests (androidInstrumentedTest, androidInstrumentedTestDebug, ...)
|
||||
* will be placed into the 'test' SourceSet tree (with 'commonTest' as root)
|
||||
*/
|
||||
val sourceSetTree: Property<SourceSetTree>
|
||||
}
|
||||
+3
-1
@@ -58,7 +58,9 @@ abstract class KotlinMultiplatformExtension(project: Project) :
|
||||
configure(presetExtension)
|
||||
}
|
||||
|
||||
internal val internalKotlinTargetHierarchy by lazy { KotlinTargetHierarchyDslImpl(targets, sourceSets) }
|
||||
internal val internalKotlinTargetHierarchy by lazy {
|
||||
KotlinTargetHierarchyDslImpl(project.kotlinPluginLifecycle, targets, sourceSets)
|
||||
}
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val targetHierarchy: KotlinTargetHierarchyDsl get() = internalKotlinTargetHierarchy
|
||||
|
||||
+14
-8
@@ -5,6 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy.SourceSetTree
|
||||
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
|
||||
@@ -26,12 +29,15 @@ internal suspend fun SourceSetTree.Companion.orNull(compilation: KotlinCompilati
|
||||
internal suspend fun SourceSetTree.Companion.orNull(
|
||||
target: KotlinAndroidTarget,
|
||||
variantType: AndroidVariantType
|
||||
): SourceSetTree? = when (variantType) {
|
||||
AndroidVariantType.Main ->
|
||||
target.main.targetHierarchy.sourceSetTree.awaitFinalValue() ?: main
|
||||
AndroidVariantType.UnitTest ->
|
||||
target.unitTest.targetHierarchy.sourceSetTree.awaitFinalValue() ?: test
|
||||
AndroidVariantType.InstrumentedTest ->
|
||||
target.instrumentedTest.targetHierarchy.sourceSetTree.awaitFinalValue() ?: instrumentedTest
|
||||
AndroidVariantType.Unknown -> null
|
||||
): SourceSetTree? {
|
||||
val multiplatform = target.project.multiplatformExtensionOrNull ?: return null
|
||||
return when (variantType) {
|
||||
AndroidVariantType.Main ->
|
||||
multiplatform.targetHierarchy.android.main.sourceSetTree.awaitFinalValue() ?: main
|
||||
AndroidVariantType.UnitTest ->
|
||||
multiplatform.targetHierarchy.android.unitTest.sourceSetTree.awaitFinalValue() ?: test
|
||||
AndroidVariantType.InstrumentedTest ->
|
||||
multiplatform.targetHierarchy.android.instrumentedTest.sourceSetTree.awaitFinalValue() ?: instrumentedTest
|
||||
AndroidVariantType.Unknown -> null
|
||||
}
|
||||
}
|
||||
|
||||
+24
-5
@@ -7,13 +7,16 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy
|
||||
|
||||
import org.gradle.api.DomainObjectCollection
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.provider.Property
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidTargetHierarchyDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidVariantHierarchyDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinTargetHierarchyDsl
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyBuilder
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.utils.property
|
||||
|
||||
internal class KotlinTargetHierarchyDslImpl(
|
||||
private val lifecycle: KotlinPluginLifecycle,
|
||||
private val targets: DomainObjectCollection<KotlinTarget>,
|
||||
private val sourceSets: NamedDomainObjectContainer<KotlinSourceSet>
|
||||
) : KotlinTargetHierarchyDsl {
|
||||
@@ -21,6 +24,8 @@ internal class KotlinTargetHierarchyDslImpl(
|
||||
private val _appliedDescriptors = mutableListOf<KotlinTargetHierarchyDescriptor>()
|
||||
val appliedDescriptors: List<KotlinTargetHierarchyDescriptor> get() = _appliedDescriptors
|
||||
|
||||
override val android: KotlinAndroidTargetHierarchyDsl = KotlinAndroidTargetHierarchyDslImpl(lifecycle)
|
||||
|
||||
override fun apply(
|
||||
hierarchyDescriptor: KotlinTargetHierarchyDescriptor,
|
||||
describeExtension: (KotlinTargetHierarchyBuilder.Root.() -> Unit)?
|
||||
@@ -37,7 +42,21 @@ internal class KotlinTargetHierarchyDslImpl(
|
||||
override fun custom(describe: KotlinTargetHierarchyBuilder.Root.() -> Unit) {
|
||||
apply(KotlinTargetHierarchyDescriptor(describe))
|
||||
}
|
||||
|
||||
override fun android(configure: KotlinAndroidTargetHierarchyDsl.() -> Unit) {
|
||||
android.configure()
|
||||
}
|
||||
}
|
||||
|
||||
private fun KotlinTargetHierarchyDescriptor.extendIfNotNull(describe: (KotlinTargetHierarchyBuilder.Root.() -> Unit)?) =
|
||||
if (describe == null) this else extend(describe)
|
||||
if (describe == null) this else extend(describe)
|
||||
|
||||
internal class KotlinAndroidTargetHierarchyDslImpl(lifecycle: KotlinPluginLifecycle) : KotlinAndroidTargetHierarchyDsl {
|
||||
override val main: KotlinAndroidVariantHierarchyDsl = KotlinAndroidVariantHierarchyDslImpl(lifecycle)
|
||||
override val unitTest: KotlinAndroidVariantHierarchyDsl = KotlinAndroidVariantHierarchyDslImpl(lifecycle)
|
||||
override val instrumentedTest: KotlinAndroidVariantHierarchyDsl = KotlinAndroidVariantHierarchyDslImpl(lifecycle)
|
||||
}
|
||||
|
||||
internal class KotlinAndroidVariantHierarchyDslImpl(lifecycle: KotlinPluginLifecycle) : KotlinAndroidVariantHierarchyDsl {
|
||||
override val sourceSetTree: Property<KotlinTargetHierarchy.SourceSetTree> by lifecycle.newProperty()
|
||||
}
|
||||
-11
@@ -14,11 +14,8 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.gradle.api.attributes.Attribute
|
||||
import org.gradle.api.attributes.AttributeContainer
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.copyAttributes
|
||||
import org.jetbrains.kotlin.gradle.targets.android.KotlinAndroidTargetVariantTypeDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.android.KotlinAndroidTargetVariantTypeDslImpl
|
||||
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
|
||||
import org.jetbrains.kotlin.gradle.utils.forAllAndroidVariants
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
@@ -40,14 +37,6 @@ abstract class KotlinAndroidTarget @Inject constructor(
|
||||
override val compilations: NamedDomainObjectContainer<out KotlinJvmAndroidCompilation> =
|
||||
project.container(KotlinJvmAndroidCompilation::class.java)
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val main: KotlinAndroidTargetVariantTypeDsl = KotlinAndroidTargetVariantTypeDslImpl(project)
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val unitTest: KotlinAndroidTargetVariantTypeDsl = KotlinAndroidTargetVariantTypeDslImpl(project)
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val instrumentedTest: KotlinAndroidTargetVariantTypeDsl = KotlinAndroidTargetVariantTypeDslImpl(project)
|
||||
|
||||
/** Names of the Android library variants that should be published from the target's project within the default publications which are
|
||||
* set up if the `maven-publish` Gradle plugin is applied.
|
||||
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.android
|
||||
|
||||
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.KotlinPluginLifecycle.Stage.FinaliseDsl
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchy
|
||||
import org.jetbrains.kotlin.gradle.plugin.newKotlinPluginLifecycleAwareProperty
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
interface KotlinAndroidTargetVariantTypeDsl {
|
||||
interface TargetHierarchyDsl {
|
||||
/**
|
||||
* See [KotlinTargetHierarchy.SourceSetTree]
|
||||
*/
|
||||
val sourceSetTree: Property<KotlinTargetHierarchy.SourceSetTree>
|
||||
}
|
||||
|
||||
val targetHierarchy: TargetHierarchyDsl
|
||||
fun targetHierarchy(configure: TargetHierarchyDsl.() -> Unit): Unit = targetHierarchy.configure()
|
||||
fun targetHierarchy(configure: Action<@UnsafeVariance TargetHierarchyDsl>): Unit = configure.execute(targetHierarchy)
|
||||
}
|
||||
|
||||
|
||||
internal class KotlinAndroidTargetVariantTypeDslImpl(private val project: Project) : KotlinAndroidTargetVariantTypeDsl {
|
||||
internal inner class TargetHierarchyDslImpl : KotlinAndroidTargetVariantTypeDsl.TargetHierarchyDsl {
|
||||
override val sourceSetTree: Property<KotlinTargetHierarchy.SourceSetTree>
|
||||
by project.newKotlinPluginLifecycleAwareProperty(FinaliseDsl)
|
||||
}
|
||||
|
||||
override val targetHierarchy: KotlinAndroidTargetVariantTypeDsl.TargetHierarchyDsl = TargetHierarchyDslImpl()
|
||||
}
|
||||
+25
-21
@@ -15,41 +15,41 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.AfterFinal
|
||||
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
|
||||
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.plugin.mpp.targetHierarchy.KotlinAndroidVariantHierarchyDslImpl
|
||||
import org.jetbrains.kotlin.gradle.util.*
|
||||
import org.junit.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFails
|
||||
|
||||
class KotlinAndroidTargetVariantTypeDslImplTest {
|
||||
private val project = buildProjectWithMPP()
|
||||
private val dsl = KotlinAndroidTargetVariantTypeDslImpl(project)
|
||||
|
||||
class KotlinAndroidTargetHierarchyDsl {
|
||||
|
||||
@Test
|
||||
fun `test - module - not set`() = project.runLifecycleAwareTest {
|
||||
fun `test - module - not set`() = buildProjectWithMPP().runLifecycleAwareTest {
|
||||
val dsl = KotlinAndroidVariantHierarchyDslImpl(project.kotlinPluginLifecycle)
|
||||
project.kotlinPluginLifecycle.launch {
|
||||
assertNull(dsl.targetHierarchy.sourceSetTree.orNull)
|
||||
assertNull(dsl.targetHierarchy.sourceSetTree.awaitFinalValue())
|
||||
assertNull(dsl.sourceSetTree.orNull)
|
||||
assertNull(dsl.sourceSetTree.awaitFinalValue())
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test - module - can be set in users afterEvaluate`() = project.runLifecycleAwareTest {
|
||||
afterEvaluate { dsl.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("x")) }
|
||||
dsl.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("-set-before-after-evaluate-"))
|
||||
assertEquals("x", dsl.targetHierarchy.sourceSetTree.awaitFinalValue()?.name)
|
||||
fun `test - module - can be set in users afterEvaluate`() = buildProjectWithMPP().runLifecycleAwareTest {
|
||||
val dsl = KotlinAndroidVariantHierarchyDslImpl(project.kotlinPluginLifecycle)
|
||||
afterEvaluate { dsl.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("x")) }
|
||||
dsl.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("-set-before-after-evaluate-"))
|
||||
assertEquals("x", dsl.sourceSetTree.awaitFinalValue()?.name)
|
||||
assertEquals(KotlinPluginLifecycle.Stage.FinaliseDsl, currentKotlinPluginLifecycle().stage)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test - module - cannot be set after FinaliseDsl`() = project.runLifecycleAwareTest {
|
||||
fun `test - module - cannot be set after FinaliseDsl`() = buildProjectWithMPP().runLifecycleAwareTest {
|
||||
val dsl = KotlinAndroidVariantHierarchyDslImpl(project.kotlinPluginLifecycle)
|
||||
launchInStage(KotlinPluginLifecycle.Stage.FinaliseDsl.previousOrThrow) {
|
||||
dsl.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("x"))
|
||||
dsl.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("x"))
|
||||
}
|
||||
|
||||
launchInStage(KotlinPluginLifecycle.Stage.FinaliseDsl) {
|
||||
assertFails { dsl.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("y")) }
|
||||
assertFails { dsl.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("y")) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,9 +63,11 @@ class KotlinAndroidTargetVariantTypeDslImplTest {
|
||||
|
||||
val kotlin = project.multiplatformExtension
|
||||
project.runLifecycleAwareTest {
|
||||
kotlin.android {
|
||||
unitTest.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree.test)
|
||||
instrumentedTest.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree.test)
|
||||
kotlin.android()
|
||||
|
||||
kotlin.targetHierarchy.android {
|
||||
unitTest.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree.test)
|
||||
instrumentedTest.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree.test)
|
||||
}
|
||||
|
||||
AfterFinaliseRefinesEdges.await()
|
||||
@@ -85,9 +87,11 @@ class KotlinAndroidTargetVariantTypeDslImplTest {
|
||||
|
||||
val kotlin = project.multiplatformExtension
|
||||
project.runLifecycleAwareTest {
|
||||
kotlin.android {
|
||||
unitTest.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("xxx"))
|
||||
instrumentedTest.targetHierarchy.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("yyy"))
|
||||
kotlin.android()
|
||||
|
||||
kotlin.targetHierarchy.android {
|
||||
unitTest.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("xxx"))
|
||||
instrumentedTest.sourceSetTree.set(KotlinTargetHierarchy.SourceSetTree("yyy"))
|
||||
}
|
||||
|
||||
kotlin.targetHierarchy.default {
|
||||
Reference in New Issue
Block a user