diff --git a/.github/workflows/javadocs.yml b/.github/workflows/javadocs.yml index f4881304..3416a5e8 100644 --- a/.github/workflows/javadocs.yml +++ b/.github/workflows/javadocs.yml @@ -25,7 +25,7 @@ jobs: echo "Creating .nojekyll to have Github pages deploy html as is:" touch .nojekyll - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4.4.1 + uses: JamesIves/github-pages-deploy-action@v4.4.2 with: branch: gh-pages # The branch the action should deploy to. folder: schematicbrushreborn-api/build/docs/javadoc # The folder the action should deploy. diff --git a/.github/workflows/publish_to_nexus.yml b/.github/workflows/publish_to_nexus.yml index 9a7e8ddf..ea91e7c5 100644 --- a/.github/workflows/publish_to_nexus.yml +++ b/.github/workflows/publish_to_nexus.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.1 + - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index d21fe515..a54a7e6b 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.1 + - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: diff --git a/build.gradle.kts b/build.gradle.kts index d73e5885..4d05ef97 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,13 +3,13 @@ import de.chojo.PublishData plugins { java - id("com.diffplug.spotless") version "6.18.0" - id("de.chojo.publishdata") version "1.2.4" + alias(libs.plugins.spotless) + alias(libs.plugins.publishdata) `maven-publish` } group = "de.eldoria" -version = "2.5.2" +version = "2.5.3" var publishModules = setOf("schematicbrushreborn-api", "schematicbrushreborn-core", @@ -52,38 +52,31 @@ allprojects { } dependencies { - compileOnly("io.papermc.paper", "paper-api", "1.17.1-R0.1-SNAPSHOT") - compileOnly("org.spigotmc", "spigot-api", "1.16.5-R0.1-SNAPSHOT") - compileOnly("org.jetbrains", "annotations", "24.0.1") + // This is required. https://github.com/gradle/gradle/issues/16634#issuecomment-809345790 + val libs = rootProject.libs + val testlibs = rootProject.testlibs + compileOnly(libs.paper.v17) + compileOnly(libs.spigot.v16) + compileOnly(libs.jetbrains.annotations) // Due to incompatibility by the yaml versions defined by world edit, fawe and bukkit we need to exclude it everywhere and add our own version... - compileOnly("org.yaml", "snakeyaml", "1.33") - compileOnly("com.sk89q.worldedit", "worldedit-bukkit", "7.2.14") { - exclude("org.yaml") - } - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.6.1") { + compileOnly(libs.snakeyaml) + compileOnly(libs.worldedit) + compileOnly(libs.fawe.core) { exclude("com.intellectualsites.paster") - exclude("org.yaml") exclude("net.kyori") } - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.6.1") { - isTransitive = false - exclude("org.yaml") - } + compileOnly(libs.fawe.bukkit) - testImplementation(platform("org.junit:junit-bom:5.9.2")) + testImplementation(platform("org.junit:junit-bom:5.9.3")) testImplementation("org.junit.jupiter", "junit-jupiter") - testImplementation("com.github.seeseemelk", "MockBukkit-v1.19", "2.147.1") - testImplementation("com.sk89q.worldedit", "worldedit-bukkit", "7.2.14") { + testImplementation(testlibs.mockbukkit) + testImplementation(libs.worldedit) { exclude("org.yaml") } - testImplementation("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.6.1") { + testImplementation(libs.fawe.core) { exclude("com.intellectualsites.paster") - exclude("org.yaml") - } - testImplementation("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.6.1") { - isTransitive = false - exclude("org.yaml") } + testImplementation(libs.fawe.bukkit) } tasks { diff --git a/schematicbrushreborn-api/build.gradle.kts b/schematicbrushreborn-api/build.gradle.kts index 10be7010..21a6d4ea 100644 --- a/schematicbrushreborn-api/build.gradle.kts +++ b/schematicbrushreborn-api/build.gradle.kts @@ -4,11 +4,11 @@ plugins { } dependencies { - api("de.eldoria", "eldo-util", "1.14.4") - api("de.eldoria.util", "jackson-configuration", "2.0.0-DEV") - api("de.eldoria", "messageblocker", "1.1.1") - api("net.kyori", "adventure-platform-bukkit", "4.3.0") - api("net.kyori", "adventure-text-minimessage", "4.13.1") + api(libs.eldoutil.legacy) + api(libs.eldoutil.jackson) + api(libs.messageblocker) + api(libs.adventure.bukkit) + api(libs.adventure.minimessage) } publishData { diff --git a/schematicbrushreborn-core/build.gradle.kts b/schematicbrushreborn-core/build.gradle.kts index 3c43f5a6..a88dc8e2 100644 --- a/schematicbrushreborn-core/build.gradle.kts +++ b/schematicbrushreborn-core/build.gradle.kts @@ -12,19 +12,16 @@ dependencies { exclude("org.jetbrains") exclude("org.intellij") } - compileOnly("org.jetbrains", "annotations", "24.0.1") - compileOnly("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2") - compileOnly("com.fasterxml.jackson.core:jackson-core:2.14.2") - compileOnly("com.fasterxml.jackson.core:jackson-databind:2.14.2") - compileOnly("net.kyori:adventure-platform-bukkit:4.3.0") - compileOnly("net.kyori:adventure-text-minimessage:4.13.1") + compileOnly(libs.jetbrains.annotations) + compileOnly(libs.jackson.yaml) + compileOnly(libs.adventure.bukkit) + compileOnly(libs.adventure.minimessage) testImplementation(project(":schematicbrushreborn-api")) - testImplementation("org.jetbrains", "annotations", "24.0.1") + testImplementation(libs.jetbrains.annotations) testImplementation("org.mockito", "mockito-core", "5.3.1") - testImplementation("com.fasterxml.jackson.core", "jackson-databind", "2.14.2") + testImplementation(libs.jackson.databind) } - publishData { useInternalEldoNexusRepos() publishComponent("java") diff --git a/schematicbrushreborn-paper-legacy/build.gradle.kts b/schematicbrushreborn-paper-legacy/build.gradle.kts index 8c458036..f361cd99 100644 --- a/schematicbrushreborn-paper-legacy/build.gradle.kts +++ b/schematicbrushreborn-paper-legacy/build.gradle.kts @@ -1,17 +1,15 @@ plugins { - id("com.github.johnrengelman.shadow") version "8.1.1" - id("net.minecrell.plugin-yml.bukkit") version "0.5.3" + alias(libs.plugins.pluginyml.bukkit) + alias(libs.plugins.shadow) } val shadebase = "de.eldoria.schematicbrush.libs." dependencies { implementation(project(":schematicbrushreborn-core")) - implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2") - implementation("com.fasterxml.jackson.core:jackson-core:2.14.2") - implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") - implementation("net.kyori:adventure-platform-bukkit:4.3.0") - implementation("net.kyori:adventure-text-minimessage:4.13.1") + implementation(libs.bundles.jackson) + implementation(libs.adventure.bukkit) + implementation(libs.adventure.minimessage) } publishData { diff --git a/schematicbrushreborn-paper/build.gradle.kts b/schematicbrushreborn-paper/build.gradle.kts index dc2f8caf..b257df87 100644 --- a/schematicbrushreborn-paper/build.gradle.kts +++ b/schematicbrushreborn-paper/build.gradle.kts @@ -1,16 +1,14 @@ plugins { - id("net.minecrell.plugin-yml.bukkit") version "0.5.3" - id("com.github.johnrengelman.shadow") version "8.1.1" + alias(libs.plugins.pluginyml.bukkit) + alias(libs.plugins.shadow) } val shadebase = "de.eldoria.schematicbrush.libs." dependencies { implementation(project(":schematicbrushreborn-core")) - bukkitLibrary("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2") - bukkitLibrary("com.fasterxml.jackson.core:jackson-core:2.14.2") - bukkitLibrary("com.fasterxml.jackson.core:jackson-databind:2.14.2") - bukkitLibrary("net.kyori", "adventure-platform-bukkit", "4.3.0") + bukkitLibrary(libs.bundles.jackson) + bukkitLibrary(libs.adventure.bukkit) } publishData { diff --git a/schematicbrushreborn-spigot/build.gradle.kts b/schematicbrushreborn-spigot/build.gradle.kts index 94ec011c..757ed5bb 100644 --- a/schematicbrushreborn-spigot/build.gradle.kts +++ b/schematicbrushreborn-spigot/build.gradle.kts @@ -1,16 +1,14 @@ plugins { - id("net.minecrell.plugin-yml.bukkit") version "0.5.3" - id("com.github.johnrengelman.shadow") version "8.1.1" + alias(libs.plugins.pluginyml.bukkit) + alias(libs.plugins.shadow) } val shadebase = "de.eldoria.schematicbrush.libs." dependencies { - bukkitLibrary("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2") - bukkitLibrary("com.fasterxml.jackson.core:jackson-core:2.14.2") - bukkitLibrary("com.fasterxml.jackson.core:jackson-databind:2.14.2") - bukkitLibrary("net.kyori:adventure-platform-bukkit:4.3.0") - bukkitLibrary("net.kyori:adventure-text-minimessage:4.13.1") + bukkitLibrary(libs.jackson.yaml) + bukkitLibrary(libs.adventure.bukkit) + bukkitLibrary(libs.adventure.minimessage) implementation(project(":schematicbrushreborn-core")) } diff --git a/settings.gradle.kts b/settings.gradle.kts index 5caf4071..8e8fd2f6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,18 +1,65 @@ rootProject.name = "schematic-brush-reborn" +include(":") include(":schematicbrushreborn-api") include(":schematicbrushreborn-core") +include("schematicbrushreborn-paper") +include("schematicbrushreborn-paper-legacy") +include("schematicbrushreborn-spigot") -pluginManagement{ - repositories{ +pluginManagement { + repositories { mavenLocal() gradlePluginPortal() - maven{ + maven { name = "EldoNexus" url = uri("https://eldonexus.de/repository/maven-public/") } } } -include("schematicbrushreborn-paper") -include("schematicbrushreborn-paper-legacy") -include("schematicbrushreborn-spigot") + +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + // jackson & serialization + version("jackson", "2.14.2") + library("jackson-databind", "com.fasterxml.jackson.core:jackson-databind:2.15.2") + library("jackson-annotations", "com.fasterxml.jackson.core:jackson-annotations:2.15.2") + library("jackson-yaml", "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2") + library("snakeyaml", "org.yaml:snakeyaml:2.0") + bundle("jackson", listOf("jackson-databind", "jackson-annotations", "jackson-yaml")) + + // adventure + library("adventure-bukkit", "net.kyori:adventure-platform-bukkit:4.3.0") + library("adventure-minimessage", "net.kyori:adventure-text-minimessage:4.14.0") + // utilities + library("eldoutil-legacy", "de.eldoria:eldo-util:1.14.4") + library("eldoutil-jackson", "de.eldoria.util:jackson-configuration:2.0.0-DEV") + library("messageblocker", "de.eldoria:messageblocker:1.1.2") + // misc + library("jetbrains-annotations", "org.jetbrains:annotations:24.0.1") + // minecraft + version("minecraft-latest", "1.20.1-R0.1-SNAPSHOT") + library("paper-latest", "io.papermc.paper", "paper-api").version("minecraft-latest") + library("spigot-latest", "io.papermc.paper", "paper-api").version("minecraft-latest") + bundle("minecraft-latest", listOf("paper-latest", "spigot-latest")) + library("paper-v17", "io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT") + library("spigot-v16", "io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT") + // world edit + library("worldedit", "com.sk89q.worldedit:worldedit-bukkit:7.2.15") + library("fawe-core", "com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.6.3") + library("fawe-bukkit", "com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.6.3") + + // plugins + plugin("publishdata", "de.chojo.publishdata").version("1.2.4") + plugin("spotless", "com.diffplug.spotless").version("6.19.0") + plugin("shadow", "com.github.johnrengelman.shadow").version("8.1.1") + plugin("pluginyml-bukkit", "net.minecrell.plugin-yml.bukkit").version("0.5.3") + //plugin("pluginyml-paper","net.minecrell.plugin-yml.paper").version( "0.5.3") + + } + create("testlibs") { + library("mockbukkit", "com.github.seeseemelk:MockBukkit-v1.19:3.1.0") + } + } +}