You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.2 KiB
95 lines
2.2 KiB
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 = 34 |
|
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 |
|
}
|
|
|