diff --git a/build.gradle.kts b/build.gradle.kts index cd1205652..0cb562ff7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,14 +1,15 @@ plugins { + java `java-library` `maven-publish` - id("com.gradleup.shadow") version "9.0.0-beta4" + id("com.gradleup.shadow") version "9.0.2" } description = "Fork of the first authentication plugin for the Bukkit API!" java { withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_1_8 + toolchain.languageVersion = JavaLanguageVersion.of(17) } tasks.withType { @@ -17,14 +18,11 @@ tasks.withType { repositories { mavenCentral() - mavenLocal() - // PaperMC - maven("https://papermc.io/repo/repository/maven-public/") + maven("https://repo.papermc.io/repository/maven-public/") maven("https://repo.opencollab.dev/main/") maven("https://repo.opencollab.dev/maven-snapshots/") maven("https://s01.oss.sonatype.org/content/repositories/snapshots/") maven("https://repository.apache.org/content/repositories/snapshots/") - maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots") maven("https://repo.codemc.io/repository/maven-public/") maven("https://repo.essentialsx.net/releases/") maven("https://repo.dmulloy2.net/nexus/repository/releases/") @@ -35,14 +33,10 @@ repositories { } dependencies { - // Spigot API, https://www.spigotmc.org/ - compileOnly("org.spigotmc:spigot-api:1.20.6-R0.1-SNAPSHOT") - // Adventure API - implementation(libs.adventure.text.minimessage) - implementation(libs.adventure.platform.bukkit) - implementation(libs.adventure.text.serializer.gson) - // Java Libraries - compileOnly("org.geysermc.floodgate:api:2.2.2-SNAPSHOT") + // Paper API, https://papermc.io/ + compileOnly(libs.paper.api) + // Floodgate + compileOnly(libs.floodgate) // Jalu Injector implementation(libs.injector) // String comparison library. Used for dynamic help system. @@ -61,11 +55,7 @@ dependencies { // Libby implementation(libs.libby.bukkit) // Database Connection Pool - implementation(libs.hikaricp) { - exclude("org.slf4j", "slf4j-api") - } - // HikariCP Logger - implementation(libs.slf4j.simple) // We can't update to 2.x as long as we use HikariCP for java 8 + implementation(libs.hikaricp) // PBKDF2 implementation implementation(libs.pbkdf2) // MySQL connector, shaded into the legacy jar @@ -75,41 +65,36 @@ dependencies { implementation(libs.argon2.jvm.nolibs) // TOTP client implementation(libs.googleauth) - // Keep in sync with spigot 1.19 - implementation(libs.guava) { - exclude("org.checkerframework", "checker-qual") - } - implementation(libs.gson) // ConfigMe implementation(libs.configme) { exclude("org.yaml", "snakeyaml") } // bStats metrics - implementation("org.bstats:bstats-bukkit:3.0.2") + implementation(libs.bstats) // ProtocolLib - compileOnly("com.comphenix.protocol:ProtocolLib:5.3.0") + compileOnly(libs.protocollib) // LuckPerms plugin - compileOnly("net.luckperms:api:5.4") + compileOnly(libs.luckperms) // PermissionsEx plugin - compileOnly("ru.tehkode:PermissionsEx:1.23.5-SNAPSHOT") + compileOnly(libs.pex) // zPermissions plugin - compileOnly("org.tyrannyofheaven.bukkit:zPermissions:1.4.3-SNAPSHOT") { + compileOnly(libs.zpermissions) { exclude("org.avaje", "ebean") } - // Vault, https://dev.bukkit.org/bukkit-plugins/vault/ - compileOnly("net.milkbowl.vault:VaultAPI:1.7") - // Multi World plugin, https://www.spigotmc.org/resources/multiverse-core.390/ - compileOnly("com.onarandombox.multiversecore:multiverse-core:4.3.14") + // Vault + compileOnly(libs.vault) + // Multi World plugin + compileOnly(libs.multiverse) // EssentialsX plugin - compileOnly("net.essentialsx:EssentialsX:2.20.1") { + compileOnly(libs.essentialsx) { exclude("io.papermc", "paperlib") } // BCrypt implementation implementation(libs.bcrypt) // PlaceholderAPI - compileOnly("me.clip:placeholderapi:2.11.6") - // XAuth, another authentication plugin, required by the database converter - compileOnly("de.luricos.bukkit:xAuth:2.6.1-SNAPSHOT") + compileOnly(libs.placeholderapi) + // XAuth plugin + compileOnly(libs.xauth) implementation(libs.datasourcecolumns) implementation(libs.postgresql) { exclude("org.checkerframework", "checker-qual") @@ -142,18 +127,15 @@ tasks { relocate("org.apache.commons", "fr.xephi.authme.libs.org.apache.commons") relocate("waffle", "fr.xephi.authme.libs.waffle") relocate("com.github.benmanes.caffeine", "fr.xephi.authme.libs.com.github.benmanes.caffeine") - relocate("com.google.common", "fr.xephi.authme.libs.com.google.common") relocate("com.google.thirdparty", "fr.xephi.authme.libs.com.google.thirdparty") relocate("com.google.j2objc", "fr.xephi.authme.libs.com.google.j2objc") relocate("com.google.errorprone", "fr.xephi.authme.libs.com.google.errorprone") - relocate("com.google.gson", "fr.xephi.authme.libs.com.google.gson") relocate("org.apache.http", "fr.xephi.authme.libs.org.apache.http") relocate("org.apache.commons", "fr.xephi.authme.libs.org.apache.commons") relocate("waffle", "fr.xephi.authme.libs.waffle") relocate("com.github.benmanes.caffeine", "fr.xephi.authme.libs.com.github.benmanes.caffeine") relocate("ch.jalu", "fr.xephi.authme.libs.ch.jalu") relocate("com.zaxxer.hikari", "fr.xephi.authme.libs.com.zaxxer.hikari") - relocate("org.slf4j", "fr.xephi.authme.libs.org.slf4j") relocate("com.maxmind.db", "fr.xephi.authme.libs.com.maxmind.db") relocate("com.ice.tar", "fr.xephi.authme.libs.com.icetar.tar") relocate("net.ricecode.similarity", "fr.xephi.authme.libs.ricecode.net.ricecode.similarity") @@ -175,9 +157,6 @@ tasks { relocate("io.netty", "fr.xephi.authme.libs.io.netty") relocate("org.apache.commons.validator", "fr.xephi.authme.libs.org.apache.commons.validator") relocate("com.alessiodp.libby", "fr.xephi.authme.libs.com.alessiodp.libby") - relocate("net.kyori.adventure", "fr.xephi.authme.libs.net.kyori.adventure") - relocate("net.kyori.examination", "fr.xephi.authme.libs.net.kyori.examination") - relocate("net.kyori.option", "fr.xephi.authme.libs.net.kyori.option") } } diff --git a/gradle.properties b/gradle.properties index 71007ff5f..4bc8bdbcb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ group=fr.xephi version=5.7.0-FORK-b53 mainClass = fr.xephi.authme.AuthMe -authors = [sgdc3, games647, Hex3l, krusic22] +authors = [sgdc3, games647, Hex3l, krusic22] \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a5afecdc7..afcb11dc3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -adventureApi = "4.18.0" -adventurePlatform = "4.3.4" +paper-api = "1.20.4-R0.1-SNAPSHOT" +floodgate = "2.2.4-SNAPSHOT" injector = "1.0" string-similarity = "1.0.0" maxmind-db-gson = "2.0.3" @@ -8,15 +8,12 @@ javatar = "2.5" commons-email = "1.6-SNAPSHOT" log4j-core = "2.20.0" libby-bukkit = "2.0.0-SNAPSHOT" -hikaricp = "4.0.3" -slf4j-simple = "1.7.36" +hikaricp = "7.0.2" pbkdf2 = "1.1.4" mysql-connector-j = "9.1.0" mariadb-java-client = "3.5.1" argon2-jvm-nolibs = "2.11" googleauth = "1.5.0" -guava = "33.2.1-jre" -gson = "2.10.1" configme = "1.3.1" bcrypt = "0.10.2" datasourcecolumns = "0.1.1-SNAPSHOT" @@ -25,11 +22,20 @@ checker-qual = "3.48.0" universalscheduler = "0.1.6" sqlite-jdbc = "3.47.1.0" h2 = "2.2.224" +bstats = "3.0.2" +protocollib = "5.4.0" +luckperms = "5.4" +pex = "1.23.5-SNAPSHOT" +zpermissions = "1.4.3-SNAPSHOT" +vault = "1.7" +multiverse = "4.3.14" +essentialsx = "2.20.1" +placeholderapi = "2.11.6" +xauth = "2.6.1-SNAPSHOT" [libraries] -adventure-text-minimessage = { group = "net.kyori", name = "adventure-text-minimessage", version.ref = "adventureApi" } -adventure-platform-bukkit = { group = "net.kyori", name = "adventure-platform-bukkit", version.ref = "adventurePlatform" } -adventure-text-serializer-gson = { group = "net.kyori", name = "adventure-text-serializer-gson", version.ref = "adventureApi" } +paper-api = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper-api" } +floodgate = { group = "org.geysermc.floodgate", name = "api", version.ref = "floodgate" } injector = { group = "ch.jalu", name = "injector", version.ref = "injector" } string-similarity = { group = "net.ricecode", name = "string-similarity", version.ref = "string-similarity" } maxmind-db-gson = { group = "com.maxmind.db", name = "maxmind-db-gson", version.ref = "maxmind-db-gson" } @@ -38,14 +44,11 @@ commons-email = { group = "org.apache.commons", name = "commons-email", version. log4j-core = { group = "org.apache.logging.log4j", name = "log4j-core", version.ref = "log4j-core" } libby-bukkit = { group = "com.alessiodp.libby", name = "libby-bukkit", version.ref = "libby-bukkit" } hikaricp = { group = "com.zaxxer", name = "HikariCP", version.ref = "hikaricp" } -slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j-simple" } pbkdf2 = { group = "de.rtner", name = "PBKDF2", version.ref = "pbkdf2" } mysql-connector-j = { group = "com.mysql", name = "mysql-connector-j", version.ref = "mysql-connector-j" } mariadb-java-client = { group = "org.mariadb.jdbc", name = "mariadb-java-client", version.ref = "mariadb-java-client" } argon2-jvm-nolibs = { group = "de.mkammerer", name = "argon2-jvm-nolibs", version.ref = "argon2-jvm-nolibs" } googleauth = { group = "com.warrenstrange", name = "googleauth", version.ref = "googleauth" } -guava = { group = "com.google.guava", name = "guava", version.ref = "guava" } -gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } configme = { group = "ch.jalu", name = "configme", version.ref = "configme" } bcrypt = { group = "at.favre.lib", name = "bcrypt", version.ref = "bcrypt" } datasourcecolumns = { group = "ch.jalu", name = "datasourcecolumns", version.ref = "datasourcecolumns" } @@ -53,4 +56,14 @@ postgresql = { group = "org.postgresql", name = "postgresql", version.ref = "pos checker-qual = { group = "org.checkerframework", name = "checker-qual", version.ref = "checker-qual" } universalscheduler = { group = "com.github.Anon8281", name = "UniversalScheduler", version.ref = "universalscheduler" } sqlite-jdbc = { group = "org.xerial", name = "sqlite-jdbc", version.ref = "sqlite-jdbc" } -h2 = { group = "com.h2database", name = "h2", version.ref = "h2" } \ No newline at end of file +h2 = { group = "com.h2database", name = "h2", version.ref = "h2" } +bstats = { group = "org.bstats", name = "bstats-bukkit", version.ref = "bstats" } +protocollib = { group = "net.dmulloy2", name = "ProtocolLib", version.ref = "protocollib" } +luckperms = { group = "net.luckperms", name = "api", version.ref = "luckperms" } +pex = { group = "ru.tehkode", name = "PermissionsEx", version.ref = "pex" } +zpermissions = { group = "org.tyrannyofheaven.bukkit", name = "zPermissions", version.ref = "zpermissions" } +vault = { group = "net.milkbowl.vault", name = "VaultAPI", version.ref = "vault" } +multiverse = { group = "com.onarandombox.multiversecore", name = "multiverse-core", version.ref = "multiverse" } +essentialsx = { group = "net.essentialsx", name = "EssentialsX", version.ref = "essentialsx" } +placeholderapi = { group = "me.clip", name = "placeholderapi", version.ref = "placeholderapi" } +xauth = { group = "de.luricos.bukkit", name = "xAuth", version.ref = "xauth" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e18bc253b..2a84e188b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME