diff --git a/build.gradle b/build.gradle index 0c2f51f8e..b95a6cf22 100644 --- a/build.gradle +++ b/build.gradle @@ -20,13 +20,13 @@ buildscript { } plugins { - id 'net.minecrell.licenser' version '0.4.1' apply false id "org.ajoberstar.grgit" version "3.1.1" + id "com.github.johnrengelman.shadow" version "5.1.0" } println """ ******************************************* - You are building WorldEdit! + You are building FastAsyncWorldEdit! If you encounter trouble: 1) Read COMPILING.md if you haven't yet @@ -142,45 +142,44 @@ configure(['worldedit-core', 'worldedit-bukkit', 'favs'].collect { project("$it" dependencies { compileOnly 'org.jetbrains:annotations:17.0.0' } - - configure(['bukkit'].collect { project(":worldedit-$it") }) { - shadowJar { - classifier 'dist' - dependencies { - include(project(":worldedit-libs:core")) - include(project(":worldedit-libs:${project.name.replace("worldedit-", "")}")) - include(project(":worldedit-core")) - include(dependency('com.github.luben:zstd-jni:1.1.1')) - include(dependency('co.aikar:fastutil-lite:1.0')) - } - exclude 'GradleStart**' - exclude '.cache' - exclude 'LICENSE*' - } - - // Enable this requires putting license header files in many, many FAWE files - //license { - // header = rootProject.file("HEADER.txt") - // include '**/*.java' - //} - } - task aggregatedJavadocs(type: Javadoc, description: 'Generate javadocs from all child projects as if it was a single project', group: 'Documentation') { - destinationDir = file("./docs/javadoc") - title = "$project.name $version API" - options.author true - options.links 'http://docs.spring.io/spring/docs/4.3.x/javadoc-api/', 'http://docs.oracle.com/javase/8/docs/api/', 'http://docs.spring.io/spring-ws/docs/2.3.0.RELEASE/api/', 'http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/apidocs/' - options.addStringOption('Xdoclint:none', '-quiet') - - delete "./docs" - - subprojects.each { proj -> - proj.tasks.withType(Javadoc).each { javadocTask -> - source += javadocTask.source - classpath += javadocTask.classpath - excludes += javadocTask.excludes - includes += javadocTask.includes - } - } - } - } + +configure(['bukkit'].collect { project(":worldedit-$it") }) { + shadowJar { + getArchiveClassifier().set('dist') + dependencies { + include(project(":worldedit-libs:core")) + include(project(":worldedit-libs:${project.name.replace("worldedit-", "")}")) + include(project(":worldedit-core")) + include(dependency('com.github.luben:zstd-jni:1.1.1')) + include(dependency('co.aikar:fastutil-lite:1.0')) + } + exclude 'GradleStart**' + exclude '.cache' + exclude 'LICENSE*' + } + + // Enable this requires putting license header files in many, many FAWE files + //license { + // header = rootProject.file("HEADER.txt") + // include '**/*.java' + //} +} +task aggregatedJavadocs(type: Javadoc, description: 'Generate javadocs from all child projects as if it was a single project', group: 'Documentation') { + destinationDir = file("./docs/javadoc") + title = "$project.name $version API" + options.author true + options.links 'http://docs.spring.io/spring/docs/4.3.x/javadoc-api/', 'http://docs.oracle.com/javase/8/docs/api/', 'http://docs.spring.io/spring-ws/docs/2.3.0.RELEASE/api/', 'http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/apidocs/' + options.addStringOption('Xdoclint:none', '-quiet') + + delete "./docs" + + subprojects.each { proj -> + proj.tasks.withType(Javadoc).each { javadocTask -> + source += javadocTask.source + classpath += javadocTask.classpath + excludes += javadocTask.excludes + includes += javadocTask.includes + } + } +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6cbc54326..48e662409 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Mar 25 18:59:14 EDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index a9c7e611e..ca59bb4b2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,7 +2,7 @@ rootProject.name = 'FastAsyncWorldEdit' include 'worldedit-libs' -['bukkit', 'core'].forEach { +['core', 'bukkit'].forEach { include "worldedit-libs:$it" include "worldedit-$it" } diff --git a/worldedit-bukkit/build.gradle b/worldedit-bukkit/build.gradle index 0b5f717b4..2976a28cd 100644 --- a/worldedit-bukkit/build.gradle +++ b/worldedit-bukkit/build.gradle @@ -18,25 +18,25 @@ configurations.all { Configuration it -> dependencies { api project(':worldedit-core') api project(':worldedit-libs:bukkit') - compile 'net.milkbowl.vault:VaultAPI:1.7' - compile 'com.destroystokyo.paper:paper-api:1.13.2-R0.1-SNAPSHOT' + compileOnly 'net.milkbowl.vault:VaultAPI:1.7' + compileOnly 'com.destroystokyo.paper:paper-api:1.13.2-R0.1-SNAPSHOT' implementation 'io.papermc:paperlib:1.0.2' compileOnly 'com.sk89q:dummypermscompat:1.10' - compile 'org.spigotmc:spigot:1.13.2-R0.1-SNAPSHOT' + compileOnly 'org.spigotmc:spigot:1.13.2-R0.1-SNAPSHOT' implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.8.1' testCompile 'org.mockito:mockito-core:1.9.0-rc1' - compile 'com.massivecraft:factions:2.8.0' - compile 'com.drtshock:factions:1.6.9.5' - compile 'com.factionsone:FactionsOne:1.2.2' - compile 'me.ryanhamshire:GriefPrevention:11.5.2' - compile 'com.massivecraft:mcore:7.0.1' - compile 'net.sacredlabyrinth.Phaed:PreciousStones:10.0.4-SNAPSHOT' - compile 'net.jzx7:regios:5.9.9' - compile 'com.bekvon.bukkit.residence:Residence:4.5._13.1' - compile 'com.palmergames.bukkit:towny:0.84.0.9' - compile 'com.thevoxelbox.voxelsniper:voxelsniper:5.171.0' - compile 'com.comphenix.protocol:ProtocolLib-API:4.4.0-SNAPSHOT' - compile 'com.wasteofplastic:askyblock:3.0.8.2' + compileOnly 'com.massivecraft:factions:2.8.0' + compileOnly 'com.drtshock:factions:1.6.9.5' + compileOnly 'com.factionsone:FactionsOne:1.2.2' + compileOnly 'me.ryanhamshire:GriefPrevention:11.5.2' + compileOnly 'com.massivecraft:mcore:7.0.1' + compileOnly 'net.sacredlabyrinth.Phaed:PreciousStones:10.0.4-SNAPSHOT' + compileOnly 'net.jzx7:regios:5.9.9' + compileOnly 'com.bekvon.bukkit.residence:Residence:4.5._13.1' + compileOnly 'com.palmergames.bukkit:towny:0.84.0.9' + compileOnly 'com.thevoxelbox.voxelsniper:voxelsniper:5.171.0' + compileOnly 'com.comphenix.protocol:ProtocolLib-API:4.4.0-SNAPSHOT' + compileOnly 'com.wasteofplastic:askyblock:3.0.8.2' } processResources { @@ -55,27 +55,29 @@ processResources { jar.archiveName="fawe-bukkit-${project.parent.version}.jar" jar.destinationDir = file '../mvn/com/boydti/fawe-bukkit/' + project.parent.version -task createPom << { - pom { - project { - groupId 'com.boydti' - artifactId 'fawe-bukkit' - version project.parent.version +task createPom { + doLast { + pom { + project { + groupId 'com.boydti' + artifactId 'fawe-bukkit' + version project.parent.version + } } - } - .getEffectivePom() - .setDependencies(new ArrayList<>()) - .writeTo("../mvn/com/boydti/fawe-bukkit/${project.parent.version}/fawe-bukkit-${project.parent.version}.pom") - pom { - project { - groupId 'com.boydti' - artifactId 'fawe-bukkit' - version 'latest' + .getEffectivePom() + .setDependencies(new ArrayList<>()) + .writeTo("../mvn/com/boydti/fawe-bukkit/${project.parent.version}/fawe-bukkit-${project.parent.version}.pom") + pom { + project { + groupId 'com.boydti' + artifactId 'fawe-bukkit' + version 'latest' + } } + .getEffectivePom() + .setDependencies(new ArrayList<>()) + .writeTo("../mvn/com/boydti/fawe-bukkit/latest/fawe-bukkit-latest.pom") } - .getEffectivePom() - .setDependencies(new ArrayList<>()) - .writeTo("../mvn/com/boydti/fawe-bukkit/latest/fawe-bukkit-latest.pom") } task copyFiles { doLast { @@ -87,22 +89,5 @@ task copyFiles { } } } - -shadowJar { - dependencies { - relocate "org.slf4j", "com.sk89q.worldedit.slf4j" - relocate "org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge" - include(dependency(':worldedit-core')) - include(dependency('org.slf4j:slf4j-api')) - include(dependency("org.apache.logging.log4j:log4j-slf4j-impl")) - relocate ("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") { - include(dependency("io.papermc:paperlib:1.0.2")) - } - } - archiveName = "${parent.name}-${project.name.replaceAll("worldedit-", "")}-${parent.version}.jar" - destinationDir = file '../target' -} - -build.dependsOn(shadowJar) build.finalizedBy(copyFiles) copyFiles.dependsOn(createPom) diff --git a/worldedit-core/build.gradle b/worldedit-core/build.gradle index 66072f1ee..f76ee4001 100644 --- a/worldedit-core/build.gradle +++ b/worldedit-core/build.gradle @@ -1,6 +1,12 @@ -apply plugin: 'java-library' -apply plugin: 'eclipse' -apply plugin: 'idea' +plugins { + id("java-library") + id("eclipse") + id("idea") + id("net.ltgt.apt") version "0.21" apply false + id "net.ltgt.apt-eclipse" version "0.21" + id "net.ltgt.apt-idea" version "0.21" +} + repositories { maven {url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/"} } @@ -33,8 +39,8 @@ dependencies { testCompile 'org.mockito:mockito-core:1.9.0-rc1' // Fawe depends - compile 'net.fabiozumbi12:redprotect:1.9.6' - compile ("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") { + compileOnly 'net.fabiozumbi12:redprotect:1.9.6' + compileOnly ("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") { transitive = false } compile 'com.mojang:datafixerupper:1.0.20' @@ -43,6 +49,7 @@ dependencies { } tasks.withType(JavaCompile).configureEach { + dependsOn(":worldedit-libs:build") it.options.compilerArgs.add("-Aarg.name.key.prefix=") } @@ -72,27 +79,29 @@ processResources { jar.archiveName="fawe-api-${project.parent.version}.jar" jar.destinationDir = file '../mvn/com/boydti/fawe-api/' + project.parent.version -task createPom << { - pom { - project { - groupId 'com.boydti' - artifactId 'fawe-api' - version project.parent.version +task createPom { + doLast { + pom { + project { + groupId 'com.boydti' + artifactId 'fawe-api' + version project.parent.version + } } - } - .getEffectivePom() - .setDependencies(new ArrayList<>()) - .writeTo("../mvn/com/boydti/fawe-api/${project.parent.version}/fawe-api-${project.parent.version}.pom") - pom { - project { - groupId 'com.boydti' - artifactId 'fawe-api' - version 'latest' + .getEffectivePom() + .setDependencies(new ArrayList<>()) + .writeTo("../mvn/com/boydti/fawe-api/${project.parent.version}/fawe-api-${project.parent.version}.pom") + pom { + project { + groupId 'com.boydti' + artifactId 'fawe-api' + version 'latest' + } } + .getEffectivePom() + .setDependencies(new ArrayList<>()) + .writeTo("../mvn/com/boydti/fawe-api/latest/fawe-api-latest.pom") } - .getEffectivePom() - .setDependencies(new ArrayList<>()) - .writeTo("../mvn/com/boydti/fawe-api/latest/fawe-api-latest.pom") } task copyFiles { doLast { diff --git a/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java b/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java index 34f68d70e..b80114a2b 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java @@ -41,6 +41,7 @@ import com.sk89q.worldedit.internal.annotation.Selection; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.Region; +import org.enginehub.piston.annotation.param.Arg; import org.enginehub.piston.annotation.param.Switch; import com.sk89q.worldedit.util.command.parametric.Optional; import com.sk89q.worldedit.world.World; @@ -613,8 +614,7 @@ public class AnvilCommands { desc = "Paste chunks from your anvil clipboard", descFooter = "Paste the chunks from your anvil clipboard.\n" + - "The -c flag will align the paste to the chunks.", - + "The -c flag will align the paste to the chunks." ) @CommandPermissions("worldedit.anvil.pastechunks") public void paste(Player player, LocalSession session, EditSession editSession, @Switch(name='c', desc = "TODO") boolean alignChunk) throws WorldEditException, IOException { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java index 19f2742d2..1e42dbd20 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java @@ -490,7 +490,7 @@ public class RegionCommands { @Switch(name = 's', desc = "Shift the selection to the target location") boolean moveSelection, @Switch(name = 'a', desc = "Ignore air blocks") - boolean ignoreAirBlocks + boolean ignoreAirBlocks, @Switch(name='b', desc = "TODO") boolean copyBiomes, @Switch(name='e', desc = "TODO") boolean skipEntities, diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/StringValidator.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/StringValidator.java new file mode 100644 index 000000000..ee3162568 --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/StringValidator.java @@ -0,0 +1,6 @@ +package com.sk89q.worldedit.command.argument; + +import org.enginehub.piston.converter.ArgumentConverter; + +public class StringValidator implements ArgumentConverter { +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java index c9f61b76b..0bea104d8 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java @@ -45,11 +45,18 @@ import com.sk89q.worldedit.command.BiomeCommands; import com.sk89q.worldedit.command.BiomeCommandsRegistration; import com.sk89q.worldedit.command.BrushCommands; import com.sk89q.worldedit.command.ChunkCommands; +import com.sk89q.worldedit.command.ChunkCommandsRegistration; import com.sk89q.worldedit.command.ClipboardCommands; +import com.sk89q.worldedit.command.ClipboardCommandsRegistration; +import com.sk89q.worldedit.command.ExpandCommands; import com.sk89q.worldedit.command.GeneralCommands; +import com.sk89q.worldedit.command.GeneralCommandsRegistration; import com.sk89q.worldedit.command.GenerationCommands; import com.sk89q.worldedit.command.HistoryCommands; +import com.sk89q.worldedit.command.HistoryCommandsRegistration; import com.sk89q.worldedit.command.NavigationCommands; +import com.sk89q.worldedit.command.NavigationCommandsRegistration; +import com.sk89q.worldedit.command.PaintBrushCommands; import com.sk89q.worldedit.command.RegionCommands; import com.sk89q.worldedit.command.SchematicCommands; import com.sk89q.worldedit.command.SchematicCommandsRegistration; @@ -210,7 +217,7 @@ public final class PlatformCommandManager { DirectionConverter.register(worldEdit, commandManager); FactoryConverter.register(worldEdit, commandManager); for (int count = 2; count <= 3; count++) { - commandManager.registerConverter(Key.of(double.class, Annotations.radii(count)), + commandManager.registerConverter(Key.of(double.class, com.sk89q.worldedit.extension.platform.Annotations.radii(count)), CommaSeparatedValuesConverter.wrapAndLimit(ArgumentConverters.get( TypeToken.of(double.class) ), count) @@ -309,15 +316,15 @@ public final class PlatformCommandManager { new SuperPickaxeCommands(worldEdit) ); registerSubCommands( - "brush", - ImmutableList.of("br", "/brush", "/br"), - "Brushing commands", - BrushCommandsRegistration.builder(), - new BrushCommands(worldEdit), - manager -> { - PaintBrushCommands.register(commandManagerService, manager, registration); - ApplyBrushCommands.register(commandManagerService, manager, registration); - } + "brush", + ImmutableList.of("br", "/brush", "/br"), + "Brushing commands", + BrushCommandsRegistration.builder(), + new BrushCommands(worldEdit), + (Consumer) manager -> { + PaintBrushCommands.register(commandManagerService, manager, registration); + ApplyBrushCommands.register(commandManagerService, manager, registration); + } ); registerSubCommands( "worldedit", diff --git a/worldedit-libs/build.gradle b/worldedit-libs/build.gradle index 7227c1772..ba0a96828 100644 --- a/worldedit-libs/build.gradle +++ b/worldedit-libs/build.gradle @@ -91,7 +91,7 @@ configure(subprojects + project("core:ap")) { def textExtrasVersion = "3.0.2" project("core") { def textVersion = "3.0.1" - def pistonVersion = '0.4.1' + def pistonVersion = '0.4.2' dependencies { shade "net.kyori:text-api:$textVersion" @@ -126,7 +126,8 @@ project("bukkit") { shade "net.kyori:text-adapter-bukkit:$textExtrasVersion" } } -/*project("sponge") { +/* +project("sponge") { repositories { maven { name = "Sponge" @@ -136,7 +137,8 @@ project("bukkit") { dependencies { shade "net.kyori:text-adapter-spongeapi:$textExtrasVersion" } -}*/ +} +*/ tasks.register("build") { dependsOn(subprojects.collect { it.tasks.named("build") })