Files
klevtree/build.gradle

85 lines
2.0 KiB
Groovy

plugins {
id 'maven-publish'
alias catalog.plugins.kotlin.multiplatform
}
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.apache.tools.ant.taskdefs.condition.Os
allprojects {
group = "net.woggioni"
version = getProperty('klevtree.version')
repositories {
maven {
url = woggioniMavenRepositoryUrl
}
mavenCentral()
}
}
kotlin {
sourceSets {
commonTest {
dependencies {
implementation group: 'org.jetbrains.kotlin',
name: 'kotlin-test',
version: catalog.versions.kotlin.get()
}
}
}
jvm {
jvmToolchain(17)
withJava()
compilations.main {
Action<KotlinJvmCompilerOptions> action = { KotlinJvmCompilerOptions kjco ->
kjco.javaParameters = true
kjco.jvmTarget = JvmTarget.JVM_1_8
kjco.moduleName = "net.woggioni.klevtree"
}
compilerOptions.configure(action)
}
}
js(IR) {
nodejs()
}
if(Os.isFamily(Os.FAMILY_UNIX)) {
if(Os.isArch("amd64")) {
linuxX64()
} else if(Os.isArch("aarch64")) {
linuxArm64()
}
} else if(Os.isFamily(Os.FAMILY_MAC)) {
if(Os.isArch("amd64")) {
macosX64()
} else if(Os.isArch("aarch64")) {
macosArm64()
}
} else if(Os.isFamily(Os.FAMILY_WINDOWS)) {
mingwX64()
}
}
compileJava {
options.release = 11
String patchString = 'net.woggioni.klevtree=' + kotlin.targets.jvm.compilations.main.output.classesDirs.asPath
options.compilerArgs << '--patch-module' << patchString
}
publishing {
repositories {
maven {
url = 'https://mvn.woggioni.net/'
}
}
publications {
maven(MavenPublication) {
from(components.kotlin)
}
}
}