highlevel-try-finally.kt/build.gradle.kts

87 lines
1.8 KiB
Plaintext

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import ru.landgrafhomyak.kotlin.kmp_gradle_build_helper.*
import ru.landgrafhomyak.kotlin.kmp_gradle_build_helper.plugin.xomrk
buildscript {
repositories {
mavenCentral()
maven("https://maven.landgrafhomyak.ru/")
}
dependencies {
classpath("ru.landgrafhomyak.kotlin:kotlin-mpp-gradle-build:v0.3k2.1.10")
}
}
group = "ru.landgrafhomyak.utility"
version = "0.4.5"
repositories {
mavenCentral()
}
xomrk {
kotlin {
setCompatibilityWithKotlin(KotlinVersion.KOTLIN_2_0)
optInContracts()
noWarnExpectActual()
warningsAsErrors()
defineAllMultiplatformTargets()
jvmToolchain(8)
jvm {
withJava()
compilations.configureEach {
compileJavaTaskProvider?.configure {
targetCompatibility = "1.8"
}
compileTaskProvider.configure {
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
freeCompilerArgs.addAll("-Xallow-kotlin-package")
}
}
}
}
sourceSets {
val commonMain by getting {
dependencies {
compileOnly(kotlin("stdlib"))
}
}
val jvmMain by getting {
dependencies {
compileOnly(kotlin("stdlib"))
}
}
val nonJvmMain by creating {
dependsOn(commonMain)
dependencies {
implementation(kotlin("stdlib"))
}
}
sourceSets.configureEach {
when {
// commonMain !in dependsOn -> return@configureEach
!name.endsWith("Main") -> return@configureEach
this@configureEach === commonMain -> return@configureEach
this@configureEach === jvmMain -> return@configureEach
this@configureEach === nonJvmMain -> return@configureEach
}
dependsOn(nonJvmMain)
}
}
}
publishing {
repositories {
defineXomrkGiteaMavenRepo()
}
}
}