From d6ccc1d59bbdd01d03fae0f7ebc43d58c5f0c1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20S=C3=B6derberg?= Date: Thu, 22 Oct 2020 04:00:04 +0200 Subject: [PATCH] :broom: Clean up the gradle build scripts a little Changes: - Move all dependency versions to a shared file - Order the projects in settings.gradle --- build.gradle | 30 ++++----- cloud-core/build.gradle | 4 +- cloud-discord/cloud-javacord/build.gradle | 2 +- cloud-discord/cloud-jda/build.gradle | 2 +- cloud-minecraft/cloud-brigadier/build.gradle | 2 +- cloud-minecraft/cloud-bukkit/build.gradle | 4 +- cloud-minecraft/cloud-bungee/build.gradle | 2 +- cloud-minecraft/cloud-cloudburst/build.gradle | 2 +- .../cloud-minecraft-extras/build.gradle | 2 +- cloud-minecraft/cloud-paper/build.gradle | 4 +- cloud-minecraft/cloud-velocity/build.gradle | 2 +- scripts/dependencies.gradle | 21 ++++++ settings.gradle | 67 +++++++++++-------- 13 files changed, 87 insertions(+), 57 deletions(-) create mode 100644 scripts/dependencies.gradle diff --git a/build.gradle b/build.gradle index 04540cc7..7f697cd9 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,8 @@ plugins { id 'de.marcphilipp.nexus-publish' version '0.4.0' } +apply from: 'scripts/dependencies.gradle' + checkstyle { configFile file('config/checkstyle/checkstyle.xml') } @@ -71,52 +73,48 @@ subprojects { mavenLocal() mavenCentral() jcenter() - maven { + /* Sonatype Snapshots */ url = 'https://oss.sonatype.org/content/repositories/snapshots' } - maven { + /* ViaVersion, used for adventure */ url = 'https://repo.viaversion.com/' } - maven { + /* Velocity, used for cloud-velocity */ url = 'https://repo.velocitypowered.com/snapshots/' } - maven { + /* The Minecraft repository, used for cloud-brigadier */ url = 'https://libraries.minecraft.net/' } - maven { + /* The current Sponge repository */ url = 'https://repo.spongepowered.org/maven' } - maven { + /* The Spigot repository, used for cloud-bukkit */ url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } - maven { + /* The paper repository, used for cloud-paper */ url = 'https://papermc.io/repo/repository/maven-public/' } - - maven { - url = 'https://libraries.minecraft.net' - } - maven { + /* The NukkitX repository, used for cloud-cloudburst */ url = 'https://repo.nukkitx.com/maven-snapshots' } - maven { + /* JitPack, used for random dependencies */ url = 'https://jitpack.io' } } dependencies { - compileOnly 'org.checkerframework:checker-qual:3.7.0' - api 'io.leangen.geantyref:geantyref:1.3.11' - testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.7.0' + compileOnly "org.checkerframework:checker-qual:${vers['checker-qual']}" + api "io.leangen.geantyref:geantyref:${vers['geantyref']}" + testImplementation "org.junit.jupiter:junit-jupiter-engine:${vers['jupiter-engine']}" } nexusPublishing { diff --git a/cloud-core/build.gradle b/cloud-core/build.gradle index 035c61af..41a0d2f0 100644 --- a/cloud-core/build.gradle +++ b/cloud-core/build.gradle @@ -1,5 +1,5 @@ dependencies { api project(':cloud-services') - testImplementation 'org.openjdk.jmh:jmh-core:1.25.2' - testImplementation 'org.openjdk.jmh:jmh-generator-annprocess:1.26' + testImplementation "org.openjdk.jmh:jmh-core:${vers['jhm']}" + testImplementation "org.openjdk.jmh:jmh-generator-annprocess:${vers['jhm']}" } diff --git a/cloud-discord/cloud-javacord/build.gradle b/cloud-discord/cloud-javacord/build.gradle index b95e30c3..fdbf2983 100644 --- a/cloud-discord/cloud-javacord/build.gradle +++ b/cloud-discord/cloud-javacord/build.gradle @@ -1,4 +1,4 @@ dependencies { api project(':cloud-core') - implementation 'org.javacord:javacord:3.1.1' + implementation "org.javacord:javacord:${vers['javacord']}" } diff --git a/cloud-discord/cloud-jda/build.gradle b/cloud-discord/cloud-jda/build.gradle index 206b6ca3..320c561b 100644 --- a/cloud-discord/cloud-jda/build.gradle +++ b/cloud-discord/cloud-jda/build.gradle @@ -1,4 +1,4 @@ dependencies { api project(':cloud-core') - compileOnly 'net.dv8tion:JDA:4.2.0_209' + compileOnly "net.dv8tion:JDA:${vers['jda']}" } diff --git a/cloud-minecraft/cloud-brigadier/build.gradle b/cloud-minecraft/cloud-brigadier/build.gradle index 22601cc1..74188f40 100644 --- a/cloud-minecraft/cloud-brigadier/build.gradle +++ b/cloud-minecraft/cloud-brigadier/build.gradle @@ -1,5 +1,5 @@ dependencies { implementation project(':cloud-core') /* Needs to be provided by the platform */ - compileOnly 'com.mojang:brigadier:1.0.17' + compileOnly "com.mojang:brigadier:${vers['brigadier']}" } diff --git a/cloud-minecraft/cloud-bukkit/build.gradle b/cloud-minecraft/cloud-bukkit/build.gradle index 63978e09..3d6acd66 100644 --- a/cloud-minecraft/cloud-bukkit/build.gradle +++ b/cloud-minecraft/cloud-bukkit/build.gradle @@ -2,6 +2,6 @@ dependencies { api project(':cloud-core') api project(':cloud-brigadier') api project(':cloud-tasks') - compileOnly 'org.bukkit:bukkit:1.13.2-R0.1-SNAPSHOT' - compileOnly 'me.lucko:commodore:1.9' + compileOnly "org.bukkit:bukkit:${vers['bukkit']}" + compileOnly "me.lucko:commodore:${vers['commodore']}" } diff --git a/cloud-minecraft/cloud-bungee/build.gradle b/cloud-minecraft/cloud-bungee/build.gradle index e919b4ac..4c87a52e 100644 --- a/cloud-minecraft/cloud-bungee/build.gradle +++ b/cloud-minecraft/cloud-bungee/build.gradle @@ -1,4 +1,4 @@ dependencies { api project(':cloud-core') - compileOnly 'net.md-5:bungeecord-api:1.8-SNAPSHOT' + compileOnly "net.md-5:bungeecord-api:${vers['bungeecord']}" } diff --git a/cloud-minecraft/cloud-cloudburst/build.gradle b/cloud-minecraft/cloud-cloudburst/build.gradle index 876e5268..8c4f046f 100644 --- a/cloud-minecraft/cloud-cloudburst/build.gradle +++ b/cloud-minecraft/cloud-cloudburst/build.gradle @@ -1,4 +1,4 @@ dependencies { api project(':cloud-core') - compileOnly 'org.cloudburstmc:cloudburst-server:1.0.0-SNAPSHOT' + compileOnly "org.cloudburstmc:cloudburst-server:${vers['cloudburst']}" } diff --git a/cloud-minecraft/cloud-minecraft-extras/build.gradle b/cloud-minecraft/cloud-minecraft-extras/build.gradle index 548542b7..30adc1b6 100644 --- a/cloud-minecraft/cloud-minecraft-extras/build.gradle +++ b/cloud-minecraft/cloud-minecraft-extras/build.gradle @@ -1,4 +1,4 @@ dependencies { api project(':cloud-core') - api 'net.kyori:adventure-api:4.1.1' + api "net.kyori:adventure-api:${vers['adventure-api']}" } diff --git a/cloud-minecraft/cloud-paper/build.gradle b/cloud-minecraft/cloud-paper/build.gradle index bcb9ecc4..9a12b626 100644 --- a/cloud-minecraft/cloud-paper/build.gradle +++ b/cloud-minecraft/cloud-paper/build.gradle @@ -1,5 +1,5 @@ dependencies { api project(':cloud-bukkit') - compileOnly 'com.destroystokyo.paper:paper-api:1.15.2-R0.1-SNAPSHOT' - compileOnly 'com.destroystokyo.paper:paper-mojangapi:1.15.2-R0.1-SNAPSHOT' + compileOnly "com.destroystokyo.paper:paper-api:${vers['paper-api']}" + compileOnly "com.destroystokyo.paper:paper-mojangapi:${vers['paper-api']}" } diff --git a/cloud-minecraft/cloud-velocity/build.gradle b/cloud-minecraft/cloud-velocity/build.gradle index c9849de8..88180a08 100644 --- a/cloud-minecraft/cloud-velocity/build.gradle +++ b/cloud-minecraft/cloud-velocity/build.gradle @@ -1,5 +1,5 @@ dependencies { api project(':cloud-core') api project(':cloud-brigadier') - compileOnly 'com.velocitypowered:velocity-api:1.1.0-SNAPSHOT' + compileOnly "com.velocitypowered:velocity-api:${vers['velocity-api']}" } diff --git a/scripts/dependencies.gradle b/scripts/dependencies.gradle new file mode 100644 index 00000000..73333b34 --- /dev/null +++ b/scripts/dependencies.gradle @@ -0,0 +1,21 @@ +ext { + vers = [ + 'checker-qual' : '3.7.0', + 'geantyref' : '1.3.11', + // DISCORD DEPENDENCIES + 'javacord' : '3.1.1', + 'jda' : '4.2.0_209', + // MINECRAFT DEPENDENCIES + 'brigadier' : '1.0.17', + 'bukkit' : '1.13.2-RO.1-SNAPSHOT', + 'commodore' : '1.9', + 'bungeecord' : '1.8-SNAPSHOT', + 'cloudburst' : '1.0.0-SNAPSHOT', + 'adventure-api' : '4.1.1', + 'paper-api' : '1.15.2-R0.1-SNAPSHOT', + 'velocity-api' : '1.1.0-SNAPSHOT', + // TEST DEPENDENCIES + 'jupiter-engine': '5.7.0', + 'jhm' : '1.25.2' + ] +} diff --git a/settings.gradle b/settings.gradle index 9c1fc6bc..79e5ea06 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,36 +1,47 @@ rootProject.name = 'cloud' +// +// Core Modules +// +include(':cloud-annotations') include(':cloud-core') include(':cloud-services') -include(':cloud-annotations') -include(':cloud-bukkit') -include(':cloud-paper') -include(':cloud-brigadier') -include(':cloud-bungee') -include(':cloud-velocity') -include(':cloud-minecraft-extras') -include(':cloud-cloudburst') -include(':cloud-javacord') -include(':cloud-jda') -include(':example-bukkit') -include(':example-javacord') -include(':example-jda') include(':cloud-tasks') -include(':cloud-sponge') -include(':example-velocity') -include(':example-bungee') -project(':cloud-bukkit').projectDir = file('cloud-minecraft/cloud-bukkit') -project(':cloud-paper').projectDir = file('cloud-minecraft/cloud-paper') -project(':cloud-brigadier').projectDir = file('cloud-minecraft/cloud-brigadier') -project(':cloud-bungee').projectDir = file('cloud-minecraft/cloud-bungee') -project(':cloud-velocity').projectDir = file('cloud-minecraft/cloud-velocity') -project(':cloud-minecraft-extras').projectDir = file('cloud-minecraft/cloud-minecraft-extras') -project(':cloud-cloudburst').projectDir = file('cloud-minecraft/cloud-cloudburst') +// +//Discord Modules +// +include(':cloud-javacord') project(':cloud-javacord').projectDir = file('cloud-discord/cloud-javacord') +include(':cloud-jda') project(':cloud-jda').projectDir = file('cloud-discord/cloud-jda') -project(':example-bukkit').projectDir = file('examples/example-bukkit') -project(':example-javacord').projectDir = file('examples/example-javacord') -project(':example-jda').projectDir = file('examples/example-jda') +// +// Minecraft Modules +// +include(':cloud-brigadier') +project(':cloud-brigadier').projectDir = file('cloud-minecraft/cloud-brigadier') +include(':cloud-bukkit') +project(':cloud-bukkit').projectDir = file('cloud-minecraft/cloud-bukkit') +include(':cloud-bungee') +project(':cloud-bungee').projectDir = file('cloud-minecraft/cloud-bungee') +include(':cloud-cloudburst') +project(':cloud-cloudburst').projectDir = file('cloud-minecraft/cloud-cloudburst') +include(':cloud-minecraft-extras') +project(':cloud-minecraft-extras').projectDir = file('cloud-minecraft/cloud-minecraft-extras') +include(':cloud-paper') +project(':cloud-paper').projectDir = file('cloud-minecraft/cloud-paper') +include(':cloud-sponge') project(':cloud-sponge').projectDir = file('cloud-minecraft/cloud-sponge') -project(':example-velocity').projectDir = file('examples/example-velocity') +include(':cloud-velocity') +project(':cloud-velocity').projectDir = file('cloud-minecraft/cloud-velocity') +// +// Example Modules +// +include(':example-bukkit') +project(':example-bukkit').projectDir = file('examples/example-bukkit') +include(':example-bungee') project(':example-bungee').projectDir = file('examples/example-bungee') - +include(':example-javacord') +project(':example-javacord').projectDir = file('examples/example-javacord') +include(':example-jda') +project(':example-jda').projectDir = file('examples/example-jda') +include(':example-velocity') +project(':example-velocity').projectDir = file('examples/example-velocity')