[Gradle] Do not add default 'dependsOn common(Main|Test)' edges when KotlinTargetHierarchy is applied
KT-34662
This commit is contained in:
committed by
Space Team
parent
80ffd72f25
commit
7ab6349ad5
+3
-1
@@ -52,8 +52,10 @@ abstract class KotlinMultiplatformExtension(project: Project) :
|
||||
configure(presetExtension)
|
||||
}
|
||||
|
||||
internal val internalKotlinTargetHierarchy by lazy { KotlinTargetHierarchyDslImpl(targets, sourceSets) }
|
||||
|
||||
@ExperimentalKotlinGradlePluginApi
|
||||
val targetHierarchy: KotlinTargetHierarchyDsl get() = KotlinTargetHierarchyDslImpl(targets, sourceSets)
|
||||
val targetHierarchy: KotlinTargetHierarchyDsl get() = internalKotlinTargetHierarchy
|
||||
|
||||
@Suppress("unused") // DSL
|
||||
val testableTargets: NamedDomainObjectCollection<KotlinTargetWithTests<*, *>>
|
||||
|
||||
+10
-6
@@ -171,14 +171,18 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
private fun configureSourceSets(project: Project) = with(project.multiplatformExtension) {
|
||||
val production = sourceSets.create(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
||||
val test = sourceSets.create(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME)
|
||||
|
||||
targets.all { target ->
|
||||
target.compilations.findByName(KotlinCompilation.MAIN_COMPILATION_NAME)?.let { mainCompilation ->
|
||||
mainCompilation.defaultSourceSet.takeIf { it != production }?.dependsOn(production)
|
||||
}
|
||||
project.launch(KotlinMultiplatformPluginLifecycle.Stage.FinaliseRefinesEdges) {
|
||||
/* Only setup default refines edges when no KotlinTargetHierarchy was applied */
|
||||
if (project.multiplatformExtension.internalKotlinTargetHierarchy.appliedDescriptors.isNotEmpty()) return@launch
|
||||
|
||||
target.compilations.findByName(KotlinCompilation.TEST_COMPILATION_NAME)?.let { testCompilation ->
|
||||
testCompilation.defaultSourceSet.takeIf { it != test }?.dependsOn(test)
|
||||
target.compilations.findByName(KotlinCompilation.MAIN_COMPILATION_NAME)?.let { mainCompilation ->
|
||||
mainCompilation.defaultSourceSet.takeIf { it != production }?.dependsOn(production)
|
||||
}
|
||||
|
||||
target.compilations.findByName(KotlinCompilation.TEST_COMPILATION_NAME)?.let { testCompilation ->
|
||||
testCompilation.defaultSourceSet.takeIf { it != test }?.dependsOn(test)
|
||||
}
|
||||
}
|
||||
|
||||
val targetName = if (target is KotlinNativeTarget)
|
||||
|
||||
+7
-1
@@ -17,11 +17,17 @@ internal class KotlinTargetHierarchyDslImpl(
|
||||
private val targets: DomainObjectCollection<KotlinTarget>,
|
||||
private val sourceSets: NamedDomainObjectContainer<KotlinSourceSet>
|
||||
) : KotlinTargetHierarchyDsl {
|
||||
|
||||
private val _appliedDescriptors = mutableListOf<KotlinTargetHierarchyDescriptor>()
|
||||
val appliedDescriptors: List<KotlinTargetHierarchyDescriptor> get() = _appliedDescriptors
|
||||
|
||||
override fun apply(
|
||||
hierarchyDescriptor: KotlinTargetHierarchyDescriptor,
|
||||
describeExtension: (KotlinTargetHierarchyBuilder.() -> Unit)?
|
||||
) {
|
||||
applyKotlinTargetHierarchy(hierarchyDescriptor.extendIfNotNull(describeExtension), targets, sourceSets)
|
||||
val descriptor = hierarchyDescriptor.extendIfNotNull(describeExtension)
|
||||
_appliedDescriptors.add(descriptor)
|
||||
applyKotlinTargetHierarchy(descriptor, targets, sourceSets)
|
||||
}
|
||||
|
||||
override fun default(describeExtension: (KotlinTargetHierarchyBuilder.() -> Unit)?) {
|
||||
|
||||
+18
-7
@@ -8,9 +8,12 @@ package org.jetbrains.kotlin.gradle.plugin.sources.android.configurator
|
||||
import com.android.build.gradle.api.AndroidSourceSet
|
||||
import com.android.build.gradle.api.BaseVariant
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet.Companion.COMMON_MAIN_SOURCE_SET_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet.Companion.COMMON_TEST_SOURCE_SET_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.kotlinMultiplatformPluginLifecycle
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.AndroidBaseSourceSetName
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.AndroidVariantType
|
||||
@@ -28,14 +31,22 @@ internal object MultiplatformLayoutV2DependsOnConfigurator : KotlinAndroidSource
|
||||
}
|
||||
|
||||
private fun setDefaultDependsOn(target: KotlinAndroidTarget, kotlinSourceSet: KotlinSourceSet, variantType: AndroidVariantType) {
|
||||
/* Add default dependency on 'commonMain' or 'commonTest' */
|
||||
val commonMain = target.project.kotlinExtension.sourceSets.getByName(COMMON_MAIN_SOURCE_SET_NAME)
|
||||
val commonTest = target.project.kotlinExtension.sourceSets.getByName(COMMON_TEST_SOURCE_SET_NAME)
|
||||
target.project.kotlinMultiplatformPluginLifecycle.launch {
|
||||
await(KotlinMultiplatformPluginLifecycle.Stage.FinaliseRefinesEdges)
|
||||
/* Only setup default if not KotlinTargetHierarchy was applied */
|
||||
if (target.project.multiplatformExtensionOrNull?.internalKotlinTargetHierarchy?.appliedDescriptors.orEmpty().isNotEmpty()) {
|
||||
return@launch
|
||||
}
|
||||
|
||||
when (variantType) {
|
||||
AndroidVariantType.Main -> kotlinSourceSet.dependsOn(commonMain)
|
||||
AndroidVariantType.UnitTest -> kotlinSourceSet.dependsOn(commonTest)
|
||||
AndroidVariantType.InstrumentedTest, AndroidVariantType.Unknown -> Unit
|
||||
/* Add default dependency on 'commonMain' or 'commonTest' */
|
||||
val commonMain = target.project.kotlinExtension.sourceSets.getByName(COMMON_MAIN_SOURCE_SET_NAME)
|
||||
val commonTest = target.project.kotlinExtension.sourceSets.getByName(COMMON_TEST_SOURCE_SET_NAME)
|
||||
|
||||
when (variantType) {
|
||||
AndroidVariantType.Main -> kotlinSourceSet.dependsOn(commonMain)
|
||||
AndroidVariantType.UnitTest -> kotlinSourceSet.dependsOn(commonTest)
|
||||
AndroidVariantType.InstrumentedTest, AndroidVariantType.Unknown -> Unit
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -20,6 +20,7 @@ class IdeDependsOnDependencyResolverTest {
|
||||
fun `test - sample 0 - default dependsOn to commonMain and commonTest`() {
|
||||
val project = buildProjectWithMPP()
|
||||
val kotlin = project.multiplatformExtension
|
||||
kotlin.targetHierarchy.default()
|
||||
kotlin.jvm()
|
||||
|
||||
val commonMain = kotlin.sourceSets.getByName("commonMain")
|
||||
@@ -41,6 +42,7 @@ class IdeDependsOnDependencyResolverTest {
|
||||
fun `test - sample 1 - custom dependsOn edge`() {
|
||||
val project = buildProjectWithMPP()
|
||||
val kotlin = project.multiplatformExtension
|
||||
kotlin.targetHierarchy.default()
|
||||
kotlin.jvm()
|
||||
val commonMain = kotlin.sourceSets.getByName("commonMain")
|
||||
val customMain = kotlin.sourceSets.create("customMain")
|
||||
|
||||
+2
@@ -25,6 +25,7 @@ class IdeNativePlatformDependencyResolverTest {
|
||||
fun `test - posix on linux`() {
|
||||
val project = buildProjectWithMPP()
|
||||
val kotlin = project.multiplatformExtension
|
||||
kotlin.targetHierarchy.default()
|
||||
kotlin.linuxX64()
|
||||
|
||||
val commonMain = kotlin.sourceSets.getByName("commonMain")
|
||||
@@ -48,6 +49,7 @@ class IdeNativePlatformDependencyResolverTest {
|
||||
Assume.assumeTrue("Macos host required for this test", HostManager.hostIsMac)
|
||||
val project = buildProjectWithMPP()
|
||||
val kotlin = project.multiplatformExtension
|
||||
kotlin.targetHierarchy.default()
|
||||
kotlin.macosArm64()
|
||||
|
||||
val commonMain = kotlin.sourceSets.getByName("commonMain")
|
||||
|
||||
+2
-2
@@ -82,6 +82,7 @@ class CInteropMetadataDependencyTransformationTaskTest : MultiplatformExtensionT
|
||||
@Test
|
||||
fun `test task disabled for non shared-native source sets`() {
|
||||
project.enableCInteropCommonization(true)
|
||||
kotlin.targetHierarchy.default()
|
||||
kotlin.linuxArm64()
|
||||
kotlin.linuxX64()
|
||||
kotlin.jvm()
|
||||
@@ -89,13 +90,12 @@ class CInteropMetadataDependencyTransformationTaskTest : MultiplatformExtensionT
|
||||
val commonMain = kotlin.sourceSets.getByName("commonMain")
|
||||
val linuxArm64Main = kotlin.sourceSets.getByName("linuxArm64Main")
|
||||
val linuxX64Main = kotlin.sourceSets.getByName("linuxX64Main")
|
||||
val linuxMain = kotlin.sourceSets.create("linuxMain") as DefaultKotlinSourceSet
|
||||
val linuxMain = kotlin.sourceSets.getByName("linuxMain") as DefaultKotlinSourceSet
|
||||
|
||||
linuxMain.dependsOn(commonMain)
|
||||
linuxArm64Main.dependsOn(linuxMain)
|
||||
linuxX64Main.dependsOn(linuxMain)
|
||||
|
||||
|
||||
listOf(
|
||||
"commonMain", "jvmMain", "linuxArm64Main", "linuxX64Main"
|
||||
).map { sourceSetName -> kotlin.sourceSets.getByName(sourceSetName) }.forEach { sourceSet ->
|
||||
|
||||
-1
@@ -116,7 +116,6 @@ class K2MultiplatformStructureTest {
|
||||
/* check dependsOnEdges */
|
||||
assertEquals(
|
||||
setOf(
|
||||
RefinesEdge(defaultSourceSet.name, "commonMain"),
|
||||
RefinesEdge(defaultSourceSet.name, "intermediateMain"),
|
||||
RefinesEdge("intermediateMain", "commonMain")
|
||||
),
|
||||
|
||||
+9
-45
@@ -55,48 +55,12 @@ class KotlinTargetHierarchyDslTest {
|
||||
}
|
||||
|
||||
assertEquals(
|
||||
stringSetOf(
|
||||
"androidNativeArm32Main",
|
||||
"androidNativeArm64Main",
|
||||
"iosArm32Main",
|
||||
"iosArm64Main",
|
||||
"iosSimulatorArm64Main",
|
||||
"iosX64Main",
|
||||
"linuxArm32HfpMain",
|
||||
"linuxX64Main",
|
||||
"macosArm64Main",
|
||||
"macosX64Main",
|
||||
"mingwX64Main",
|
||||
"mingwX86Main",
|
||||
"nativeMain",
|
||||
"tvosArm64Main",
|
||||
"tvosX64Main",
|
||||
"watchosArm32Main",
|
||||
"watchosArm64Main"
|
||||
),
|
||||
stringSetOf("nativeMain"),
|
||||
kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
stringSetOf(
|
||||
"androidNativeArm32Test",
|
||||
"androidNativeArm64Test",
|
||||
"iosArm32Test",
|
||||
"iosArm64Test",
|
||||
"iosSimulatorArm64Test",
|
||||
"iosX64Test",
|
||||
"linuxArm32HfpTest",
|
||||
"linuxX64Test",
|
||||
"macosArm64Test",
|
||||
"macosX64Test",
|
||||
"mingwX64Test",
|
||||
"mingwX86Test",
|
||||
"nativeTest",
|
||||
"tvosArm64Test",
|
||||
"tvosX64Test",
|
||||
"watchosArm32Test",
|
||||
"watchosArm64Test"
|
||||
), kotlin.dependingSourceSetNames("commonTest")
|
||||
stringSetOf("nativeTest"), kotlin.dependingSourceSetNames("commonTest")
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
@@ -222,7 +186,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
project.evaluate()
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("androidDebug", "androidMain", "androidRelease", "jvmAndAndroidMain", "jvmMain"),
|
||||
stringSetOf("jvmAndAndroidMain"),
|
||||
kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
@@ -232,7 +196,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("jvmAndAndroidTest", "jvmTest", "androidUnitTest", "androidUnitTestDebug", "androidUnitTestRelease"),
|
||||
stringSetOf("jvmAndAndroidTest"),
|
||||
kotlin.dependingSourceSetNames("commonTest")
|
||||
)
|
||||
|
||||
@@ -270,7 +234,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
}
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("baseMain", "linuxX64Main"), kotlin.dependingSourceSetNames("commonMain")
|
||||
stringSetOf("baseMain"), kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
@@ -306,7 +270,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
kotlin.mingwX64()
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("nativeMain", "nixMain", "linuxX64Main", "macosX64Main", "mingwX64Main"),
|
||||
stringSetOf("nativeMain", "nixMain"),
|
||||
kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
@@ -336,7 +300,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
kotlin.js()
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("webMain", "jsMain", "wasmMain"),
|
||||
stringSetOf("webMain"),
|
||||
kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
@@ -367,7 +331,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
kotlin.linuxX64()
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("jsAndJvmMain", "wasmAndLinuxMain", "jvmMain", "linuxX64Main", "jsMain", "wasmMain"),
|
||||
stringSetOf("jsAndJvmMain", "wasmAndLinuxMain"),
|
||||
kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
@@ -408,7 +372,7 @@ class KotlinTargetHierarchyDslTest {
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
stringSetOf("baseMain", "linuxX64Main"), kotlin.dependingSourceSetNames("commonMain")
|
||||
stringSetOf("baseMain"), kotlin.dependingSourceSetNames("commonMain")
|
||||
)
|
||||
|
||||
assertEquals(
|
||||
|
||||
+15
-2
@@ -9,6 +9,7 @@
|
||||
package org.jetbrains.kotlin.gradle.unitTests
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.internal.project.ProjectInternal
|
||||
import org.gradle.api.plugins.ExtraPropertiesExtension
|
||||
import org.gradle.testfixtures.ProjectBuilder
|
||||
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
||||
@@ -17,6 +18,7 @@ import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.targets.native.internal.getCommonizerTarget
|
||||
import org.jetbrains.kotlin.gradle.util.addBuildEventsListenerRegistryMock
|
||||
import org.jetbrains.kotlin.gradle.util.buildProject
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget.*
|
||||
import kotlin.test.BeforeTest
|
||||
import kotlin.test.Test
|
||||
@@ -25,12 +27,12 @@ import kotlin.test.assertNull
|
||||
|
||||
class SourceSetCommonizerTargetTest {
|
||||
|
||||
private lateinit var project: Project
|
||||
private lateinit var project: ProjectInternal
|
||||
private lateinit var kotlin: KotlinMultiplatformExtension
|
||||
|
||||
@BeforeTest
|
||||
fun setup() {
|
||||
project = ProjectBuilder.builder().build()
|
||||
project = buildProject()
|
||||
addBuildEventsListenerRegistryMock(project)
|
||||
project.extensions.getByType(ExtraPropertiesExtension::class.java).set("kotlin.mpp.enableCompatibilityMetadataVariant", "false")
|
||||
project.plugins.apply("kotlin-multiplatform")
|
||||
@@ -54,6 +56,8 @@ class SourceSetCommonizerTargetTest {
|
||||
assertEquals(CommonizerTarget(LINUX_X64), getCommonizerTarget(linuxTest))
|
||||
assertEquals(CommonizerTarget(MACOS_X64), getCommonizerTarget(macosMain))
|
||||
assertEquals(CommonizerTarget(MACOS_X64), getCommonizerTarget(macosTest))
|
||||
|
||||
project.evaluate()
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(commonMain))
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(commonTest))
|
||||
}
|
||||
@@ -75,12 +79,15 @@ class SourceSetCommonizerTargetTest {
|
||||
linuxMain.dependsOn(nativeMain)
|
||||
macosMain.dependsOn(nativeMain)
|
||||
|
||||
|
||||
assertEquals(CommonizerTarget(LINUX_X64), getCommonizerTarget(linuxMain))
|
||||
assertEquals(CommonizerTarget(LINUX_X64), getCommonizerTarget(linuxTest))
|
||||
assertEquals(CommonizerTarget(MACOS_X64), getCommonizerTarget(macosMain))
|
||||
assertEquals(CommonizerTarget(MACOS_X64), getCommonizerTarget(macosTest))
|
||||
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(nativeMain))
|
||||
|
||||
project.evaluate()
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(commonMain))
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(commonTest))
|
||||
}
|
||||
@@ -108,6 +115,8 @@ class SourceSetCommonizerTargetTest {
|
||||
assertEquals(LeafCommonizerTarget(LINUX_X64), getCommonizerTarget(linuxBTest))
|
||||
|
||||
assertEquals(LeafCommonizerTarget(LINUX_X64), getCommonizerTarget(nativeMain))
|
||||
|
||||
project.evaluate()
|
||||
assertEquals(LeafCommonizerTarget(LINUX_X64), getCommonizerTarget(commonMain))
|
||||
assertEquals(LeafCommonizerTarget(LINUX_X64), getCommonizerTarget(commonTest))
|
||||
}
|
||||
@@ -153,6 +162,9 @@ class SourceSetCommonizerTargetTest {
|
||||
CommonizerTarget(IOS_X64, IOS_ARM64, MACOS_X64, LINUX_X64),
|
||||
getCommonizerTarget(nativeMain)
|
||||
)
|
||||
|
||||
project.evaluate()
|
||||
|
||||
assertEquals(
|
||||
CommonizerTarget(IOS_X64, IOS_ARM64, MACOS_X64, LINUX_X64),
|
||||
getCommonizerTarget(commonMain)
|
||||
@@ -193,6 +205,7 @@ class SourceSetCommonizerTargetTest {
|
||||
|
||||
assertEquals(CommonizerTarget(LINUX_X64, MACOS_X64), getCommonizerTarget(nativeMain))
|
||||
|
||||
project.evaluate()
|
||||
assertNull(getCommonizerTarget(commonMain), "Expected commonMain to have no commonizer target")
|
||||
assertNull(getCommonizerTarget(commonTest), "Expected commonTest to have no commonizer target")
|
||||
}
|
||||
|
||||
+18
-1
@@ -9,7 +9,9 @@ package org.jetbrains.kotlin.gradle.unitTests.sources
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginLifecycle
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.enqueue
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.getHostSpecificMainSharedSourceSets
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.InternalKotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||
@@ -47,7 +49,7 @@ class InternalKotlinSourceSetTest {
|
||||
nativeMain.dependsOn(commonMain)
|
||||
|
||||
assertEquals<Set<KotlinCompilation<*>>>(
|
||||
setOf(metadataCompilation, jvmCompilation, linuxCompilation, macosCompilation),
|
||||
setOf(metadataCompilation),
|
||||
commonMain.internal.compilations
|
||||
)
|
||||
|
||||
@@ -67,6 +69,20 @@ class InternalKotlinSourceSetTest {
|
||||
setOf(linuxCompilation, macosCompilation),
|
||||
nativeMain.internal.compilations
|
||||
)
|
||||
|
||||
project.enqueue(KotlinMultiplatformPluginLifecycle.Stage.Finalised) {
|
||||
assertEquals<Set<KotlinCompilation<*>>>(
|
||||
setOf(
|
||||
metadataCompilation,
|
||||
kotlin.metadata().compilations.getByName("commonMain"),
|
||||
kotlin.metadata().compilations.getByName("nativeMain"),
|
||||
jvmCompilation, linuxCompilation, macosCompilation
|
||||
),
|
||||
commonMain.internal.compilations
|
||||
)
|
||||
}
|
||||
|
||||
project.evaluate()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -80,6 +96,7 @@ class InternalKotlinSourceSetTest {
|
||||
val nativeMain = kotlin.sourceSets.create("nativeMain")
|
||||
val linuxMain = kotlin.sourceSets.create("linuxMain")
|
||||
val linuxX64Main = kotlin.sourceSets.getByName("linuxX64Main")
|
||||
linuxX64Main.dependsOn(commonMain)
|
||||
|
||||
assertEquals(
|
||||
setOf(commonMain, linuxX64Main),
|
||||
|
||||
+3
-1
@@ -22,7 +22,9 @@ import kotlin.test.assertNotNull
|
||||
|
||||
class SourceSetVisibilityInferenceTest {
|
||||
private val project = buildProjectWithMPP()
|
||||
private val kotlin = project.multiplatformExtension
|
||||
private val kotlin = project.multiplatformExtension.apply {
|
||||
targetHierarchy.default()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testBasicSuccessful() {
|
||||
|
||||
Reference in New Issue
Block a user