Gunslingor
03/19/2020, 5:23 AMGunslingor
03/19/2020, 5:23 AMplugins {
kotlin("multiplatform") version "1.3.70"
}
group = "org.example"
version = "1.0-SNAPSHOT"
// Project properties exposed via delegation
val ktor_version: String by project
val kotlin_version: String by project
val logback_version: String by project
val jvm_version: String by project
repositories {
mavenCentral()
jcenter()
}
dependencies{
kotlin("gradle-plugin", version = kotlin_version)
}
kotlin {
//Configure all Targets
jvm("backend")
js("frontend")
//Configure all sourceSets
sourceSets {
val commonMain by getting {
kotlin.srcDir("src/common/kotlin")
resources.srcDir("src/common/resources")
dependencies {
implementation(kotlin("stdlib-common", version = kotlin_version))
}
}
val commonTest by getting {
kotlin.srcDir("test/common/kotlin")
resources.srcDir("test/common/resources")
dependencies {
implementation(kotlin("test-common", version = kotlin_version))
implementation(kotlin("test-annotations-common", version = kotlin_version))
}
}
val backendMain by getting {
kotlin.srcDir("src/backend/kotlin")
resources.srcDir("src/backend/resources")
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation("io.ktor:ktor-server-core:$ktor_version")
implementation("io.ktor:ktor-server-netty:$ktor_version")
implementation("ch.qos.logback:logback-classic:$logback_version")
}
}
val backendTest by getting {
kotlin.srcDir("test/backend/kotlin")
resources.srcDir("test/backend/resources")
dependencies {
implementation(kotlin("test-junit"))
}
}
val frontendMain by getting {
kotlin.srcDir("src/frontend/kotlin")
resources.srcDir("src/frontend/resources")
dependencies {
}
}
val frontendTest by getting {
kotlin.srcDir("test/frontend/kotlin")
resources.srcDir("test/frontend/resources")
dependencies {
}
}
}
// Configure all compilations of all targets:
targets.all {
compilations.all {
kotlinOptions {
allWarningsAsErrors = true
}
}
}
//
tasks.create<JavaExec>("runApplication"){
group = rootProject.name
classpath = jvm("backend").compilations["main"].runtimeDependencyFiles
main = "com.company.ApplicationKt"
}
}