import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { kotlin("jvm") version "2.2.0" id("maven-publish") kotlin("kapt") version "2.2.0" id("java") } val javaVersion = 21 group = "ru.d3st0ny" version = "1.0" repositories { mavenCentral() mavenLocal() maven("https://jitpack.io") maven("https://libraries.minecraft.net") maven("https://repo.papermc.io/repository/maven-public/") maven("https://repo.codemc.io/repository/maven-snapshots/") } dependencies { compileOnly("io.papermc.paper:paper-api:${project.property("paper_api_version")}") //compileOnly("io.papermc.paper:paper-mojangapi:1.20.6-R0.1-SNAPSHOT") api("com.mojang:brigadier:1.0.18") { exclude("com.google.guava", "guava") } } publishing { publications.create("maven", MavenPublication::class) { artifactId = project.name.lowercase() groupId = "${project.group}" version = "${project.version}" from(components["kotlin"]) } repositories { maven { name = "polygon" url = uri("https://maven.destony.dev/releases") credentials { username = System.getenv("username") password = System.getenv("secret") } } } } tasks { // USE THIS TASK FOR BUILD & PUBLISH TO MAVEN REPO publish { dependsOn(build) } compileKotlin { compilerOptions.jvmTarget.set(JvmTarget.fromTarget(javaVersion.toString())) compilerOptions.freeCompilerArgs.set(listOf("-opt-in=kotlin.io.path.ExperimentalPathApi")) } compileJava { options.encoding = Charsets.UTF_8.name() options.release.set(javaVersion) } javadoc { options.encoding = Charsets.UTF_8.name() } processResources { filteringCharset = Charsets.UTF_8.name() } }