import com.github.jengelman.gradle.plugins.shadow.ShadowJavaPlugin.Companion.shadowJar plugins { id("java") id("maven-publish") id("com.gradleup.shadow") } group = "de.oliver" description = "Tool to deploy Minecraft plugins" java { toolchain.languageVersion.set(JavaLanguageVersion.of(23)) } repositories { mavenCentral() maven("https://repo.papermc.io/repository/maven-public/") maven("https://repo.fancyplugins.de/releases") } dependencies { compileOnly("com.google.code.gson:gson:2.11.0") implementation("org.jetbrains:annotations:26.0.2") implementation("de.oliver.FancyAnalytics:java-sdk:0.0.2") implementation("de.oliver.FancyAnalytics:logger:0.0.6") testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.3") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.1") testImplementation("com.google.code.gson:gson:2.11.0") } tasks { jar { manifest { attributes["Main-Class"] = "de.oliver.deployment.Main" } } shadowJar{ archiveClassifier.set("") } compileJava { 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(23) } java { withSourcesJar() withJavadocJar() } javadoc { options.encoding = Charsets.UTF_8.name() // We want UTF-8 for everything } processResources { filteringCharset = Charsets.UTF_8.name() // We want UTF-8 for everything } test { useJUnitPlatform() } }