Skip to content

Commit dddd266

Browse files
Ktor version 3.0.0-wasm1 -> 3.0.0-wasm2 (experimental), MultiplatformTargetPresetConventionPlugin to have config consistency
1 parent 9044feb commit dddd266

File tree

17 files changed

+50
-239
lines changed

17 files changed

+50
-239
lines changed

build-logic/convention/build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,10 @@ gradlePlugin {
3838
implementationClass = "AndroidLibraryConventionPlugin"
3939
}
4040
}
41+
plugins {
42+
register("multiplatformDefaultTargetPreset") {
43+
id = "io.architecture.multiplatform.target.preset.default"
44+
implementationClass = "MultiplatformTargetPresetConventionPlugin"
45+
}
46+
}
4147
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import org.gradle.api.Plugin
2+
import org.gradle.api.Project
3+
import org.gradle.kotlin.dsl.configure
4+
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
5+
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
6+
7+
class MultiplatformTargetPresetConventionPlugin : Plugin<Project> {
8+
override fun apply(target: Project) {
9+
with(target) {
10+
with(pluginManager) {
11+
apply("org.jetbrains.kotlin.multiplatform")
12+
}
13+
extensions.configure<KotlinMultiplatformExtension> {
14+
applyDefaultHierarchyTemplate()
15+
@OptIn(ExperimentalWasmDsl::class)
16+
wasmJs { browser() }
17+
js(IR) { browser() }
18+
androidTarget()
19+
iosX64()
20+
iosArm64()
21+
iosSimulatorArm64()
22+
jvm()
23+
}
24+
}
25+
}
26+
}

core/common/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
implementation(libs.koin.core)

core/data/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
val commonMain by getting {
2610
dependencies {

core/database/api/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
implementation(projects.core.common)

core/datasource/api/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
implementation(projects.core.model)

core/designsystem/build.gradle.kts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,13 @@
11
import org.jetbrains.compose.ExperimentalComposeLibrary
2-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
32

43
plugins {
54
alias(libs.plugins.kotlinMultiplatform)
65
alias(libs.plugins.convention.android.library)
76
alias(libs.plugins.jetbrainsCompose)
7+
alias(libs.plugins.convention.multiplatform.target.default)
88
}
99

1010
kotlin {
11-
// Apply the default hierarchy again
12-
applyDefaultHierarchyTemplate()
13-
@OptIn(ExperimentalWasmDsl::class)
14-
wasmJs {
15-
browser()
16-
}
17-
js(IR) {
18-
browser()
19-
}
20-
androidTarget()
21-
iosX64()
22-
iosArm64()
23-
iosSimulatorArm64()
24-
jvm()
25-
2611
sourceSets {
2712
commonMain.dependencies {
2813
implementation(libs.koin.core)

core/di/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
api(projects.core.common)

core/domain/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
implementation(projects.core.data)

core/model/build.gradle.kts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
1-
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
2-
31
plugins {
42
alias(libs.plugins.kotlinMultiplatform)
53
alias(libs.plugins.convention.android.library)
4+
alias(libs.plugins.convention.multiplatform.target.default)
65
}
76

87
kotlin {
9-
// Apply the default hierarchy again
10-
applyDefaultHierarchyTemplate()
11-
@OptIn(ExperimentalWasmDsl::class)
12-
wasmJs {
13-
browser()
14-
}
15-
js(IR) {
16-
browser()
17-
}
18-
androidTarget()
19-
iosX64()
20-
iosArm64()
21-
iosSimulatorArm64()
22-
jvm()
23-
248
sourceSets {
259
commonMain.dependencies {
2610
implementation(libs.kotlinx.datetime)

0 commit comments

Comments
 (0)