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 = getProperty('gitea.maven.url') } mavenCentral() } } kotlin { jvmToolchain(21) sourceSets { commonTest { dependencies { implementation group: 'org.jetbrains.kotlin', name: 'kotlin-test', version: catalog.versions.kotlin.asProvider().get() } } } jvm { withJava() compilations.main { Action 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 { name = "Gitea" url = uri(getProperty('gitea.maven.url')) credentials(HttpHeaderCredentials) { name = "Authorization" value = "token ${System.getenv()["PUBLISHER_TOKEN"]}" } authentication { header(HttpHeaderAuthentication) } } } }