diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index a926d3139..dcdddf2dd 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -8,6 +8,7 @@ plugins { repositories { jcenter() gradlePluginPortal() + /* maven { name = "Forge Maven" url = uri("https://files.minecraftforge.net/maven") @@ -20,15 +21,16 @@ repositories { name = "sponge" url = uri("https://repo.spongepowered.org/maven") } + */ maven { name = "EngineHub Repository" url = uri("https://maven.enginehub.org/repo/") content { - excludeGroup("net.milkbowl.vault") + includeGroup("com.sk89q") } } } - +/* configurations.all { resolutionStrategy { // Fabric needs this. @@ -39,27 +41,32 @@ configurations.all { ) } } + */ val properties = Properties().also { props -> project.projectDir.resolveSibling("gradle.properties").bufferedReader().use { props.load(it) } } +/* val loomVersion: String = properties.getProperty("loom.version") val mixinVersion: String = properties.getProperty("mixin.version") + */ dependencies { implementation(gradleApi()) - implementation("gradle.plugin.net.minecrell:licenser:0.4.1") - implementation("org.ajoberstar.grgit:grgit-gradle:4.0.2") - implementation("com.github.jengelman.gradle.plugins:shadow:5.2.0") + implementation("gradle.plugin.org.cadixdev.gradle:licenser:0.5.0") + implementation("org.ajoberstar.grgit:grgit-gradle:4.1.0") + implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0") implementation("net.ltgt.apt-eclipse:net.ltgt.apt-eclipse.gradle.plugin:0.21") implementation("net.ltgt.apt-idea:net.ltgt.apt-idea.gradle.plugin:0.21") - //implementation("org.jfrog.buildinfo:build-info-extractor-gradle:4.16.0") - //implementation("gradle.plugin.org.spongepowered:spongegradle:0.9.0") - //implementation("net.minecraftforge.gradle:ForgeGradle:3.0.181") - //implementation("net.fabricmc:fabric-loom:$loomVersion") - //implementation("net.fabricmc:sponge-mixin:$mixinVersion") + /* implementation("gradle.plugin.com.mendhak.gradlecrowdin:plugin:0.1.0") implementation("org.enginehub.gradle:gradle-codecov-plugin:0.1.0") + implementation("org.jfrog.buildinfo:build-info-extractor-gradle:4.16.0") + implementation("gradle.plugin.org.spongepowered:spongegradle:0.9.0") + implementation("net.minecraftforge.gradle:ForgeGradle:3.0.181") + implementation("net.fabricmc:fabric-loom:$loomVersion") + implementation("net.fabricmc:sponge-mixin:$mixinVersion") + */ } diff --git a/buildSrc/src/main/kotlin/CommonConfig.kt b/buildSrc/src/main/kotlin/CommonConfig.kt index bec46c4cc..422b075d6 100644 --- a/buildSrc/src/main/kotlin/CommonConfig.kt +++ b/buildSrc/src/main/kotlin/CommonConfig.kt @@ -7,21 +7,43 @@ fun Project.applyCommonConfiguration() { repositories { mavenLocal() - maven { url = uri("https://mvn.intellectualsites.com/content/groups/public/") } - maven { url = uri("https://plotsquared.com/mvn/") } maven { - url = uri("https://maven.enginehub.org/repo/") + name = "IntellectualSites" + url = uri("https://mvn.intellectualsites.com/content/groups/public/") content { - excludeGroup("net.milkbowl.vault") + includeGroup("com.plotsquared") + includeGroup("com.intellectualsites.paster") + includeGroup("com.github.intellectualsites.plotsquared") + } + } + maven { + name = "EngineHub Repository" + url = uri("https://maven.enginehub.org/repo/") + content { + includeGroup("com.sk89q") + includeGroup("com.sk89q.lib") + includeGroupByRegex("org.enginehub.*") + } + } + maven { + name = "OSS Sonatype Snapshots" + url = uri("https://oss.sonatype.org/content/repositories/snapshots/") + } + maven { + name = "OSS Sonatype Releases" + url = uri("https://oss.sonatype.org/content/repositories/releases/") + } + maven { + name = "Athion" + url = uri("https://ci.athion.net/plugin/repository/tools/") + content { + includeGroup("com.massivecraft") + includeGroup("com.thevoxelbox.voxelsniper") + includeGroup("com.palmergames.bukkit") + includeGroup("net.fabiozumbi12") + includeGroupByRegex("com.destroystokyo.*") } } - maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots/") } - maven { url = uri("https://ci.athion.net/plugin/repository/tools/") } - maven { url = uri("https://repo.destroystokyo.com/repository/maven-public") } - ivy { url = uri("https://ci.athion.net/job") - patternLayout { - artifact("/[organisation]/[revision]/artifact/[module].[ext]") - }} } configurations.all { diff --git a/buildSrc/src/main/kotlin/PlatformConfig.kt b/buildSrc/src/main/kotlin/PlatformConfig.kt index 42b9c6d4c..c8b28e4fe 100644 --- a/buildSrc/src/main/kotlin/PlatformConfig.kt +++ b/buildSrc/src/main/kotlin/PlatformConfig.kt @@ -29,7 +29,7 @@ fun Project.applyPlatformAndCoreConfiguration() { configure { sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = sourceCompatibility } tasks @@ -55,11 +55,11 @@ fun Project.applyPlatformAndCoreConfiguration() { dependencies { "compileOnly"("org.jetbrains:annotations:20.1.0") - "testImplementation"("org.junit.jupiter:junit-jupiter-api:${Versions.JUNIT}") - "testImplementation"("org.junit.jupiter:junit-jupiter-params:${Versions.JUNIT}") - "testImplementation"("org.mockito:mockito-core:${Versions.MOCKITO}") - "testImplementation"("org.mockito:mockito-junit-jupiter:${Versions.MOCKITO}") - "testRuntime"("org.junit.jupiter:junit-jupiter-engine:${Versions.JUNIT}") + "testImplementation"("org.junit.jupiter:junit-jupiter-api:5.6.1") + "testImplementation"("org.junit.jupiter:junit-jupiter-params:5.6.1") + "testImplementation"("org.mockito:mockito-core:3.3.3") + "testImplementation"("org.mockito:mockito-junit-jupiter:3.3.3") + "testRuntime"("org.junit.jupiter:junit-jupiter-engine:5.6.1") } // Java 8 turns on doclint which we fail diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 14054d450..77bf827ae 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,18 +1,6 @@ +/* import org.gradle.api.Project -object Versions { - const val TEXT = "3.0.4" - const val TEXT_EXTRAS = "3.0.6" - const val PISTON = "0.5.6" - const val AUTO_VALUE = "1.7" - const val JUNIT = "5.6.1" - const val MOCKITO = "3.3.3" - const val LOGBACK = "1.2.3" - const val FAST_UTIL = "8.2.1" - const val GUAVA = "21.0" - const val GSON = "2.8.0" -} - // Properties that need a project reference to resolve: class ProjectVersions(project: Project) { val loom = project.rootProject.property("loom.version") @@ -21,3 +9,5 @@ class ProjectVersions(project: Project) { val Project.versions get() = ProjectVersions(this) + + */ diff --git a/gradle.properties b/gradle.properties index fc36c4337..26c5e6d55 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,6 +6,7 @@ org.gradle.daemon=true org.gradle.configureondemand=true org.gradle.parallel=true org.gradle.caching=true +org.gradle.vfs.watch=true loom.version=0.2.6-20200124.104118-60 mixin.version=0.8+build.17 diff --git a/settings.gradle.kts b/settings.gradle.kts index c3d7f43ec..cf43a5552 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,7 +15,7 @@ dependencyResolutionManagement { name = "EngineHub Repository" url = uri("https://maven.enginehub.org/repo/") content { - excludeGroup("net.milkbowl.vault") + includeGroup("com.sk89q") } } } diff --git a/worldedit-bukkit/build.gradle.kts b/worldedit-bukkit/build.gradle.kts index 6f842d105..267570e2c 100644 --- a/worldedit-bukkit/build.gradle.kts +++ b/worldedit-bukkit/build.gradle.kts @@ -1,28 +1,48 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar plugins { - `java-library` + id("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/") } - maven { url = uri("https://maven.enginehub.org/repo/") + maven { + name = "Spigot" + url = uri("https://hub.spigotmc.org/nexus/content/groups/public") content { - excludeGroup("net.milkbowl.vault") + includeGroup("org.bukkit") + includeGroup("org.spigotmc") } } - maven { url = uri("https://ci.emc.gs/nexus/content/groups/aikar/") } - maven { url = uri("https://ci.athion.net/plugin/repository/tools/") } + maven { + name = "Paper" + url = uri("https://papermc.io/repo/repository/maven-public/") + content { + includeGroup("io.papermc") + includeGroup("com.destroystokyo.paper") + } + } + maven { + name = "EngineHub Repository" + url = uri("https://maven.enginehub.org/repo/") + content { + includeGroup("com.sk89q") + } + } + maven { + name = "Athion" + url = uri("https://ci.athion.net/plugin/repository/tools/") + } maven { this.name = "JitPack" this.url = uri("https://jitpack.io") + content { + includeGroup("net.milkbowl.vault") + includeGroup("com.github.TechFortress") + } } - maven { url = uri("https://repo.destroystokyo.com/repository/maven-public/") } maven { name = "ProtocolLib Repo" url = uri("https://repo.dmulloy2.net/nexus/repository/public/") @@ -30,8 +50,21 @@ repositories { includeGroup("com.comphenix.protocol") } } - maven { url = uri("https://repo.inventivetalent.org/content/groups/public/") } - flatDir {dir(File("src/main/resources"))} + maven { + name = "Inventivetalent" + url = uri("https://repo.inventivetalent.org/content/groups/public/") + content { + includeGroupByRegex("org.inventivetalent.*") + } + } + maven { + name = "CodeMC" + url = uri("https://repo.codemc.org/repository/maven-public/") + content { + includeGroup("org.bstats") + } + } + flatDir { dir(File("src/main/resources")) } } configurations.all { @@ -41,29 +74,27 @@ configurations.all { } dependencies { - compileOnly("com.github.MilkBowl:VaultAPI:1.7") { - isTransitive = false - } + compileOnly("com.github.MilkBowl:VaultAPI:1.7") { isTransitive = false } api(project(":worldedit-core")) api(project(":worldedit-libs:bukkit")) compile(":worldedit-adapters:") // Paper-patched NMS jars - compile("com.destroystokyo.paperv1_15_r1:paperv1_15_r1:1_15_r1") - compile("com.destroystokyo.paperv1_16_r1:paperv1_16_r1:1_16_r1") - compile("com.destroystokyo.paperv1_16_r2:paperv1_16_r2:1_16_r2") - compile("com.destroystokyo.paperv1_16_r3:paperv1_16_r3:1_16_r3") - compile("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1") - compile("org.spigotmcv1_16_r1:spigotmcv1_16_r1:1_16_r1") - compile("org.spigotmcv1_16_r2:spigotmcv1_16_r2:1_16_r2") - compile("org.spigotmcv1_16_r3:spigotmcv1_16_r3:1_16_r3") - implementation("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}") + compileOnly("com.destroystokyo.paperv1_15_r1:paperv1_15_r1:1_15_r1") + compileOnly("com.destroystokyo.paperv1_16_r1:paperv1_16_r1:1_16_r1") + compileOnly("com.destroystokyo.paperv1_16_r2:paperv1_16_r2:1_16_r2") + compileOnly("com.destroystokyo.paperv1_16_r3:paperv1_16_r3:1_16_r3") + compileOnly("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1") + compileOnly("org.spigotmcv1_16_r1:spigotmcv1_16_r1:1_16_r1") + compileOnly("org.spigotmcv1_16_r2:spigotmcv1_16_r2:1_16_r2") + compileOnly("org.spigotmcv1_16_r3:spigotmcv1_16_r3:1_16_r3") + implementation("it.unimi.dsi:fastutil:8.2.1") api("com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT") { exclude("junit", "junit") isTransitive = false } + compileOnly("org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT") compileOnly("org.jetbrains:annotations:20.1.0") testCompileOnly("org.jetbrains:annotations:20.1.0") - compileOnly("org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT") implementation("io.papermc:paperlib:1.0.6") compileOnly("com.sk89q:dummypermscompat:1.10") { exclude("com.github.MilkBowl", "VaultAPI") @@ -76,9 +107,9 @@ dependencies { exclude("com.sk89q.worldedit.worldedit-libs", "bukkit") exclude("com.sk89q.worldedit.worldedit-libs", "core") } - implementation("org.bstats:bstats-bukkit:1.8") api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT") // Third party + implementation("org.bstats:bstats-bukkit:1.8") compileOnlyApi("org.inventivetalent:mapmanager:1.7.+") { isTransitive = false } implementation("com.github.TechFortress:GriefPrevention:16.+") { isTransitive = false } implementation("com.massivecraft:mcore:7.0.1") { isTransitive = false } diff --git a/worldedit-cli/build.gradle.kts b/worldedit-cli/build.gradle.kts index a655b4b9a..ff4c37287 100644 --- a/worldedit-cli/build.gradle.kts +++ b/worldedit-cli/build.gradle.kts @@ -12,8 +12,8 @@ dependencies { "implementation"("org.apache.logging.log4j:log4j-core:2.8.1") "implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1") "implementation"("commons-cli:commons-cli:1.4") - "implementation"("com.google.guava:guava:${Versions.GUAVA}") - "implementation"("com.google.code.gson:gson:${Versions.GSON}") + "implementation"("com.google.guava:guava:21.0") + "implementation"("com.google.code.gson:gson:2.8.0") } tasks.named("jar") { diff --git a/worldedit-core/build.gradle.kts b/worldedit-core/build.gradle.kts index a078c2f3d..875008889 100644 --- a/worldedit-core/build.gradle.kts +++ b/worldedit-core/build.gradle.kts @@ -1,6 +1,4 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import com.mendhak.gradlecrowdin.DownloadTranslationsTask -import com.mendhak.gradlecrowdin.UploadSourceFileTask import org.gradle.plugins.ide.idea.model.IdeaModel plugins { @@ -8,12 +6,18 @@ plugins { id("net.ltgt.apt-eclipse") id("net.ltgt.apt-idea") id("antlr") - id("com.mendhak.gradlecrowdin") } repositories { - maven { url = uri("https://plotsquared.com/mvn/") } - maven { url = uri("https://mvn.intellectualsites.com/content/groups/public/") } + maven { + name = "IntellectualSites" + url = uri("https://mvn.intellectualsites.com/content/groups/public/") + content { + includeGroup("com.plotsquared") + includeGroup("com.intellectualsites.paster") + includeGroup("com.github.intellectualsites.plotsquared") + } + } } applyPlatformAndCoreConfiguration() @@ -30,33 +34,28 @@ dependencies { implementation("net.java.truevfs:truevfs-profile-default_2.13:0.12.2") implementation("org.mozilla:rhino-runtime:1.7.12") implementation("org.yaml:snakeyaml:1.27") - implementation("com.google.guava:guava:${Versions.GUAVA}") + implementation("com.google.guava:guava:21.0") implementation("com.google.code.findbugs:jsr305:3.0.2") - implementation("com.google.code.gson:gson:${Versions.GSON}") + implementation("com.google.code.gson:gson:2.8.0") implementation("org.slf4j:slf4j-api:1.7.26") - implementation("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}") + implementation("it.unimi.dsi:fastutil:8.2.1") - val antlrVersion = "4.7.2" - antlr("org.antlr:antlr4:$antlrVersion") - implementation("org.antlr:antlr4-runtime:$antlrVersion") + antlr("org.antlr:antlr4:4.7.2") + implementation("org.antlr:antlr4-runtime:4.7.2") implementation("com.googlecode.json-simple:json-simple:1.1.1") { isTransitive = false } compileOnly(project(":worldedit-libs:core:ap")) annotationProcessor(project(":worldedit-libs:core:ap")) // ensure this is on the classpath for the AP annotationProcessor("com.google.guava:guava:21.0") - compileOnly("com.google.auto.value:auto-value-annotations:${Versions.AUTO_VALUE}") - annotationProcessor("com.google.auto.value:auto-value:${Versions.AUTO_VALUE}") - testImplementation("ch.qos.logback:logback-core:${Versions.LOGBACK}") - testImplementation("ch.qos.logback:logback-classic:${Versions.LOGBACK}") + compileOnly("com.google.auto.value:auto-value-annotations:1.7") + annotationProcessor("com.google.auto.value:auto-value:1.7") + testImplementation("ch.qos.logback:logback-core:1.2.3") + testImplementation("ch.qos.logback:logback-classic:1.2.3") implementation("com.github.luben:zstd-jni:1.4.8-1") compileOnly("net.fabiozumbi12:redprotect:1.9.6") - api("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") { - isTransitive = false - } - api("com.plotsquared:PlotSquared-Core:5.13.3") { - isTransitive = false - } + api("com.github.intellectualsites.plotsquared:PlotSquared-API:4.514") { isTransitive = false } + api("com.plotsquared:PlotSquared-Core:5.13.3") { isTransitive = false } api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT") } @@ -73,8 +72,8 @@ tasks.named("generateGrammarSource").configure { val pkg = "com.sk89q.worldedit.antlr" outputDirectory = file("build/generated-src/antlr/main/${pkg.replace('.', '/')}") arguments = listOf( - "-visitor", "-package", pkg, - "-Xexact-output-dir" + "-visitor", "-package", pkg, + "-Xexact-output-dir" ) } @@ -112,7 +111,7 @@ tasks.named("shadowJar") { } } - +/* val crowdinApiKey = "crowdin_apikey" if (project.hasProperty(crowdinApiKey) && !gradle.startParameter.isOffline) { @@ -144,3 +143,5 @@ if (project.hasProperty(crowdinApiKey) && !gradle.startParameter.isOffline) { dependsOn("crowdinDownload") } } + + */ diff --git a/worldedit-core/doctools/build.gradle.kts b/worldedit-core/doctools/build.gradle.kts index 475a8839e..4dacc9ca3 100644 --- a/worldedit-core/doctools/build.gradle.kts +++ b/worldedit-core/doctools/build.gradle.kts @@ -21,5 +21,5 @@ dependencies { "implementation"(project(":worldedit-core")) "implementation"(kotlin("stdlib-jdk8")) "implementation"(kotlin("reflect")) - "implementation"("com.google.guava:guava:${Versions.GUAVA}") + "implementation"("com.google.guava:guava:21.0") } diff --git a/worldedit-libs/bukkit/build.gradle.kts b/worldedit-libs/bukkit/build.gradle.kts index a9d1c255e..3db476966 100644 --- a/worldedit-libs/bukkit/build.gradle.kts +++ b/worldedit-libs/bukkit/build.gradle.kts @@ -5,9 +5,13 @@ repositories { maven { name = "SpigotMC" url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") + content { + includeGroup("org.bukkit") + includeGroup("org.spigotmc") + } } } dependencies { - "shade"("net.kyori:text-adapter-bukkit:${Versions.TEXT_EXTRAS}") + "shade"("net.kyori:text-adapter-bukkit:3.0.6") } diff --git a/worldedit-libs/core/ap/build.gradle.kts b/worldedit-libs/core/ap/build.gradle.kts index 44374359b..266d18fa2 100644 --- a/worldedit-libs/core/ap/build.gradle.kts +++ b/worldedit-libs/core/ap/build.gradle.kts @@ -1,6 +1,6 @@ applyLibrariesConfiguration() dependencies { - "shade"("org.enginehub.piston.core-ap:annotations:${Versions.PISTON}") - "shade"("org.enginehub.piston.core-ap:processor:${Versions.PISTON}") + "shade"("org.enginehub.piston.core-ap:annotations:0.5.6") + "shade"("org.enginehub.piston.core-ap:processor:0.5.6") } diff --git a/worldedit-libs/core/build.gradle.kts b/worldedit-libs/core/build.gradle.kts index 8a025d445..628b2163e 100644 --- a/worldedit-libs/core/build.gradle.kts +++ b/worldedit-libs/core/build.gradle.kts @@ -1,17 +1,17 @@ applyLibrariesConfiguration() dependencies { - "shade"("net.kyori:text-api:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-gson:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-legacy:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-plain:${Versions.TEXT}") + "shade"("net.kyori:text-api:3.0.4") + "shade"("net.kyori:text-serializer-gson:3.0.4") + "shade"("net.kyori:text-serializer-legacy:3.0.4") + "shade"("net.kyori:text-serializer-plain:3.0.4") "shade"("com.sk89q:jchronic:0.2.4a") { exclude(group = "junit", module = "junit") } "shade"("com.thoughtworks.paranamer:paranamer:2.6") "shade"("com.github.luben:zstd-jni:1.4.8-1") "shade"("com.sk89q.lib:jlibnoise:1.0.0") - "shade"("org.enginehub.piston:core:${Versions.PISTON}") - "shade"("org.enginehub.piston.core-ap:runtime:${Versions.PISTON}") - "shade"("org.enginehub.piston:default-impl:${Versions.PISTON}") + "shade"("org.enginehub.piston:core:0.5.6") + "shade"("org.enginehub.piston.core-ap:runtime:0.5.6") + "shade"("org.enginehub.piston:default-impl:0.5.6") } diff --git a/worldedit-libs/sponge/build.gradle.kts b/worldedit-libs/sponge/build.gradle.kts index 47bd7e59c..dc241d185 100644 --- a/worldedit-libs/sponge/build.gradle.kts +++ b/worldedit-libs/sponge/build.gradle.kts @@ -8,5 +8,5 @@ repositories { } } dependencies { - "shade"("net.kyori:text-adapter-spongeapi:${Versions.TEXT_EXTRAS}") + "shade"("net.kyori:text-adapter-spongeapi:3.0.6") }