82 lines
2.4 KiB
Plaintext
82 lines
2.4 KiB
Plaintext
import dev.icerock.gradle.MRVisibility
|
|
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
import dev.icerock.gradle.MultiplatformResourcesPluginExtension // Required for resourcesPackage configuration
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.androidLibrary)
|
|
kotlin("plugin.serialization") version libs.versions.kotlin.get()
|
|
alias(libs.plugins.mokoMultiplatformResources) // Use alias from version catalog
|
|
}
|
|
|
|
kotlin {
|
|
androidTarget {
|
|
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.JVM_11)
|
|
}
|
|
}
|
|
|
|
listOf(
|
|
iosX64(),
|
|
iosArm64(),
|
|
iosSimulatorArm64()
|
|
).forEach { iosTarget ->
|
|
iosTarget.binaries.framework {
|
|
baseName = "Shared"
|
|
isStatic = true
|
|
}
|
|
}
|
|
|
|
jvm()
|
|
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
resources.srcDirs("src/commonMain/resources")
|
|
dependencies {
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.content.negotiation)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
implementation(libs.kotlinx.serialization.json)
|
|
implementation(libs.moko.resources)
|
|
}
|
|
}
|
|
androidMain.dependencies {
|
|
implementation(libs.ktor.client.android)
|
|
}
|
|
iosMain.dependencies {
|
|
implementation(libs.ktor.client.ios)
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "com.grtsinry43.chronosight.shared"
|
|
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
defaultConfig {
|
|
minSdk = libs.versions.android.minSdk.get().toInt()
|
|
}
|
|
}
|
|
|
|
|
|
dependencies {
|
|
commonMainApi(libs.moko.resources)
|
|
commonMainApi(libs.moko.resources.compose) // for compose multiplatform
|
|
|
|
commonTestImplementation(libs.resources.test)
|
|
}
|
|
|
|
multiplatformResources {
|
|
resourcesPackage.set("com.grtsinry43.chronosight") // required
|
|
resourcesClassName.set("MR") // optional, default MR
|
|
resourcesVisibility.set(MRVisibility.Public) // optional, default Public
|
|
iosBaseLocalizationRegion.set("en") // optional, default "en"
|
|
iosMinimalDeploymentTarget.set("11.0") // optional, default "9.0"
|
|
}
|
|
|