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.
80 lines
2.0 KiB
80 lines
2.0 KiB
import org.jetbrains.compose.gradle.standardConf |
|
|
|
plugins { |
|
kotlin("multiplatform") |
|
id("org.jetbrains.compose") |
|
} |
|
|
|
val SKIKO_VERSION: String by project |
|
|
|
val skikoWasm by configurations.creating |
|
|
|
dependencies { |
|
skikoWasm("org.jetbrains.skiko:skiko-js-wasm-runtime:${SKIKO_VERSION}") |
|
} |
|
|
|
val copySkikoResources = tasks.register("copySkikoResources", Copy::class) { |
|
from(skikoWasm.map { zipTree(it) }) { |
|
include("skiko.wasm") |
|
include("skiko.js") |
|
} |
|
destinationDir = file("${rootProject.buildDir}/skiko") |
|
} |
|
|
|
tasks.withType<org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest>().configureEach { |
|
dependsOn(copySkikoResources) |
|
} |
|
|
|
kotlin { |
|
jvm() |
|
js(IR) { |
|
browser() { |
|
testTask { |
|
useKarma { |
|
standardConf() |
|
} |
|
} |
|
} |
|
binaries.executable() |
|
} |
|
|
|
sourceSets { |
|
val commonMain by getting { |
|
dependencies { |
|
implementation(compose.runtime) |
|
implementation(kotlin("stdlib-common")) |
|
|
|
implementation("org.jetbrains.skiko:skiko:${SKIKO_VERSION}") |
|
implementation(compose.ui) |
|
implementation(compose.foundation) |
|
implementation(compose.material) |
|
} |
|
} |
|
|
|
val jsMain by getting { |
|
dependencies { |
|
implementation(project(":internal-web-core-runtime")) |
|
implementation(kotlin("stdlib-js")) |
|
} |
|
} |
|
|
|
val jsTest by getting { |
|
dependencies { |
|
implementation(project(":test-utils")) |
|
implementation(kotlin("test-js")) |
|
} |
|
} |
|
|
|
val jvmMain by getting { |
|
dependencies { |
|
implementation(compose.desktop.currentOs) |
|
} |
|
} |
|
|
|
all { |
|
languageSettings { |
|
useExperimentalAnnotation("org.jetbrains.compose.web.testutils.ComposeWebExperimentalTestsApi") |
|
} |
|
} |
|
} |
|
}
|
|
|