Skip to content

Commit 6797abd

Browse files
committed
chore: use experimental DSL for source set hierarchy
1 parent a6ba4bb commit 6797abd

3 files changed

Lines changed: 35 additions & 25 deletions

File tree

acidify-core/build.gradle.kts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
2+
13
import com.vanniktech.maven.publish.DeploymentValidation
4+
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
25
import java.time.ZoneId
36
import java.time.ZonedDateTime
47
import java.time.format.DateTimeFormatter
@@ -26,19 +29,20 @@ kotlin {
2629
}
2730
}
2831

29-
applyDefaultHierarchyTemplate()
32+
applyDefaultHierarchyTemplate {
33+
common {
34+
group("nonJs") {
35+
withJvm()
36+
withNative()
37+
}
38+
}
39+
}
3040

3141
compilerOptions {
3242
freeCompilerArgs.add("-Xconsistent-data-class-copy-visibility")
3343
}
3444

3545
sourceSets {
36-
val nonJsMain by creating {
37-
dependsOn(commonMain.get())
38-
jvmMain.get().dependsOn(this)
39-
nativeMain.get().dependsOn(this)
40-
}
41-
4246
commonMain.dependencies {
4347
implementation(kotlin("reflect"))
4448
implementation(libs.kotlinx.serialization.json)

yogurt-fs/build.gradle.kts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
1+
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
2+
3+
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
4+
15
plugins {
26
id("buildsrc.convention.kotlin-multiplatform")
37
}
48

59
kotlin {
6-
applyDefaultHierarchyTemplate()
10+
applyDefaultHierarchyTemplate {
11+
common {
12+
group("wrapped") {
13+
withJvm()
14+
withMacos()
15+
withLinux()
16+
}
17+
}
18+
}
719

820
sourceSets {
921
commonMain.dependencies {
1022
implementation(libs.kotlinx.io)
1123
}
12-
13-
val wrappedMain by creating {
14-
dependsOn(commonMain.get())
15-
}
16-
17-
jvmMain.get().dependsOn(wrappedMain)
18-
macosArm64Main.get().dependsOn(wrappedMain)
19-
linuxX64Main.get().dependsOn(wrappedMain)
20-
linuxArm64Main.get().dependsOn(wrappedMain)
21-
2224
commonTest.dependencies {
2325
implementation(kotlin("test"))
2426
}

yogurt/build.gradle.kts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
2+
13
import com.codingfeline.buildkonfig.compiler.FieldSpec
4+
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
25
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
36
import java.time.ZoneId
47
import java.time.ZonedDateTime
@@ -14,19 +17,20 @@ plugins {
1417
version = "0.1.0"
1518

1619
kotlin {
17-
applyDefaultHierarchyTemplate()
20+
applyDefaultHierarchyTemplate {
21+
common {
22+
group("posix") {
23+
withLinux()
24+
withMacos()
25+
}
26+
}
27+
}
1828

1929
compilerOptions {
2030
freeCompilerArgs.add("-Xcontext-parameters")
2131
}
2232

2333
sourceSets {
24-
val posixMain by creating {
25-
dependsOn(commonMain.get())
26-
macosMain.get().dependsOn(this)
27-
linuxMain.get().dependsOn(this)
28-
}
29-
3034
commonMain.dependencies {
3135
implementation(project(":acidify-core"))
3236
implementation(project(":acidify-milky"))

0 commit comments

Comments
 (0)