@file:Suppress("VulnerableLibrariesLocal") import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar evaluationDependsOn(":core-common") val shade = configurations.create("shade") val shadeJava8 = configurations.create("shadeJava8") dependencies { api(project(":core-common")) { isTransitive = false } compileOnly("org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT") compileOnly("net.milkbowl.vault:VaultAPI:1.7") { isTransitive = false } compileOnly("org.black_ixx:playerpoints:3.2.6") { isTransitive = false } compileOnly("me.clip:placeholderapi:2.11.5") { isTransitive = false } api("net.kyori:adventure-platform-bukkit:4.3.2") { exclude(group = "org.jetbrains") exclude(group = "com.google.code.gson") } api("net.kyori:adventure-text-minimessage:4.15.0") { exclude(module = "adventure-api") exclude(group = "org.jetbrains") } // https://mvnrepository.com/artifact/redis.clients/jedis api("redis.clients:jedis:5.1.2") { exclude(group = "com.google.code.gson") exclude(group = "org.slf4j") } // https://mvnrepository.com/artifact/org.quartz-scheduler/quartz api("org.quartz-scheduler:quartz:2.3.2") { isTransitive = false } // https://www.spigotmc.org/resources/nbt-api.7939/ implementation("de.tr7zw:item-nbt-api:2.12.2") // https://mvnrepository.com/artifact/com.zaxxer/HikariCP implementation("com.zaxxer:HikariCP:4.0.3") { exclude(group = "org.slf4j") } // https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib shade("org.jetbrains.kotlin:kotlin-stdlib:1.9.23") { exclude(group = "org.jetbrains") } // https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib-jdk8 shadeJava8("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.23") { exclude(group = "org.jetbrains") } } tasks { processResources { filesMatching("plugin.yml") { expand(project.properties) } } withType { archiveBaseName = "HamsterCore-Bukkit" } shadowJar { from(shade.map { if (it.isDirectory) it else zipTree(it) }) destinationDirectory = rootProject.layout.buildDirectory } val shadowJava8 = register("shadowJava8") { dependsOn(":core-common:build") archiveClassifier = "Java8" from(project.configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) }) from(processResources.get().outputs) from(jar.get().outputs) from(shadeJava8.map { if (it.isDirectory) it else zipTree(it) }) destinationDirectory = rootProject.layout.buildDirectory relocate("de.tr7zw.changeme.nbtapi", "cn.hamster3.mc.plugin.core.lib.de.tr7zw.nbtapi") relocate("de.tr7zw.annotations", "cn.hamster3.mc.plugin.core.lib.de.tr7zw.nbtapi.annotations") } build { dependsOn(shadowJava8) } }