Skip to content

Commit 6ab6b81

Browse files
committedMay 2, 2023
Reland "Foundations of gradle-mpp configuration for Compose"
This reverts commit b01417b. Includes: Add :docs-kmp to BuildType.INFRAROGUE for mac builder Change-Id: I1695894488b36f4fe5b167d408af332753a74433
1 parent 57d22e5 commit 6ab6b81

File tree

76 files changed

+310
-218
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+310
-218
lines changed
 

‎buildSrc-tests/src/test/kotlin/androidx/build/KmpPlatformsTest.kt

+16-10
Original file line numberDiff line numberDiff line change
@@ -23,63 +23,69 @@ class KmpPlatformsTest {
2323

2424
@Test
2525
fun withAnEmptyFlag_itReturnsTheDefaultValue() {
26-
assertThat(KmpFlagParser.parse("")).isEqualTo(setOf(KmpPlatform.JVM))
26+
assertThat(KmpFlagParser.parse("")).isEqualTo(
27+
setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
28+
)
2729
}
2830

2931
@Test
3032
fun withANullFlag_itReturnsTheDefaultValue() {
31-
assertThat(KmpFlagParser.parse(null)).isEqualTo(setOf(KmpPlatform.JVM))
33+
assertThat(KmpFlagParser.parse(null)).isEqualTo(
34+
setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
35+
)
3236
}
3337

3438
@Test
3539
fun withASingleDefaultPlatform_itParsesTheFlagCorrectly() {
36-
assertThat(KmpFlagParser.parse("+jvm")).isEqualTo(setOf(KmpPlatform.JVM))
40+
assertThat(KmpFlagParser.parse("+jvm")).isEqualTo(
41+
setOf(KmpPlatform.JVM, KmpPlatform.DESKTOP)
42+
)
3743
}
3844

3945
@Test
4046
fun withNoPlatforms_itParsesTheFlagCorrectly() {
41-
assertThat(KmpFlagParser.parse("-jvm")).isEqualTo(emptySet<KmpPlatform>())
47+
assertThat(KmpFlagParser.parse("-jvm,-desktop")).isEqualTo(emptySet<KmpPlatform>())
4248
}
4349

4450
@Test
4551
fun withASingleNonDefaultPlatform_itParsesTheFlagCorrectly() {
4652
assertThat(KmpFlagParser.parse("+js")).isEqualTo(
47-
setOf(KmpPlatform.JVM, KmpPlatform.JS)
53+
setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.DESKTOP)
4854
)
4955
}
5056

5157
@Test
5258
fun withAMultiplePlatforms_itParsesTheFlagCorrectly() {
5359
assertThat(KmpFlagParser.parse("+js,+mac")).isEqualTo(
54-
setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.MAC)
60+
setOf(KmpPlatform.JVM, KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.DESKTOP)
5561
)
5662
}
5763

5864
@Test
5965
fun withNegativeFlags_itParsesTheFlagCorrectly() {
6066
assertThat(KmpFlagParser.parse("-jvm,+mac")).isEqualTo(
61-
setOf(KmpPlatform.MAC)
67+
setOf(KmpPlatform.MAC, KmpPlatform.DESKTOP)
6268
)
6369
}
6470

6571
@Test
6672
fun withTheNativeFlag_itParsesTheFlagCorrectly() {
6773
assertThat(KmpFlagParser.parse("+native")).isEqualTo(
68-
setOf(KmpPlatform.JVM, KmpPlatform.MAC, KmpPlatform.LINUX)
74+
setOf(KmpPlatform.JVM, KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
6975
)
7076
}
7177

7278
@Test
7379
fun withMultipleFlagsIncludingTheNativeFlag_itParsesTheFlagCorrectly() {
7480
assertThat(KmpFlagParser.parse("-jvm,+native,+js")).isEqualTo(
75-
setOf(KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.LINUX)
81+
setOf(KmpPlatform.JS, KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
7682
)
7783
}
7884

7985
@Test
8086
fun withRedundentFlags_itParsesTheFlagCorrectly() {
8187
assertThat(KmpFlagParser.parse("-jvm,+native,+linux,+mac,+linux")).isEqualTo(
82-
setOf(KmpPlatform.MAC, KmpPlatform.LINUX)
88+
setOf(KmpPlatform.MAC, KmpPlatform.LINUX, KmpPlatform.DESKTOP)
8389
)
8490
}
8591
}

‎buildSrc/private/src/main/kotlin/androidx/build/AndroidXMultiplatformExtension.kt

+11
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,17 @@ open class AndroidXMultiplatformExtension(val project: Project) {
8686
} else { null }
8787
}
8888

89+
@JvmOverloads
90+
fun desktop(
91+
block: Action<KotlinJvmTarget>? = null
92+
): KotlinJvmTarget? {
93+
return if (project.enableJvm()) {
94+
kotlinExtension.jvm("desktop") {
95+
block?.execute(this)
96+
}
97+
} else { null }
98+
}
99+
89100
/**
90101
* Configures all mac targets supported by AndroidX.
91102
*/

0 commit comments

Comments
 (0)