Files
chatapp/frontend/shared/build.gradle.kts
T

103 lines
2.8 KiB
Kotlin

import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.BOOLEAN
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidMultiplatformLibrary)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.buildkonfig)
}
buildkonfig {
packageName = "dev.zxq5.chatapp"
defaultConfigs {
buildConfigField(STRING, "VERSION_NAME", libs.versions.appVersion.get())
buildConfigField(BOOLEAN, "IS_DEBUG", "true") // default
}
// override per target/source set
targetConfigs {
create("android") {}
}
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath(libs.kotlin.gradle.plugin)
classpath(libs.buildkonfig.gradle.plugin)
}
}
kotlin {
jvm()
js {
browser()
binaries.executable()
}
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
browser()
binaries.executable()
}
android {
namespace = "dev.zxq5.chatapp.shared"
compileSdk = libs.versions.android.compileSdk.get().toInt()
minSdk = libs.versions.android.minSdk.get().toInt()
compilerOptions {
jvmTarget = JvmTarget.JVM_11
}
androidResources {
enable = true
}
withHostTest {
isIncludeAndroidResources = true
}
withDeviceTestBuilder {
sourceSetTreeName = "test"
}.configure {
instrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
}
sourceSets {
androidMain.dependencies {
implementation(libs.compose.uiToolingPreview)
implementation(libs.compose.uiTooling)
}
commonMain.dependencies {
implementation(libs.compose.runtime)
implementation(libs.compose.foundation)
implementation(libs.compose.material3)
implementation(libs.compose.ui)
implementation(libs.compose.components.resources)
implementation(libs.compose.uiToolingPreview)
implementation(libs.androidx.lifecycle.viewmodelCompose)
implementation(libs.androidx.lifecycle.runtimeCompose)
implementation(libs.compose.materialIconsExtended)
implementation(libs.qrose)
implementation(libs.cryptography)
implementation(libs.kotlinx.datetime)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
// jsMain.dependencies {
// implementation(libs.wrappers.browser)
// }
}
}
dependencies {
androidRuntimeClasspath(libs.compose.uiTooling)
}