diff --git a/annotation/annotation-compatibility-stub/build.gradle b/annotation/annotation-compatibility-stub/build.gradle index 09d05f9ed0139..b43c2831652f3 100644 --- a/annotation/annotation-compatibility-stub/build.gradle +++ b/annotation/annotation-compatibility-stub/build.gradle @@ -35,9 +35,7 @@ androidXComposeMultiplatform { js() wasm() darwin() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/annotation/annotation/build.gradle b/annotation/annotation/build.gradle index dbf3a29bf46c1..92d8c42ecca67 100644 --- a/annotation/annotation/build.gradle +++ b/annotation/annotation/build.gradle @@ -19,9 +19,7 @@ androidXComposeMultiplatform { js() wasm() darwin() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt index 6e002c609ffb7..e183d906e2246 100644 --- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt +++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtensionImpl.kt @@ -190,8 +190,7 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( iosArm64("uikitArm64") iosSimulatorArm64("uikitSimArm64") - val commonMain = sourceSets.getByName("commonMain") - val nativeMain = sourceSets.create("nativeMain") + val nativeMain = getOrCreateNativeMain() val darwinMain = sourceSets.create("darwinMain") val macosMain = sourceSets.create("macosMain") val macosX64Main = sourceSets.getByName("macosX64Main") @@ -200,7 +199,6 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( val uikitX64Main = sourceSets.getByName("uikitX64Main") val uikitArm64Main = sourceSets.getByName("uikitArm64Main") val uikitSimArm64Main = sourceSets.getByName("uikitSimArm64Main") - nativeMain.dependsOn(commonMain) darwinMain.dependsOn(nativeMain) macosMain.dependsOn(darwinMain) macosX64Main.dependsOn(macosMain) @@ -210,8 +208,7 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( uikitArm64Main.dependsOn(uikitMain) uikitSimArm64Main.dependsOn(uikitMain) - val commonTest = sourceSets.getByName("commonTest") - val nativeTest = sourceSets.create("nativeTest") + val nativeTest = getOrCreateNativeTest() val darwinTest = sourceSets.create("darwinTest") val macosTest = sourceSets.create("macosTest") val macosX64Test = sourceSets.getByName("macosX64Test") @@ -220,7 +217,6 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( val uikitX64Test = sourceSets.getByName("uikitX64Test") val uikitArm64Test = sourceSets.getByName("uikitArm64Test") val uikitSimArm64Test = sourceSets.getByName("uikitSimArm64Test") - nativeTest.dependsOn(commonTest) darwinTest.dependsOn(nativeTest) macosTest.dependsOn(darwinTest) macosX64Test.dependsOn(macosTest) @@ -231,12 +227,25 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( uikitSimArm64Test.dependsOn(uikitTest) } - override fun linuxX64(): Unit = multiplatformExtension.run { + override fun linux(): Unit = multiplatformExtension.run { linuxX64() - } - - override fun linuxArm64(): Unit = multiplatformExtension.run { linuxArm64() + + val nativeMain = getOrCreateNativeMain() + val linuxMain = sourceSets.create("linuxMain") + val linuxX64Main = sourceSets.getByName("linuxX64Main") + val linuxArm64Main = sourceSets.getByName("linuxArm64Main") + linuxMain.dependsOn(nativeMain) + linuxX64Main.dependsOn(linuxMain) + linuxArm64Main.dependsOn(linuxMain) + + val nativeTest = getOrCreateNativeTest() + val linuxTest = sourceSets.create("linuxTest") + val linuxX64Test = sourceSets.getByName("linuxX64Test") + val linuxArm64Test = sourceSets.getByName("linuxArm64Test") + linuxTest.dependsOn(nativeTest) + linuxX64Test.dependsOn(linuxTest) + linuxArm64Test.dependsOn(linuxTest) } private fun getOrCreateJvmMain(): KotlinSourceSet = @@ -245,6 +254,12 @@ open class AndroidXComposeMultiplatformExtensionImpl @Inject constructor( private fun getOrCreateJvmTest(): KotlinSourceSet = getOrCreateSourceSet("jvmTest", "commonTest") + private fun getOrCreateNativeMain(): KotlinSourceSet = + getOrCreateSourceSet("nativeMain", "commonMain") + + private fun getOrCreateNativeTest(): KotlinSourceSet = + getOrCreateSourceSet("nativeTest", "commonTest") + private fun getOrCreateSourceSet( name: String, dependsOnSourceSetName: String diff --git a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtension.kt b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtension.kt index e833a2586f258..d710e0c1443fd 100644 --- a/buildSrc/public/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtension.kt +++ b/buildSrc/public/src/main/kotlin/androidx/build/AndroidXComposeMultiplatformExtension.kt @@ -56,15 +56,9 @@ abstract class AndroidXComposeMultiplatformExtension { /** * Provides the default target configuration and source set dependencies - * for all linuxX64 native targets. + * for all linux native targets. */ - abstract fun linuxX64(): Unit - - /** - * Provides the default target configuration and source set dependencies - * for all linuxArm64 native targets. - */ - abstract fun linuxArm64(): Unit + abstract fun linux(): Unit /** * Configures native compilation tasks with flags to link required frameworks diff --git a/collection/collection-compatibility-stub/build.gradle b/collection/collection-compatibility-stub/build.gradle index 23634255bed5c..03fdccdab7043 100644 --- a/collection/collection-compatibility-stub/build.gradle +++ b/collection/collection-compatibility-stub/build.gradle @@ -35,9 +35,7 @@ androidXComposeMultiplatform { js() wasm() darwin() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/collection/collection/build.gradle b/collection/collection/build.gradle index 25c0a2a40cfd2..926df28dfcfb1 100644 --- a/collection/collection/build.gradle +++ b/collection/collection/build.gradle @@ -35,9 +35,7 @@ androidXComposeMultiplatform { js() wasm() darwin() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/compose/runtime/runtime-saveable/build.gradle b/compose/runtime/runtime-saveable/build.gradle index 178ace89237be..f5745f83de8b9 100644 --- a/compose/runtime/runtime-saveable/build.gradle +++ b/compose/runtime/runtime-saveable/build.gradle @@ -73,9 +73,7 @@ if(AndroidXComposePlugin.isMultiplatformEnabled(project)) { darwin() js() wasm() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/compose/runtime/runtime-test-utils/build.gradle b/compose/runtime/runtime-test-utils/build.gradle index 173f08f01e374..cbaf4adb23c02 100644 --- a/compose/runtime/runtime-test-utils/build.gradle +++ b/compose/runtime/runtime-test-utils/build.gradle @@ -37,8 +37,7 @@ androidXComposeMultiplatform { darwin() js() wasm() - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/compose/runtime/runtime/build.gradle b/compose/runtime/runtime/build.gradle index cd9b714592cda..834ae1328a121 100644 --- a/compose/runtime/runtime/build.gradle +++ b/compose/runtime/runtime/build.gradle @@ -69,9 +69,7 @@ if(AndroidXComposePlugin.isMultiplatformEnabled(project)) { js() wasm() darwin() - - linuxX64() - linuxArm64() + linux() } kotlin { diff --git a/lifecycle/lifecycle-runtime-compose/build.gradle b/lifecycle/lifecycle-runtime-compose/build.gradle index 8e37bf8fa9e16..4f40a5b3d7d71 100644 --- a/lifecycle/lifecycle-runtime-compose/build.gradle +++ b/lifecycle/lifecycle-runtime-compose/build.gradle @@ -43,9 +43,7 @@ androidXComposeMultiplatform { darwin() js() wasm() - - linuxX64() - linuxArm64() + linux() } kotlin {