import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar plugins { `java-library` } applyPlatformAndCoreConfiguration() applyShadowConfiguration() repositories { maven { url = uri("https://hub.spigotmc.org/nexus/content/groups/public") } maven { url = uri("https://repo.codemc.org/repository/maven-public") } maven { url = uri("https://papermc.io/repo/repository/maven-public/") } } configurations.all { resolutionStrategy { force("com.google.guava:guava:21.0") } } dependencies { "api"(project(":worldedit-core")) "api"(project(":worldedit-libs:bukkit")) "api"("org.spigotmc:spigot-api:1.16.1-R0.1-SNAPSHOT") { exclude("junit", "junit") } "compileOnly"("org.jetbrains:annotations:19.0.0") "compileOnly"("com.destroystokyo.paper:paper-api:1.16.1-R0.1-SNAPSHOT") "implementation"("io.papermc:paperlib:1.0.2") "compileOnly"("com.sk89q:dummypermscompat:1.10") "implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1") "implementation"("org.bstats:bstats-bukkit:1.7") "testCompile"("org.mockito:mockito-core:1.9.0-rc1") } tasks.named("processResources") { filesMatching("plugin.yml") { expand("internalVersion" to project.ext["internalVersion"]) } // exclude adapters entirely from this JAR, they should only be in the shadow JAR exclude("**/worldedit-adapters.jar") } addJarManifest(includeClasspath = true) tasks.named("shadowJar") { from(zipTree("src/main/resources/worldedit-adapters.jar").matching { exclude("META-INF/") }) dependencies { relocate("org.slf4j", "com.sk89q.worldedit.slf4j") relocate("org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge") relocate("org.antlr.v4", "com.sk89q.worldedit.antlr4") include(dependency(":worldedit-core")) include(dependency("org.slf4j:slf4j-api")) include(dependency("org.apache.logging.log4j:log4j-slf4j-impl")) include(dependency("org.antlr:antlr4-runtime")) relocate("org.bstats", "com.sk89q.worldedit.bukkit.bstats") { include(dependency("org.bstats:bstats-bukkit:1.7")) } relocate("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") { include(dependency("io.papermc:paperlib:1.0.2")) } relocate("it.unimi.dsi.fastutil", "com.sk89q.worldedit.bukkit.fastutil") { include(dependency("it.unimi.dsi:fastutil")) } } } tasks.named("assemble").configure { dependsOn("shadowJar") }