更新
This commit is contained in:
@@ -1,19 +1,23 @@
|
||||
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.kotlinMultiplatform)
|
||||
alias(libs.plugins.androidApplication)
|
||||
alias(libs.plugins.composeMultiplatform)
|
||||
alias(libs.plugins.composeCompiler)
|
||||
alias(libs.plugins.composeHotReload)
|
||||
|
||||
alias(libs.plugins.jetbrains.kotlin.serialization)
|
||||
alias(libs.plugins.gms.google)
|
||||
|
||||
alias(libs.plugins.ksp)
|
||||
alias(libs.plugins.androidx.room)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
androidTarget {
|
||||
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_11)
|
||||
}
|
||||
@@ -30,48 +34,84 @@ kotlin {
|
||||
}
|
||||
}
|
||||
|
||||
jvm("desktop")
|
||||
|
||||
jvm()
|
||||
|
||||
js {
|
||||
browser()
|
||||
binaries.executable()
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalWasmDsl::class)
|
||||
wasmJs {
|
||||
moduleName = "composeApp"
|
||||
browser {
|
||||
val rootDirPath = project.rootDir.path
|
||||
val projectDirPath = project.projectDir.path
|
||||
commonWebpackConfig {
|
||||
outputFileName = "composeApp.js"
|
||||
devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
|
||||
static = (static ?: mutableListOf()).apply {
|
||||
// Serve sources to debug inside browser
|
||||
add(rootDirPath)
|
||||
add(projectDirPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
browser()
|
||||
binaries.executable()
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
val desktopMain by getting
|
||||
|
||||
androidMain.dependencies {
|
||||
implementation(compose.preview)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
|
||||
// Koin依赖注入
|
||||
implementation(libs.koin.android)
|
||||
|
||||
// firebase
|
||||
implementation(project.dependencies.platform(libs.firebase.bom))
|
||||
implementation(libs.firebase.analytics)
|
||||
// facebook
|
||||
implementation(libs.android.facebook.android.sdk)
|
||||
|
||||
// mmkv
|
||||
implementation(libs.android.mmkv)
|
||||
|
||||
// sqlite
|
||||
implementation(libs.androidx.room.sqlite.wrapper)
|
||||
}
|
||||
commonMain.dependencies {
|
||||
implementation(compose.runtime)
|
||||
implementation(compose.foundation)
|
||||
implementation(compose.material)
|
||||
implementation(compose.material3)
|
||||
implementation(compose.ui)
|
||||
implementation(compose.components.resources)
|
||||
implementation(compose.components.uiToolingPreview)
|
||||
implementation(libs.androidx.lifecycle.viewmodel)
|
||||
implementation(libs.androidx.lifecycle.runtime.compose)
|
||||
implementation(libs.androidx.lifecycle.runtimeCompose)
|
||||
|
||||
|
||||
// 导航
|
||||
implementation(libs.navigation.compose)
|
||||
|
||||
// Koin依赖注入
|
||||
implementation(libs.koin.core)
|
||||
implementation(libs.koin.compose)
|
||||
implementation(libs.koin.viewmodel)
|
||||
|
||||
// coil
|
||||
implementation(libs.coil3.compose)
|
||||
implementation(libs.coil3.svg)
|
||||
// implementation(libs.coil3.gif)
|
||||
// implementation(libs.coil3.network.ktor3)
|
||||
|
||||
// 添加日期时间处理依赖
|
||||
implementation(libs.kotlinx.datetime)
|
||||
|
||||
// ICON
|
||||
implementation(libs.material.icons.core)
|
||||
implementation(libs.material.icons.extended)
|
||||
|
||||
// JSON
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
|
||||
// Room
|
||||
implementation(libs.androidx.room.runtime)
|
||||
implementation(libs.androidx.sqlite.bundled)
|
||||
}
|
||||
desktopMain.dependencies {
|
||||
jvmMain.dependencies {
|
||||
implementation(compose.desktop.currentOs)
|
||||
implementation(libs.kotlinx.coroutines.swing)
|
||||
implementation(libs.kotlinx.coroutinesSwing)
|
||||
}
|
||||
commonTest.dependencies {
|
||||
implementation(libs.kotlin.test)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -86,6 +126,9 @@ android {
|
||||
targetSdk = libs.versions.android.targetSdk.get().toInt()
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
manifestPlaceholders["facebookAppId"] = libs.versions.android.facebookAppId.get()
|
||||
manifestPlaceholders["facebookClientToken"] = libs.versions.android.facebookClientToken.get()
|
||||
}
|
||||
packaging {
|
||||
resources {
|
||||
@@ -101,10 +144,21 @@ android {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
debugImplementation(compose.uiTooling)
|
||||
// add("kspCommonMainMetadata",libs.androidx.room.compiler)
|
||||
// add("kspCommonMain",libs.androidx.room.compiler)
|
||||
// add("kspWasmJs",libs.androidx.room.compiler)
|
||||
add("kspAndroid", libs.androidx.room.compiler)
|
||||
add("kspIosX64", libs.androidx.room.compiler)
|
||||
add("kspIosArm64", libs.androidx.room.compiler)
|
||||
add("kspIosSimulatorArm64", libs.androidx.room.compiler)
|
||||
}
|
||||
|
||||
compose.desktop {
|
||||
@@ -117,4 +171,12 @@ compose.desktop {
|
||||
packageVersion = "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
ksp(libs.androidx.room.compiler)
|
||||
}
|
||||
}
|
||||
|
||||
room {
|
||||
schemaDirectory("$projectDir/schemas")
|
||||
}
|
Reference in New Issue
Block a user