diff options
Diffstat (limited to 'kvision-modules/kvision-server-ktor/build.gradle.kts')
-rw-r--r-- | kvision-modules/kvision-server-ktor/build.gradle.kts | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/kvision-modules/kvision-server-ktor/build.gradle.kts b/kvision-modules/kvision-server-ktor/build.gradle.kts new file mode 100644 index 00000000..e9825289 --- /dev/null +++ b/kvision-modules/kvision-server-ktor/build.gradle.kts @@ -0,0 +1,70 @@ +buildscript { + extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true") +} + +plugins { + kotlin("multiplatform") + id("kotlinx-serialization") + id("maven-publish") +} + +repositories() + +// Versions +val kotlinVersion: String by System.getProperties() +val serializationVersion: String by project +val coroutinesVersion: String by project +val ktorVersion: String by project +val guiceVersion: String by project +val jacksonModuleKotlinVersion: String by project + +kotlin { + kotlinJsTargets() + kotlinJvmTargets() + sourceSets { + val commonMain by getting { + dependencies { + implementation(kotlin("stdlib-common")) + api(project(":kvision-modules:kvision-common-annotations")) + api(project(":kvision-modules:kvision-common-types")) + api(project(":kvision-modules:kvision-common-remote")) + api(project(":kvision-modules:kvision-common-remote")) + api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serializationVersion") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$coroutinesVersion") + } + } + val jsMain by getting { + dependencies { + implementation(kotlin("stdlib-js")) + api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serializationVersion") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$coroutinesVersion") + } + } + val jvmMain by getting { + dependsOn(commonMain) + dependencies { + implementation(kotlin("stdlib")) + implementation(kotlin("stdlib-jdk8")) + implementation(kotlin("reflect")) + api("org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serializationVersion") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") + api("io.ktor:ktor-server-core:$ktorVersion") + api("io.ktor:ktor-jackson:$ktorVersion") + api("io.ktor:ktor-websockets:$ktorVersion") + api("com.google.inject:guice:$guiceVersion") + api("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonModuleKotlinVersion") + } + } + } +} + +publishing { + publications.withType<MavenPublication> { + if (name == "kotlinMultiplatform") artifactId = "kvision-server-ktor" + pom { + defaultPom() + } + } +} + +setupPublication() |