|
|
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
kotlin("multiplatform")
|
|
|
|
id("com.android.library")
|
|
|
|
id("org.jetbrains.compose")
|
|
|
|
}
|
|
|
|
|
|
|
|
kotlin {
|
|
|
|
androidTarget {
|
|
|
|
compilations.all {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "11"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
jvm("desktop")
|
|
|
|
listOf(
|
|
|
|
iosX64(),
|
|
|
|
iosArm64(),
|
|
|
|
iosSimulatorArm64()
|
|
|
|
).forEach { iosTarget ->
|
|
|
|
iosTarget.binaries.framework {
|
|
|
|
baseName = "shared"
|
|
|
|
isStatic = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
js {
|
|
|
|
browser {
|
|
|
|
testTask(Action {
|
|
|
|
enabled = false
|
|
|
|
})
|
|
|
|
}
|
|
|
|
binaries.executable()
|
|
|
|
}
|
|
|
|
@OptIn(ExperimentalWasmDsl::class)
|
|
|
|
wasmJs {
|
|
|
|
browser()
|
|
|
|
binaries.executable()
|
|
|
|
}
|
|
|
|
|
|
|
|
applyDefaultHierarchyTemplate()
|
|
|
|
sourceSets {
|
|
|
|
val desktopMain by getting
|
|
|
|
val wasmJsMain by getting
|
|
|
|
|
|
|
|
commonMain.dependencies {
|
|
|
|
implementation(compose.runtime)
|
|
|
|
implementation(compose.material3)
|
|
|
|
implementation(project(":resources:library"))
|
|
|
|
}
|
|
|
|
desktopMain.dependencies {
|
|
|
|
implementation(compose.desktop.common)
|
|
|
|
}
|
|
|
|
androidMain.dependencies {
|
|
|
|
implementation(libs.androidx.ui.tooling)
|
|
|
|
implementation(libs.androidx.ui.tooling.preview)
|
|
|
|
}
|
|
|
|
|
|
|
|
val nonAndroidMain by creating {
|
|
|
|
dependsOn(commonMain.get())
|
|
|
|
wasmJsMain.dependsOn(this)
|
|
|
|
desktopMain.dependsOn(this)
|
|
|
|
nativeMain.get().dependsOn(this)
|
|
|
|
jsMain.get().dependsOn(this)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
android {
|
|
|
|
compileSdk = 35
|
|
|
|
namespace = "org.jetbrains.compose.resources.demo.shared"
|
|
|
|
defaultConfig {
|
|
|
|
minSdk = 21
|
|
|
|
}
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
|
|
}
|
|
|
|
buildFeatures {
|
|
|
|
compose = true
|
|
|
|
}
|
|
|
|
composeOptions {
|
|
|
|
kotlinCompilerExtensionVersion = "1.5.11"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compose.experimental {
|
|
|
|
web.application {}
|
|
|
|
}
|
|
|
|
|
|
|
|
//because the dependency on the compose library is a project dependency
|
|
|
|
compose.resources {
|
|
|
|
generateResClass = always
|
|
|
|
}
|