From a5795461f2ae86efd4254565ef47004cf984714c Mon Sep 17 00:00:00 2001 From: NotMyFault Date: Wed, 22 Sep 2021 23:00:12 +0200 Subject: [PATCH] Improve a few dependency scopes --- worldedit-bukkit/build.gradle.kts | 32 ++++++++++++------- worldedit-core/build.gradle.kts | 6 ++-- .../clipboard/io/BuiltInClipboardFormat.java | 2 +- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/worldedit-bukkit/build.gradle.kts b/worldedit-bukkit/build.gradle.kts index 175c9188e..51e776583 100644 --- a/worldedit-bukkit/build.gradle.kts +++ b/worldedit-bukkit/build.gradle.kts @@ -47,6 +47,12 @@ configurations.all { } } +val localImplementation = configurations.create("localImplementation") { + description = "Dependencies used locally, but provided by the runtime Bukkit implementation" + isCanBeConsumed = false + isCanBeResolved = false +} + dependencies { // Modules api(projects.worldeditCore) @@ -56,14 +62,14 @@ dependencies { implementation(libs.fastutil) // Platform expectations - api(libs.paper) { + compileOnly(libs.paper) { exclude("junit", "junit") exclude(group = "org.slf4j", module = "slf4j-api") } // Logging - implementation(libs.log4j) - implementation(libs.log4jBom) { + localImplementation(libs.log4j) + localImplementation(libs.log4jBom) { because("Spigot provides Log4J (sort of, not in API, implicitly part of server)") } @@ -78,17 +84,19 @@ dependencies { exclude("com.sk89q.worldedit.worldedit-libs", "bukkit") exclude("com.sk89q.worldedit.worldedit-libs", "core") } - implementation(libs.mapmanager) { isTransitive = false } - implementation(libs.griefprevention) { isTransitive = false } - implementation(libs.griefdefender) { isTransitive = false } - implementation(libs.mcore) { isTransitive = false } - implementation(libs.residence) { isTransitive = false } + compileOnly(libs.mapmanager) { isTransitive = false } + compileOnly(libs.griefprevention) { isTransitive = false } + compileOnly(libs.griefdefender) { isTransitive = false } + compileOnly(libs.mcore) { isTransitive = false } + compileOnly(libs.residence) { isTransitive = false } compileOnly(libs.towny) { isTransitive = false } - implementation(libs.protocollib) { isTransitive = false } - api(libs.plotsquaredV6Bukkit) { isTransitive = false } + compileOnly(libs.protocollib) { isTransitive = false } + compileOnly(libs.plotsquaredV6Bukkit) { isTransitive = false } + compileOnly(libs.plotsquaredV6Core) { isTransitive = false } + compileOnly(libs.plotsquaredV4) { isTransitive = false } // Third party - implementation(libs.flowmath) { + compileOnly(libs.flowmath) { because("This dependency is needed by GriefDefender but not exposed transitively.") isTransitive = false } @@ -98,7 +106,7 @@ dependencies { implementation(libs.serverlib) api(libs.paster) api(libs.lz4Java) - api(libs.lz4JavaStream) { isTransitive = false } + runtimeOnly(libs.lz4JavaStream) { isTransitive = false } api(libs.sparsebitset) { isTransitive = false } api(libs.parallelgzip) { isTransitive = false } compileOnly(libs.adventure) diff --git a/worldedit-core/build.gradle.kts b/worldedit-core/build.gradle.kts index 72ae33026..e86dabf39 100644 --- a/worldedit-core/build.gradle.kts +++ b/worldedit-core/build.gradle.kts @@ -37,8 +37,8 @@ dependencies { // Plugins compileOnly(libs.redprotect) - api(libs.plotsquaredV4) { isTransitive = false } - api(libs.plotsquaredV6Core) { isTransitive = false } + compileOnly(libs.plotsquaredV4) { isTransitive = false } + compileOnly(libs.plotsquaredV6Core) { isTransitive = false } // ensure this is on the classpath for the AP annotationProcessor(libs.guava) @@ -46,7 +46,7 @@ dependencies { annotationProcessor(libs.autoValue) // Third party - implementation(libs.truezip) + compileOnly(libs.truezip) implementation(libs.findbugs) implementation(libs.rhino) compileOnly(libs.adventure) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/BuiltInClipboardFormat.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/BuiltInClipboardFormat.java index ee927f7ad..2b06c31ea 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/BuiltInClipboardFormat.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/BuiltInClipboardFormat.java @@ -107,7 +107,7 @@ public enum BuiltInClipboardFormat implements ClipboardFormat { @Override public ClipboardWriter getWriter(OutputStream outputStream) throws IOException { //FAWE start - be a more helpful exception - throw new IOException("The formats `.schematic`, `.mcedit` and `.mce` are discontinued on versions newer than" + + throw new IOException("The formats `.schematic`, `.mcedit` and `.mce` are discontinued on versions newer than " + "1.12 and superseded by the sponge schematic implementation known for `.schem` files."); //FAWE end }