Merge remote-tracking branch 'origin/compose_multiplatform' into compose_multiplatform

# Conflicts:
#	gradle/libs.versions.toml
pull/1323/head
lihenggui 2 years ago
commit 2a5672f6cd

@ -34,6 +34,11 @@ class KotlinInjectConventionPlugin: Plugin<Project> {
add("kspIosX64", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspIosArm64", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspIosSimulatorArm64", libs.findLibrary("kotlin.inject.compiler.ksp").get())
// add("kspWasmJs", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspAndroid", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspJvm", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspMacosX64", libs.findLibrary("kotlin.inject.compiler.ksp").get())
add("kspMacosArm64", libs.findLibrary("kotlin.inject.compiler.ksp").get())
}
}
}

@ -21,6 +21,8 @@ import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.konan.target.HostManager
@ -28,6 +30,7 @@ import org.jetbrains.kotlin.konan.target.HostManager
* A plugin that applies the Kotlin Multiplatform plugin and configures it for the project.
* https://github.com/cashapp/sqldelight/blob/master/buildLogic/multiplatform-convention/src/main/kotlin/app/cash/sqldelight/multiplatform/MultiplatformConventions.kt
*/
@OptIn(ExperimentalWasmDsl::class)
internal fun Project.configureKotlinMultiplatform() {
extensions.configure<KotlinMultiplatformExtension> {
// Enable native group by default
@ -36,21 +39,21 @@ internal fun Project.configureKotlinMultiplatform() {
jvm()
androidTarget()
// SqlDelight does not support wasm yet
// https://github.com/cashapp/sqldelight/pull/4965/files
js {
browser {
testTask {
useKarma {
useChromeHeadless()
}
}
}
compilations.configureEach {
kotlinOptions {
moduleKind = "umd"
}
}
}
// wasmJs {
// browser {
// commonWebpackConfig {
// devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
// static = (static ?: mutableListOf()).apply {
// // Serve sources to debug inside browser
// add(project.projectDir.path)
// }
// }
// }
// }
// }
// tier 1
// :core:datastore:linuxMain: Could not resolve com.russhwolf:multiplatform-settings-no-arg:1.1.1.

@ -26,6 +26,7 @@ android {
kotlin {
sourceSets {
commonMain.dependencies {
api(libs.logging)
implementation(libs.kotlinx.coroutines.core)
}
commonTest.dependencies {

@ -50,12 +50,13 @@ kotlin {
jvmMain.dependencies {
implementation(libs.sqldelight.sqlite.driver)
}
jsMain.dependencies {
implementation(libs.sqldelight.webworker.driver)
implementation(npm("@cashapp/sqldelight-sqljs-worker", "2.0.1"))
implementation(npm("sql.js", "1.8.0"))
implementation(devNpm("copy-webpack-plugin", "9.1.0"))
}
// https://github.com/cashapp/sqldelight/pull/4965/files
// wasmJsMain.dependencies {
// implementation(libs.sqldelight.webworker.driver)
// implementation(npm("@cashapp/sqldelight-sqljs-worker", "2.0.1"))
// implementation(npm("sql.js", "1.8.0"))
// implementation(devNpm("copy-webpack-plugin", "9.1.0"))
// }
commonTest.dependencies {
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)

@ -73,6 +73,7 @@ junit = "4.13.2"
sqldelight = "2.0.1"
kotlinInject = '0.6.3'
multiplatform-settings = "1.1.1"
kermit = "2.0.3"
ktor = "3.0.0-beta-1"
ktrofit = "1.12.0"
@ -179,6 +180,7 @@ multiplatform-settings = { group = "com.russhwolf", name = "multiplatform-settin
multiplatform-settings-test = { group = "com.russhwolf", name = "multiplatform-settings-test", version.ref = "multiplatform-settings" }
multiplatform-settings-serialization = { group = "com.russhwolf", name = "multiplatform-settings-serialization", version.ref = "multiplatform-settings" }
multiplatform-settings-coroutines = { group = "com.russhwolf", name = "multiplatform-settings-coroutines", version.ref = "multiplatform-settings" }
logging = { group = "co.touchlab", name = "kermit", version.ref = "kermit" }
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
ktor-client-json = { group = "io.ktor", name = "ktor-client-json", version.ref = "ktor" }
ktor-client-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }

Loading…
Cancel
Save