@@ -46,102 +46,66 @@ kotlin {
4646 }
4747 }
4848
49+ // Required as we create additional custom source sets below
50+ applyDefaultHierarchyTemplate()
51+
4952 sourceSets {
50- val commonMain by getting {
51- dependencies {
52- compileOnly(compose.runtime)
53+ commonMain.dependencies {
54+ api(compose.runtime)
55+ api(compose.foundation)
56+ api(compose.animation)
57+ api(compose.material)
58+ api(compose.components.resources)
5359
54- api(libs.components.ui.tooling.preview)
55- api(compose.components.resources)
60+ api(libs.components.ui.tooling.preview)
5661
57- api(libs.ktor.client.logging)
58- api(libs.ktor.serialization.kotlinx.json)
59- api(libs.ktor.client.content.negotiation)
60- api(libs.ktor.utils)
62+ api(libs.ktor.client.logging)
63+ api(libs.ktor.serialization.kotlinx.json)
64+ api(libs.ktor.client.content.negotiation)
65+ api(libs.ktor.utils)
6166
62- implementation(libs.kotlinx.datetime)
63- implementation(libs.material3)
64- }
65- }
67+ implementation(libs.kotlinx.datetime)
68+ implementation(libs.material3)
6669
67- val commonTest by getting {
68- dependencies {
69- implementation(kotlin(" test" ))
70- }
71- }
70+ implementation(libs.androidx.navigation.compose)
71+ implementation(libs.multiplatform.markdown.renderer.m3)
72+ implementation(libs.ktor.client.core)
7273
73- val mobileMain by creating {
74- dependsOn(commonMain)
75- dependencies {
76- api(compose.runtime)
77- api(compose.foundation)
78- api(compose.animation)
79- api(compose.material)
80- api(compose.components.resources)
81-
82- implementation(libs.androidx.navigation.compose)
83- implementation(libs.multiplatform.markdown.renderer.m3)
84- implementation(libs.ktor.client.core)
85-
86- api(libs.image.loader)
87- }
74+ api(libs.image.loader)
8875 }
8976
90- val mobileTest by creating {
91- dependsOn(mobileMain)
92- dependsOn(commonTest)
77+ commonTest.dependencies {
78+ implementation(kotlin(" test" ))
9379 }
9480
95- val androidMain by getting {
96- dependsOn(mobileMain)
81+ androidMain.dependencies {
82+ implementation(compose.runtime)
83+ implementation(compose.foundation)
84+ implementation(compose.material)
85+ implementation(compose.ui)
86+ implementation(compose.components.resources)
9787
98- dependencies {
99- implementation(compose.runtime)
100- implementation(compose.foundation)
101- implementation(compose.material)
102- implementation(compose.ui)
103- implementation(compose.components.resources)
104-
105- implementation(libs.android.svg)
106- implementation(libs.androidx.core.ktx)
107- implementation(libs.androidx.work.runtime)
108- implementation(libs.androidx.preference)
109- implementation(libs.compose.ui.tooling.preview)
110-
111- implementation(libs.ktor.client.cio)
112- }
88+ implementation(libs.android.svg)
89+ implementation(libs.androidx.core.ktx)
90+ implementation(libs.androidx.work.runtime)
91+ implementation(libs.androidx.preference)
92+ implementation(libs.compose.ui.tooling.preview)
11393
114- resources.srcDirs( " src/commonMain/resources " , " src/mobileMain/resources " )
94+ implementation(libs.ktor.client.cio )
11595 }
11696
117- val iosX64Main by getting
118- val iosArm64Main by getting
119- val iosSimulatorArm64Main by getting
120-
121- val iosMain by creating {
122- dependsOn(mobileMain)
123-
124- dependencies {
125- implementation(libs.ktor.client.darwin)
126- }
127-
128- iosX64Main.dependsOn(this )
129- iosArm64Main.dependsOn(this )
130- iosSimulatorArm64Main.dependsOn(this )
97+ iosMain.dependencies {
98+ implementation(libs.ktor.client.darwin)
13199 }
132100
133- val jvmMain by getting {
134- dependsOn(mobileMain)
135-
136- dependencies {
137- implementation(libs.ktor.client.cio)
138- implementation(compose.desktop.currentOs)
139- implementation(libs.android.svg)
140- }
101+ jvmMain.dependencies {
102+ implementation(libs.ktor.client.cio)
103+ implementation(compose.desktop.currentOs)
104+ implementation(libs.android.svg)
141105 }
142- val webMain by creating {
143- dependsOn(mobileMain)
144106
107+ val webMain by creating {
108+ dependsOn(commonMain.get())
145109 dependencies {
146110 implementation(libs.ktor.client.js)
147111 }
@@ -151,7 +115,7 @@ kotlin {
151115 dependsOn(webMain)
152116 }
153117
154- val jsMain by getting {
118+ jsMain {
155119 dependsOn(webMain)
156120 }
157121 }
@@ -161,10 +125,6 @@ android {
161125 namespace = " org.jetbrains.kotlinconf"
162126 compileSdk = libs.versions.android.compileSdk.get().toInt()
163127
164- sourceSets[" main" ].manifest.srcFile(" src/androidMain/AndroidManifest.xml" )
165- sourceSets[" main" ].res.srcDirs(" src/mobileMain/resources" )
166- sourceSets[" main" ].resources.srcDirs(" src/mobileMain/resources" )
167-
168128 defaultConfig {
169129 targetSdk = libs.versions.android.targetSdk.get().toInt()
170130 minSdk = libs.versions.android.minSdk.get().toInt()
@@ -199,7 +159,7 @@ val buildWebApp by tasks.creating(Copy::class) {
199159 val jsWebpack = " jsBrowserProductionWebpack"
200160
201161 dependsOn(wasmWebpack, jsWebpack)
202-
162+
203163 // TODO could be removed after migration to Kotlin 2.0+
204164 kotlin.wasmJs {
205165 applyBinaryen()
0 commit comments