68 lines
1.7 KiB
Kotlin
68 lines
1.7 KiB
Kotlin
@file:OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalDistributionDsl::class)
|
|
|
|
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalDistributionDsl
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.ktor)
|
|
alias(libs.plugins.kotlinx.serialization)
|
|
}
|
|
|
|
group = "online.maestoso"
|
|
version = "0.1.0"
|
|
|
|
kotlin {
|
|
js {
|
|
browser {
|
|
distribution {
|
|
outputDirectory = file("src/generated/resources/js")
|
|
}
|
|
}
|
|
useEsModules()
|
|
binaries.executable()
|
|
|
|
compilerOptions {
|
|
target = "es2015"
|
|
optIn.add("kotlin.js.ExperimentalJsExport")
|
|
}
|
|
generateTypeScriptDefinitions()
|
|
}
|
|
jvm {
|
|
mainRun {
|
|
mainClass = "online.maestoso.cofront.CofrontKt"
|
|
}
|
|
binaries {
|
|
executable {
|
|
mainClass.set("online.maestoso.cofront.CofrontKt")
|
|
}
|
|
}
|
|
}
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
implementation(libs.bundles.commonMain)
|
|
}
|
|
commonTest.dependencies {
|
|
implementation(libs.bundles.commonTest)
|
|
}
|
|
jvmMain {
|
|
resources.setSrcDirs(resources.srcDirs + file("src/generated/resources"))
|
|
jvmToolchain(21)
|
|
dependencies {
|
|
implementation(libs.bundles.jvmMain)
|
|
}
|
|
tasks["jvmProcessResources"].dependsOn += tasks["jsBrowserDistribution"]
|
|
|
|
}
|
|
jvmTest.dependencies {
|
|
implementation(libs.bundles.jvmTest)
|
|
}
|
|
jsMain {
|
|
dependencies {
|
|
implementation(libs.bundles.jsMain)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|