Foundations of gradle-mpp configuration for Compose
Essentially part 1 of N landing aosp/2532999 in parts.
Change-Id: If4453255d241f560856a30617a45b71ef94ea0de
diff --git a/buildSrc-tests/src/test/kotlin/androidx/build/KmpPlatformsTest.kt b/buildSrc-tests/src/test/kotlin/androidx/build/KmpPlatformsTest.kt
index c7e2ad8..c81ae66 100644
--- a/buildSrc-tests/src/test/kotlin/androidx/build/KmpPlatformsTest.kt
+++ b/buildSrc-tests/src/test/kotlin/androidx/build/KmpPlatformsTest.kt
@@ -23,63 +23,69 @@
@Test
fun withAnEmptyFlag_itReturnsTheDefaultValue() {
- assertThat(KmpFlagParser.parse("")).isEqualTo(setOf(KmpPlatform.JVM))
+ assertThat(KmpFlagParser.parse("")).isEqualTo(
+ setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
+ )
}
@Test
fun withANullFlag_itReturnsTheDefaultValue() {
- assertThat(KmpFlagParser.parse(null)).isEqualTo(setOf(KmpPlatform.JVM))
+ assertThat(KmpFlagParser.parse(null)).isEqualTo(
+ setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
+ )
}
@Test
fun withASingleDefaultPlatform_itParsesTheFlagCorrectly() {
- assertThat(KmpFlagParser.parse("+jvm")).isEqualTo(setOf(KmpPlatform.JVM))
+ assertThat(KmpFlagParser.parse("+jvm")).isEqualTo(
+ setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
+ )
}
@Test
fun withNoPlatforms_itParsesTheFlagCorrectly() {
- assertThat(KmpFlagParser.parse("-jvm")).isEqualTo(emptySet<KmpPlatform>())
+ assertThat(KmpFlagParser.parse("-jvm,-desktop")).isEqualTo(emptySet<KmpPlatform>())
}
@Test
fun withASingleNonDefaultPlatform_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("+js")).isEqualTo(
- setOf(KmpPlatform.JVM, KmpPlatform.JS)
+ setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.DESKTOP)
)
}
@Test
fun withAMultiplePlatforms_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("+js,+mac")).isEqualTo(
- setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.MAC)
+ setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.DESKTOP)
)
}
@Test
fun withNegativeFlags_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("-jvm,+mac")).isEqualTo(
- setOf(KmpPlatform.MAC)
+ setOf(KmpPlatform.MAC, KmpPlatform.DESKTOP)
)
}
@Test
fun withTheNativeFlag_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("+native")).isEqualTo(
- setOf(KmpPlatform.JVM, KmpPlatform.MAC, KmpPlatform.LINUX)
+ setOf(KmpPlatform.JVM, KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
)
}
@Test
fun withMultipleFlagsIncludingTheNativeFlag_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("-jvm,+native,+js")).isEqualTo(
- setOf(KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.LINUX)
+ setOf(KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
)
}
@Test
fun withRedundentFlags_itParsesTheFlagCorrectly() {
assertThat(KmpFlagParser.parse("-jvm,+native,+linux,+mac,+linux")).isEqualTo(
- setOf(KmpPlatform.MAC, KmpPlatform.LINUX)
+ setOf(KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
)
}
}
\ No newline at end of file
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
index 6c1b432..f6c6252 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt
@@ -86,6 +86,17 @@
} else { null }
}
+ @JvmOverloads
+ fun desktop(
+ block: Action<KotlinJvmTarget>? = null
+ ): KotlinJvmTarget? {
+ return if (project.enableJvm()) {
+ kotlinExtension.jvm("desktop") {
+ block?.execute(this)
+ }
+ } else { null }
+ }
+
/**
* Configures all mac targets supported by AndroidX.
*/
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt b/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
index e16b300..3cb172a 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/VerifyDependencyVersionsTask.kt
@@ -206,6 +206,11 @@
// Don't check Hilt compile-only configurations
if (name.startsWith("hiltCompileOnly")) return false
+
+ // Don't check Desktop configurations since we don't publish them anyway
+ if (name.startsWith("desktop")) return false
+ if (name.startsWith("skiko")) return false
+
return true
}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXKmpDocsImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXKmpDocsImplPlugin.kt
index b3be53b..d6a11f1 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXKmpDocsImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/docs/AndroidXKmpDocsImplPlugin.kt
@@ -23,6 +23,7 @@
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
+import org.gradle.api.attributes.Category
import org.gradle.api.attributes.LibraryElements
import org.gradle.api.model.ObjectFactory
import org.gradle.api.tasks.bundling.Zip
@@ -94,6 +95,10 @@
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
objectFactory.named(ATTRIBUTE_NAME)
)
+ it.attribute(
+ Category.CATEGORY_ATTRIBUTE,
+ objectFactory.named(Category.DOCUMENTATION)
+ )
}
}
}
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt b/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
index 590be01..1b04cf7 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/transform/ConfigureAarAsJar.kt
@@ -20,6 +20,7 @@
import org.gradle.api.Project
import org.gradle.api.attributes.Attribute
import org.gradle.api.attributes.Usage
+import org.gradle.api.attributes.java.TargetJvmEnvironment
/**
* Creates `testAarAsJar` configuration that can be used for JVM tests that need to Android library
@@ -56,4 +57,11 @@
project.configurations.getByName(configurationName).dependencies.add(
project.dependencies.create(aarAsJar)
)
+
+ // Added to allow the :external:paparazzi:paparazzi build to select the correct jar (not get
+ // confused by the mpp jars) when the mpp builds are enabled
+ project.configurations.getByName(testAarsAsJars.name).attributes.attribute(
+ TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE,
+ project.objects.named(TargetJvmEnvironment::class.java, TargetJvmEnvironment.ANDROID)
+ )
}
\ No newline at end of file
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt b/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
index 802d8ef..7961e09 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
@@ -31,10 +31,11 @@
// https://blog.jetbrains.com/kotlin/2021/10/important-ua-parser-js-exploit-and-kotlin-js/
JS,
MAC,
- LINUX;
+ LINUX,
+ DESKTOP;
companion object {
val native = listOf(MAC, LINUX)
- val enabledByDefault = listOf(JVM)
+ val enabledByDefault = listOf(JVM, DESKTOP)
private const val JVM_PLATFORM = "jvm"
private const val JS_PLATFORM = "js"
private const val MAC_ARM_64 = "macosarm64"
@@ -43,6 +44,7 @@
private const val IOS_SIMULATOR_ARM_64 = "iossimulatorarm64"
private const val IOS_X_64 = "iosx64"
private const val IOS_ARM_64 = "iosarm64"
+ private const val DESKTOP_PLATFORM = "desktop"
val macPlatforms = listOf(MAC_ARM_64, MAC_OSX_64)
val linuxPlatforms = listOf(LINUX_64)
val iosPlatforms = listOf(IOS_SIMULATOR_ARM_64, IOS_ARM_64, IOS_X_64)
@@ -88,4 +90,5 @@
fun Project.enableLinux(): Boolean =
enabledKmpPlatforms().contains(KmpPlatform.LINUX) || Multiplatform.isKotlinNativeEnabled(this)
fun Project.enableJvm(): Boolean = enabledKmpPlatforms().contains(KmpPlatform.JVM)
+fun Project.enableDesktop(): Boolean = enabledKmpPlatforms().contains(KmpPlatform.DESKTOP)
fun Project.enableNative(): Boolean = enableMac() && enableLinux()
\ No newline at end of file
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/Multiplatform.kt b/buildSrc/public/src/main/kotlin/androidx/build/Multiplatform.kt
index 326c96f..554c2fdf 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/Multiplatform.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/Multiplatform.kt
@@ -40,6 +40,7 @@
@JvmStatic
fun isKotlinNativeEnabled(project: Project): Boolean {
return "KMP".equals(System.getenv()["ANDROIDX_PROJECTS"], ignoreCase = true) ||
+ "INFRAROGUE".equals(System.getenv()["ANDROIDX_PROJECTS"], ignoreCase = true) ||
ProjectLayoutType.isPlayground(project) ||
project.providers.gradleProperty("androidx.kmp.native.enabled")
.orNull?.toBoolean() == true
diff --git a/busytown/androidx.sh b/busytown/androidx.sh
index 621ff22..ef344d5 100755
--- a/busytown/androidx.sh
+++ b/busytown/androidx.sh
@@ -22,6 +22,8 @@
-Pandroidx.enableComposeCompilerMetrics=true \
-Pandroidx.enableComposeCompilerReports=true \
-Pandroidx.constraints=true \
+ # If/when we enable desktop, enable VerifyDependencyVersionsTask.kt/shouldVerifyConfiguration
+ -Pandroidx.enabled.kmp.target.platforms=-desktop \
--no-daemon \
--profile "$@"; then
EXIT_VALUE=1
diff --git a/busytown/androidx_compose_multiplatform.sh b/busytown/androidx_compose_multiplatform.sh
index 5f39449..dd31e36 100755
--- a/busytown/androidx_compose_multiplatform.sh
+++ b/busytown/androidx_compose_multiplatform.sh
@@ -9,10 +9,15 @@
# b/235340662 don't verify dependency versions because we cannot pin to multiplatform deps
-./androidx.sh \
- -Pandroidx.compose.multiplatformEnabled=true \
- compileDebugAndroidTestSources \
- compileDebugSources \
- desktopTestClasses \
- -x verifyDependencyVersions \
- -Pandroidx.enableAffectedModuleDetection=false "$@"
+impl/build.sh buildOnServer createAllArchives checkExternalLicenses listTaskOutputs \
+ -Pandroidx.compose.multiplatformEnabled=true \
+ -Pandroidx.enableComposeCompilerMetrics=true \
+ -Pandroidx.enableComposeCompilerReports=true \
+ -Pandroidx.constraints=true \
+ --no-daemon \
+ --profile \
+ compileDebugAndroidTestSources \
+ compileDebugSources \
+ desktopTestClasses \
+ -x verifyDependencyVersions \
+ -Pandroidx.enableAffectedModuleDetection=false "$@"
diff --git a/busytown/androidx_multiplatform_linux.sh b/busytown/androidx_multiplatform_linux.sh
index 3f9d518..34e9b84 100755
--- a/busytown/androidx_multiplatform_linux.sh
+++ b/busytown/androidx_multiplatform_linux.sh
@@ -3,12 +3,12 @@
cd "$(dirname $0)"
# Builds all projects that support KMP except for Compose-specific projects which are already
-# covered by androidx_compose_multiplatform.sh
+# covered by androidx_compose_multiplatform.sh.
# Must be run on Linux
-# build just KMP projects. This will also enable native targets.
-export ANDROIDX_PROJECTS=KMP
+# build just INFRAROGUE projects. This will also enable native targets.
+export ANDROIDX_PROJECTS=INFRAROGUE # TODO: Switch from `INFRAROGUE` to `KMP`
# disable cache, NS does not allow it yet: b/235227707
export USE_ANDROIDX_REMOTE_BUILD_CACHE=false
diff --git a/busytown/androidx_multiplatform_mac.sh b/busytown/androidx_multiplatform_mac.sh
index 9f2dfbd..3373b9d 100755
--- a/busytown/androidx_multiplatform_mac.sh
+++ b/busytown/androidx_multiplatform_mac.sh
@@ -7,7 +7,7 @@
# Must be run on Mac
-export ANDROIDX_PROJECTS=KMP
+export ANDROIDX_PROJECTS=INFRAROGUE # TODO: Switch from `INFRAROGUE` to `KMP`
# disable GCP cache, these machines don't have credentials.
export USE_ANDROIDX_REMOTE_BUILD_CACHE=false
diff --git a/busytown/androidx_multiplatform_mac_host_tests.sh b/busytown/androidx_multiplatform_mac_host_tests.sh
index 8da2ed5..77eb725 100755
--- a/busytown/androidx_multiplatform_mac_host_tests.sh
+++ b/busytown/androidx_multiplatform_mac_host_tests.sh
@@ -6,7 +6,7 @@
# Must be run on Mac
-export ANDROIDX_PROJECTS=KMP
+export ANDROIDX_PROJECTS=INFRAROGUE # TODO: Switch from `INFRAROGUE` to `KMP`
# disable GCP cache, these machines don't have credentials.
export USE_ANDROIDX_REMOTE_BUILD_CACHE=false
diff --git a/compose/animation/animation-graphics/src/commonMain/kotlin/androidx/compose/animation/graphics/vector/Animator.kt b/compose/animation/animation-graphics/src/commonMain/kotlin/androidx/compose/animation/graphics/vector/Animator.kt
index f21dbb9..c38b355 100644
--- a/compose/animation/animation-graphics/src/commonMain/kotlin/androidx/compose/animation/graphics/vector/Animator.kt
+++ b/compose/animation/animation-graphics/src/commonMain/kotlin/androidx/compose/animation/graphics/vector/Animator.kt
@@ -219,6 +219,7 @@
) { atEnd ->
if (atEnd) overallDuration.toFloat() else 0f
}
+ @Suppress("UnrememberedMutableState") // b/279909531
return derivedStateOf { interpolate(timeState.value) }
}
diff --git a/compose/desktop/desktop/build.gradle b/compose/desktop/desktop/build.gradle
index a8baf7a..46e9c83 100644
--- a/compose/desktop/desktop/build.gradle
+++ b/compose/desktop/desktop/build.gradle
@@ -14,6 +14,9 @@
* limitations under the License.
*/
+
+import androidx.build.AndroidXComposePlugin
+import androidx.build.KmpPlatformsKt
import androidx.build.LibraryType
import androidx.build.RunApiTasks
import androidx.build.BuildOnServerKt
@@ -26,41 +29,55 @@
id("kotlin-multiplatform")
}
+def desktopEnabled = KmpPlatformsKt.enableDesktop(project)
+
dependencies {
}
kotlin {
- jvm() {
- withJava()
+ if (desktopEnabled) {
+ jvm() {
+ withJava()
+ }
}
- sourceSets {
- commonMain.dependencies {
- implementation(libs.kotlinStdlibCommon)
- implementation(project(":compose:ui:ui-util"))
- api(project(":compose:foundation:foundation"))
- api(project(":compose:material:material"))
- api(project(":compose:runtime:runtime"))
- api(project(":compose:ui:ui"))
- api(project(":compose:ui:ui-tooling-preview"))
- }
-
- jvmMain.dependencies {
- implementation(libs.kotlinStdlib)
- implementation(libs.kotlinStdlibJdk8)
- implementation(libs.kotlinCoroutinesCore)
- }
-
- jvmTest {
- resources.srcDirs += new File(SupportConfigKt.getExternalProjectPath(project), "noto-fonts/other/")
- resources.srcDirs += "src/jvmTest/res"
- dependencies {
- implementation(libs.kotlinCoroutinesTest)
- implementation(libs.skikoCurrentOs)
- implementation(project(":compose:ui:ui-test-junit4"))
- implementation(libs.junit)
- implementation(libs.truth)
+ if (desktopEnabled) {
+ sourceSets {
+ commonMain.dependencies {
+ implementation(libs.kotlinStdlibCommon)
+ implementation(project(":compose:ui:ui-util"))
+ api(project(":compose:foundation:foundation"))
+ api(project(":compose:material:material"))
+ api(project(":compose:runtime:runtime"))
+ api(project(":compose:ui:ui"))
+ api(project(":compose:ui:ui-tooling-preview"))
}
+
+ jvmMain.dependencies {
+ implementation(libs.kotlinStdlib)
+ implementation(libs.kotlinStdlibJdk8)
+ implementation(libs.kotlinCoroutinesCore)
+ }
+
+ jvmTest {
+ resources.srcDirs += new File(SupportConfigKt.getExternalProjectPath(project), "noto-fonts/other/")
+ resources.srcDirs += "src/jvmTest/res"
+ dependencies {
+ implementation(libs.kotlinCoroutinesTest)
+ implementation(libs.skikoCurrentOs)
+ implementation(project(":compose:ui:ui-test-junit4"))
+ implementation(libs.junit)
+ implementation(libs.truth)
+ }
+ }
+ }
+ }
+}
+
+if (!desktopEnabled) {
+ kotlin {
+ jvm("disabled") {
+ withJava()
}
}
}
@@ -74,8 +91,10 @@
}
}
-tasks.findByName("jvmTest").configure {
- systemProperties["GOLDEN_PATH"] = getGoldenPath(project).toString()
+if (desktopEnabled) {
+ tasks.findByName("jvmTest").configure {
+ systemProperties["GOLDEN_PATH"] = getGoldenPath(project).toString()
+ }
}
androidx {
@@ -127,4 +146,6 @@
}
}
-BuildOnServerKt.addToBuildOnServer(project, "${project.path}:jvmJar")
+if (desktopEnabled) {
+ BuildOnServerKt.addToBuildOnServer(project, "${project.path}:jvmJar")
+}
diff --git a/compose/desktop/desktop/samples/build.gradle b/compose/desktop/desktop/samples/build.gradle
index 76b09be..7502716 100644
--- a/compose/desktop/desktop/samples/build.gradle
+++ b/compose/desktop/desktop/samples/build.gradle
@@ -15,94 +15,105 @@
*/
import androidx.build.BuildOnServerKt
+import androidx.build.KmpPlatformsKt
import androidx.build.SupportConfigKt
plugins {
id("AndroidXPlugin")
+ id("java")
id("AndroidXComposePlugin")
id("kotlin-multiplatform")
}
-dependencies {
+def desktopEnabled = KmpPlatformsKt.enableDesktop(project)
+
+if (desktopEnabled) {
+ kotlin {
+ jvm()
+
+ sourceSets {
+ jvmMain {
+ resources.srcDirs += new File(SupportConfigKt.getExternalProjectPath(project), "noto-fonts/other/")
+ resources.srcDirs += "src/jvmMain/res"
+ }
+
+ jvmMain.dependencies {
+ implementation(libs.skikoCurrentOs)
+ implementation(project(":compose:desktop:desktop"))
+ }
+ }
+ }
+
+ task run1(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.example1.Main_jvmKt"
+ systemProperty("skiko.fps.enabled", "true")
+ def compilation = kotlin.jvm().compilations["main"]
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task run2(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.example2.Main_jvmKt"
+ def compilation = kotlin.jvm().compilations["main"]
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task run3(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.popupexample.Main_jvmKt"
+ def compilation = kotlin.jvm().compilations["main"]
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task run4(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.swingexample.Main_jvmKt"
+ def compilation = kotlin.jvm().compilations["main"]
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task runVsync(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.vsynctest.Main_jvmKt"
+ jvmArgs("-verbose:gc")
+ def compilation = kotlin.jvm().compilations["main"]
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task runWindowApi(type: JavaExec) {
+ dependsOn(":compose:desktop:desktop:jar")
+ main = "androidx.compose.desktop.examples.windowapi.Main_jvmKt"
+ def compilation = kotlin.jvm().compilations["main"]
+ systemProperty("skiko.rendering.laf.global", "true")
+ systemProperty("skiko.rendering.useScreenMenuBar", "true")
+ classpath =
+ compilation.output.allOutputs +
+ compilation.runtimeDependencyFiles
+ }
+
+ task run {
+ dependsOn("run1")
+ }
+
+
+ BuildOnServerKt.addToBuildOnServer(project, "${project.path}:jvmJar")
}
-kotlin {
- jvm()
-
- sourceSets {
- jvmMain {
- resources.srcDirs += new File(SupportConfigKt.getExternalProjectPath(project), "noto-fonts/other/")
- resources.srcDirs += "src/jvmMain/res"
- }
-
- jvmMain.dependencies {
- implementation(libs.skikoCurrentOs)
- implementation(project(":compose:desktop:desktop"))
+if (!desktopEnabled) {
+ kotlin {
+ jvm("disabled") {
+ withJava()
}
}
}
-
-task run1(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.example1.Main_jvmKt"
- systemProperty("skiko.fps.enabled", "true")
- def compilation = kotlin.jvm().compilations["main"]
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task run2(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.example2.Main_jvmKt"
- def compilation = kotlin.jvm().compilations["main"]
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task run3(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.popupexample.Main_jvmKt"
- def compilation = kotlin.jvm().compilations["main"]
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task run4(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.swingexample.Main_jvmKt"
- def compilation = kotlin.jvm().compilations["main"]
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task runVsync(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.vsynctest.Main_jvmKt"
- jvmArgs("-verbose:gc")
- def compilation = kotlin.jvm().compilations["main"]
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task runWindowApi(type: JavaExec) {
- dependsOn(":compose:desktop:desktop:jar")
- main = "androidx.compose.desktop.examples.windowapi.Main_jvmKt"
- def compilation = kotlin.jvm().compilations["main"]
- systemProperty("skiko.rendering.laf.global", "true")
- systemProperty("skiko.rendering.useScreenMenuBar", "true")
- classpath =
- compilation.output.allOutputs +
- compilation.runtimeDependencyFiles
-}
-
-task run {
- dependsOn("run1")
-}
-
-
-BuildOnServerKt.addToBuildOnServer(project, "${project.path}:jvmJar")
diff --git a/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt b/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt
new file mode 100644
index 0000000..0c32401
--- /dev/null
+++ b/compose/desktop/desktop/samples/src/jvmMain/disabled/Empty.kt
@@ -0,0 +1 @@
+// Give Kotlin a placeholder file to compile when this project is disabled.
\ No newline at end of file
diff --git a/compose/desktop/desktop/src/disabled/Empty.kt b/compose/desktop/desktop/src/disabled/Empty.kt
new file mode 100644
index 0000000..0c32401
--- /dev/null
+++ b/compose/desktop/desktop/src/disabled/Empty.kt
@@ -0,0 +1 @@
+// Give Kotlin a placeholder file to compile when this project is disabled.
\ No newline at end of file
diff --git a/compose/runtime/runtime/build.gradle b/compose/runtime/runtime/build.gradle
index f7317d7..37a15fa 100644
--- a/compose/runtime/runtime/build.gradle
+++ b/compose/runtime/runtime/build.gradle
@@ -14,9 +14,8 @@
* limitations under the License.
*/
-import androidx.build.AndroidXComposePlugin
+import androidx.build.KmpPlatformsKt
import androidx.build.LibraryType
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("AndroidXPlugin")
@@ -24,87 +23,95 @@
id("com.android.library")
}
-AndroidXComposePlugin.applyAndConfigureKotlinPlugin(project)
+def desktopEnabled = KmpPlatformsKt.enableDesktop(project)
-dependencies {
+androidXMultiplatform {
+ android()
+ if (desktopEnabled) desktop()
- if(!AndroidXComposePlugin.isMultiplatformEnabled(project)) {
- /*
- * When updating dependencies, make sure to make the an an analogous update in the
- * corresponding block below
- */
-
- api(libs.kotlinCoroutinesAndroid)
-
- implementation("androidx.annotation:annotation:1.1.0")
- implementation(libs.kotlinStdlib)
-
- testImplementation(libs.kotlinTestJunit)
- testImplementation(libs.junit)
- testImplementation(libs.robolectric)
- testImplementation(libs.kotlinCoroutinesTest)
-
- androidTestImplementation(libs.kotlinTestJunit)
- androidTestImplementation(libs.testExtJunit)
- androidTestImplementation(libs.testRules)
- androidTestImplementation(libs.testRunner)
- androidTestImplementation(libs.junit)
- androidTestImplementation(libs.truth)
-
- lintChecks(projectOrArtifact(":compose:runtime:runtime-lint"))
- lintPublish(projectOrArtifact(":compose:runtime:runtime-lint"))
-
- samples(projectOrArtifact(":compose:runtime:runtime:runtime-samples"))
- }
-}
-
-if(AndroidXComposePlugin.isMultiplatformEnabled(project)) {
- androidXComposeMultiplatform {
- android()
- desktop()
- }
-
- kotlin {
-
- /*
- * When updating dependencies, make sure to make the an an analogous update in the
- * corresponding block above
- */
- sourceSets {
- commonMain.dependencies {
+ sourceSets {
+ commonMain {
+ dependencies {
implementation(libs.kotlinStdlibCommon)
implementation(libs.kotlinCoroutinesCore)
}
- jvmMain.dependencies {
- implementation(libs.kotlinStdlib)
- api(libs.kotlinCoroutinesCore)
- }
- androidMain {
- dependencies {
- api(libs.kotlinCoroutinesAndroid)
- api("androidx.annotation:annotation:1.1.0")
- }
- }
+ }
- commonTest.dependencies {
+ commonTest {
+ dependencies {
implementation kotlin("test")
implementation(libs.kotlinCoroutinesTest)
}
+ }
- androidAndroidTest {
+ jvmMain {
+ dependencies {
+ implementation(libs.kotlinStdlib)
+ api(libs.kotlinCoroutinesCore)
+ }
+ }
+
+
+ androidMain {
+ dependsOn(jvmMain)
+ dependencies {
+ api(libs.kotlinCoroutinesAndroid)
+ api("androidx.annotation:annotation:1.1.0")
+ }
+ }
+
+ if (desktopEnabled) {
+ desktopMain {
+ dependsOn(jvmMain)
+ }
+ }
+
+ jvmTest {
+ dependsOn(commonTest)
+ dependencies {
+ }
+ }
+
+ nonEmulatorCommonTest {
+ dependsOn(commonTest)
+ dependencies {
+ }
+ }
+
+ nonEmulatorJvmTest {
+ dependsOn(nonEmulatorCommonTest)
+ dependencies {
+ }
+ }
+
+ androidAndroidTest {
+ dependsOn(jvmTest)
+ dependencies {
+ implementation(libs.testExtJunit)
+ implementation(libs.testRules)
+ implementation(libs.testRunner)
+ implementation(libs.truth)
+ }
+ }
+
+ androidTest {
+ dependsOn(jvmTest)
+ dependsOn(nonEmulatorJvmTest)
+ }
+
+ if (desktopEnabled) {
+ desktopTest {
dependsOn(jvmTest)
- dependencies {
- implementation(libs.testExtJunit)
- implementation(libs.testRules)
- implementation(libs.testRunner)
- implementation(libs.truth)
- }
+ dependsOn(nonEmulatorJvmTest)
}
}
}
- dependencies {
- samples(projectOrArtifact(":compose:runtime:runtime:runtime-samples"))
- }
+}
+
+dependencies {
+ lintChecks(projectOrArtifact(":compose:runtime:runtime-lint"))
+ lintPublish(projectOrArtifact(":compose:runtime:runtime-lint"))
+ samples(projectOrArtifact(":compose:runtime:runtime:runtime-samples"))
}
android {
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/AbstractApplierTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/AbstractApplierTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/AbstractApplierTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/AbstractApplierTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/BroadcastFrameClockTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionAndDerivedStateTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionAndDerivedStateTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionAndDerivedStateTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionAndDerivedStateTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionLocalTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionReusingTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompositionTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompoundHashKeyTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompoundHashKeyTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/CompoundHashKeyTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/CompoundHashKeyTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/EffectsTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/EffectsTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/GroupSizeValidationTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/LatchTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/LatchTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/LatchTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/ModelViewTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/MovableContentTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/MovableContentTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/MovableContentTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/MovableContentTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/NewCodeGenTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/RecomposerTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/RecomposerTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/RecomposerTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/RecomposerTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/RestartTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/RestartTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/RestartTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/RestartTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SlotTableTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/SnapshotFlowTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/UpdateChangedFlagsTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayIntMapTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArrayMapTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityArraySetTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/IdentityScopeMapTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/MutableVectorTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/MutableVectorTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/collection/MutableVectorTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/collection/MutableVectorTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposeContact.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposeContact.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposeContact.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposeContact.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposePoints.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposePoints.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposePoints.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposePoints.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposeReport.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposeReport.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ComposeReport.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ComposeReport.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/CompositionTest.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Contact.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Contact.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Contact.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Contact.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ContactModel.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ContactModel.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ContactModel.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ContactModel.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/EmptyApplier.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/EmptyApplier.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/EmptyApplier.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/EmptyApplier.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/MockViewValidator.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Point.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Point.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Point.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Point.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Report.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Report.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Report.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/TestMonotonicFrameClock.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/TestMonotonicFrameClock.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/TestMonotonicFrameClock.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/TestMonotonicFrameClock.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/View.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/View.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/View.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ViewApplier.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ViewApplier.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/ViewApplier.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/ViewApplier.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Views.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/mock/Views.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/mock/Views.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/DerivedSnapshotStateTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/PrimitiveSnapshotStateTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotContextElementTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotDoubleIndexHeapTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotIdSetTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotIdSetTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotIdSetTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotIdSetTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateExtensionsTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateListTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMapTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsCommon.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsCommon.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsCommon.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsCommon.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/snapshots/SnapshotWeakSetTests.kt
diff --git a/compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt b/compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/commonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
rename to compose/runtime/runtime/src/nonEmulatorCommonTest/kotlin/androidx/compose/runtime/tooling/CompositionDataTests.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/JvmCompositionTests.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/LiveEditTests.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/LiveEditTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/LiveEditTests.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/LiveEditTests.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/MonotonicFrameClockTest.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/RecomposerTests.jvm.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/RecomposerTests.jvm.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/RecomposerTests.jvm.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/RecomposerTests.jvm.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/reflect/ComposableMethodTest.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsJvm.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsJvm.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsJvm.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotStateObserverTestsJvm.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotTestsJvm.kt
diff --git a/compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt b/compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
similarity index 100%
rename from compose/runtime/runtime/src/jvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
rename to compose/runtime/runtime/src/nonEmulatorJvmTest/kotlin/androidx/compose/runtime/snapshots/SnapshotThreadMapTests.kt
diff --git a/settings.gradle b/settings.gradle
index aa1e705..66641d0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -195,7 +195,8 @@
WEAR,
GLANCE,
TOOLS,
- KMP,
+ KMP, // All projects built as Kotlin Multi Platform (compose, datastore, collections, etc).
+ INFRAROGUE, // Projects built by playground team, mostly non-compose kmp.
CAMERA,
NATIVE,
WINDOW,
@@ -255,6 +256,9 @@
case "KMP":
filter.add(BuildType.KMP)
break
+ case "INFRAROGUE":
+ filter.add(BuildType.INFRAROGUE)
+ break
case "CAMERA":
filter.add(BuildType.CAMERA)
break
@@ -449,10 +453,10 @@
includeProject(":autofill:autofill", [BuildType.MAIN])
includeProject(":benchmark:benchmark-benchmark", "benchmark/benchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:benchmark-common")
-includeProject(":benchmark:benchmark-darwin", [BuildType.KMP])
-includeProject(":benchmark:benchmark-darwin-core", [BuildType.KMP])
-includeProject(":benchmark:benchmark-darwin-samples", [BuildType.KMP])
-includeProject(":benchmark:benchmark-darwin-gradle-plugin", [BuildType.KMP])
+includeProject(":benchmark:benchmark-darwin", [BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":benchmark:benchmark-darwin-core", [BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":benchmark:benchmark-darwin-samples", [BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":benchmark:benchmark-darwin-gradle-plugin", [BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":benchmark:benchmark-gradle-plugin", "benchmark/gradle-plugin", [BuildType.MAIN])
includeProject(":benchmark:benchmark-baseline-profile-gradle-plugin", "benchmark/baseline-profile-gradle-plugin",[BuildType.MAIN])
includeProject(":benchmark:benchmark-junit4")
@@ -521,11 +525,11 @@
includeProject(":car:app:app-samples:showcase-mobile", "car/app/app-samples/showcase/mobile", [BuildType.MAIN])
includeProject(":car:app:app-testing", [BuildType.MAIN])
includeProject(":cardview:cardview", [BuildType.MAIN])
-includeProject(":collection:collection", [BuildType.MAIN, BuildType.KMP])
-includeProject(":collection:collection-benchmark", [BuildType.MAIN, BuildType.KMP])
-includeProject(":collection:collection-benchmark-kmp", [BuildType.MAIN, BuildType.KMP])
-includeProject(":collection:collection-ktx", [BuildType.MAIN, BuildType.KMP])
-includeProject(":collection:integration-tests:testapp", [BuildType.MAIN, BuildType.KMP])
+includeProject(":collection:collection", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":collection:collection-benchmark", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":collection:collection-benchmark-kmp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":collection:collection-ktx", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":collection:integration-tests:testapp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":compose:animation", [BuildType.COMPOSE])
includeProject(":compose:animation:animation", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-lint", [BuildType.COMPOSE])
@@ -549,9 +553,9 @@
includeProject(":compose:compiler:compiler-daemon:integration-tests", [BuildType.COMPOSE])
if (isMultiplatformEnabled()) {
- includeProject(":compose:desktop", [BuildType.COMPOSE])
- includeProject(":compose:desktop:desktop", [BuildType.COMPOSE])
- includeProject(":compose:desktop:desktop:desktop-samples", "compose/desktop/desktop/samples", [BuildType.COMPOSE])
+ includeProject(":compose:desktop", [BuildType.COMPOSE, BuildType.KMP])
+ includeProject(":compose:desktop:desktop", [BuildType.COMPOSE, BuildType.KMP])
+ includeProject(":compose:desktop:desktop:desktop-samples", "compose/desktop/desktop/samples", [BuildType.COMPOSE, BuildType.KMP])
}
includeProject(":compose:foundation", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation", [BuildType.COMPOSE])
@@ -601,7 +605,7 @@
includeProject(":compose:material:material:material-samples", "compose/material/material/samples", [BuildType.COMPOSE])
includeProject(":compose:material3:material3:material3-samples", "compose/material3/material3/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime", [BuildType.COMPOSE])
-includeProject(":compose:runtime:runtime", [BuildType.COMPOSE])
+includeProject(":compose:runtime:runtime", [BuildType.COMPOSE, BuildType.KMP])
includeProject(":compose:runtime:runtime-lint", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-livedata", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-livedata:runtime-livedata-samples", "compose/runtime/runtime-livedata/samples", [BuildType.COMPOSE])
@@ -687,20 +691,20 @@
includeProject(":cursoradapter:cursoradapter", [BuildType.MAIN])
includeProject(":customview:customview", [BuildType.MAIN])
includeProject(":customview:customview-poolingcontainer", [BuildType.MAIN, BuildType.COMPOSE])
-includeProject(":datastore:datastore", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-benchmark", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-core", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-core-okio", [BuildType.MAIN, BuildType.KMP])
+includeProject(":datastore:datastore", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-benchmark", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-core", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-core-okio", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-compose-samples", [BuildType.COMPOSE])
-includeProject(":datastore:datastore-preferences", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-preferences-core", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-preferences-proto", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-preferences-rxjava2", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-preferences-rxjava3", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-proto", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-rxjava2", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-rxjava3", [BuildType.MAIN, BuildType.KMP])
-includeProject(":datastore:datastore-sampleapp", [BuildType.MAIN, BuildType.KMP])
+includeProject(":datastore:datastore-preferences", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-preferences-core", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-preferences-proto", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-preferences-rxjava2", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-preferences-rxjava3", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-proto", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-rxjava2", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-rxjava3", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":datastore:datastore-sampleapp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":documentfile:documentfile", [BuildType.MAIN])
includeProject(":draganddrop:draganddrop", [BuildType.MAIN])
includeProject(":draganddrop:integration-tests:sampleapp", [BuildType.MAIN])
@@ -1119,14 +1123,14 @@
/////////////////////////////
includeProject(":internal-testutils-common", "testutils/testutils-common", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
-includeProject(":internal-testutils-datastore", "testutils/testutils-datastore", [BuildType.MAIN, BuildType.KMP])
-includeProject(":internal-testutils-runtime", "testutils/testutils-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.MEDIA])
+includeProject(":internal-testutils-datastore", "testutils/testutils-datastore", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
+includeProject(":internal-testutils-runtime", "testutils/testutils-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.MEDIA, BuildType.WEAR])
includeProject(":internal-testutils-appcompat", "testutils/testutils-appcompat", [BuildType.MAIN])
includeProject(":internal-testutils-espresso", "testutils/testutils-espresso", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":internal-testutils-fonts", "testutils/testutils-fonts", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":internal-testutils-truth", "testutils/testutils-truth")
includeProject(":internal-testutils-ktx", "testutils/testutils-ktx")
-includeProject(":internal-testutils-kmp", "testutils/testutils-kmp", [BuildType.MAIN, BuildType.KMP, BuildType.COMPOSE])
+includeProject(":internal-testutils-kmp", "testutils/testutils-kmp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP, BuildType.COMPOSE])
includeProject(":internal-testutils-macrobenchmark", "testutils/testutils-macrobenchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":internal-testutils-navigation", "testutils/testutils-navigation", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":internal-testutils-paging", "testutils/testutils-paging", [BuildType.MAIN, BuildType.COMPOSE])