import net.minecrell.pluginyml.bukkit.BukkitPluginDescription import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") version "1.7.0-RC" id("com.github.johnrengelman.shadow") version "7.1.2" id("io.papermc.paperweight.userdev") version "1.3.5" id("xyz.jpenilla.run-paper") version "1.0.6" // Adds runServer and runMojangMappedServer tasks for testing id("net.minecrell.plugin-yml.bukkit") version "0.5.1" } val projectGroup: String by project val projectVersion: String by project val mainPackage: String by project val mainClass: String by project val paperVersion: String by project val acfVersion: String by project val dlibVersion: String by project group = projectGroup version = projectVersion repositories { mavenLocal() mavenCentral() maven("https://papermc.io/repo/repository/maven-public/") maven("https://repo.aikar.co/content/groups/aikar/") } dependencies { paperDevBundle(paperVersion) implementation("co.aikar:acf-paper:$acfVersion") implementation("nl.kallestruik:DLib:$dlibVersion") implementation("org.jetbrains.kotlin:kotlin-scripting-common") implementation("org.jetbrains.kotlin:kotlin-scripting-jvm") implementation("org.jetbrains.kotlin:kotlin-scripting-jvm-host") testImplementation(kotlin("test")) } // Use KSP Generated sources sourceSets.main { java.srcDirs("build/generated/ksp/main/kotlin") } tasks { test { useJUnitPlatform() } withType { options.compilerArgs.add("-parameters") options.isFork = true options.forkOptions.executable = "javac" options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything // Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable. // See https://openjdk.java.net/jeps/247 for more information. options.release.set(17) } withType { kotlinOptions.jvmTarget = "1.8" kotlinOptions.javaParameters = true } shadowJar { relocate("co.aikar.commands", "$mainPackage.acf") relocate("co.aikar.locales", "$mainPackage.locales") } withType { options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything } processResources { filteringCharset = Charsets.UTF_8.name() // We want UTF-8 for everything } assemble { dependsOn(reobfJar) } } // Configure plugin.yml generation bukkit { load = BukkitPluginDescription.PluginLoadOrder.STARTUP main = "$mainPackage.$mainClass" apiVersion = "1.18" authors = listOf("Kalle \"dragontamerfred\" Struik") commands { register("ditems") } }