Files
TachideskJUI/core/build.gradle.kts
2024-09-02 01:04:40 -04:00

125 lines
3.3 KiB
Kotlin

import org.jetbrains.compose.compose
plugins {
id(libs.plugins.kotlin.multiplatform.get().pluginId)
id(libs.plugins.android.library.get().pluginId)
id(libs.plugins.ksp.get().pluginId)
id(libs.plugins.buildkonfig.get().pluginId)
id(libs.plugins.kotlinter.get().pluginId)
}
kotlin {
androidTarget {
compilations {
all {
compileTaskProvider.configure {
compilerOptions {
jvmTarget = Config.androidJvmTarget
}
}
}
}
}
jvm("desktop") {
compilations {
all {
compileTaskProvider.configure {
compilerOptions {
jvmTarget = Config.desktopJvmTarget
}
}
}
}
}
iosX64()
iosArm64()
iosSimulatorArm64()
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class)
applyHierarchyTemplate {
common {
group("jvm") {
withAndroidTarget()
withJvm()
}
group("ios") {
withIosX64()
withIosArm64()
withIosSimulatorArm64()
}
}
}
sourceSets {
all {
languageSettings {
optIn("kotlin.RequiresOptIn")
optIn("kotlinx.serialization.ExperimentalSerializationApi")
optIn("com.russhwolf.settings.ExperimentalSettingsApi")
optIn("com.russhwolf.settings.ExperimentalSettingsImplementation")
}
}
val commonMain by getting {
dependencies {
api(libs.coroutines.core)
api(libs.serialization.json.core)
api(libs.serialization.json.okio)
api(libs.kotlinInject.runtime)
api(libs.ktor.core)
api(libs.ktor.contentNegotiation)
api(libs.ktor.serialization.json)
api(libs.okio)
api(libs.logging.kmlogging)
api(libs.multiplatformSettings.core)
api(libs.multiplatformSettings.coroutines)
api(libs.multiplatformSettings.serialization)
api(libs.dateTime)
api(libs.korge.foundation)
api(compose("org.jetbrains.compose.ui:ui-text"))
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jvmMain by getting {
dependencies {
}
}
val jvmTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val desktopMain by getting {
dependencies {
api(libs.appDirs)
}
}
val desktopTest by getting {
}
val androidMain by getting {
}
val androidUnitTest by getting {
}
}
}
dependencies {
add("kspDesktop", libs.kotlinInject.compiler)
add("kspAndroid", libs.kotlinInject.compiler)
}
buildkonfig {
packageName = "ca.gosyer.jui.core.build"
}
android {
namespace = "ca.gosyer.jui.core"
}