diff --git a/divinemc-api/build.gradle.kts.patch b/divinemc-api/build.gradle.kts.patch index 2858982..0bcaf20 100644 --- a/divinemc-api/build.gradle.kts.patch +++ b/divinemc-api/build.gradle.kts.patch @@ -1,5 +1,18 @@ --- a/purpur-api/build.gradle.kts +++ b/purpur-api/build.gradle.kts +@@ -41,9 +_,9 @@ + dependencies { + + // api dependencies are listed transitively to API consumers +- api("com.google.guava:guava:33.3.1-jre") +- api("com.google.code.gson:gson:2.11.0") +- api("org.yaml:snakeyaml:2.2") ++ api("com.google.guava:guava:33.4.0-jre") // DivineMC - Bump dependencies ++ api("com.google.code.gson:gson:2.12.1") // DivineMC - Bump dependencies ++ api("org.yaml:snakeyaml:2.3") // DivineMC - Bump dependencies + api("org.joml:joml:1.10.8") { + isTransitive = false // https://github.com/JOML-CI/JOML/issues/352 + } @@ -54,6 +_,7 @@ api("org.apache.logging.log4j:log4j-api:$log4jVersion") api("org.slf4j:slf4j-api:$slf4jVersion") @@ -8,6 +21,34 @@ // Deprecate bungeecord-chat in favor of adventure api("net.md-5:bungeecord-chat:$bungeeCordChatVersion-deprecated+build.19") { +@@ -77,19 +_,21 @@ + compileOnly(annotations) + testCompileOnly(annotations) + +- val checkerQual = "org.checkerframework:checker-qual:3.33.0" ++ val checkerQual = "org.checkerframework:checker-qual:3.49.1" // DivineMC - Bump dependencies + compileOnlyApi(checkerQual) + testCompileOnly(checkerQual) + + api("org.jspecify:jspecify:1.0.0") + + // Test dependencies +- testImplementation("org.apache.commons:commons-lang3:3.12.0") +- testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") +- testImplementation("org.hamcrest:hamcrest:2.2") +- testImplementation("org.mockito:mockito-core:5.14.1") ++ // DivineMC start - Bump dependencies ++ testImplementation("org.apache.commons:commons-lang3:3.17.0") ++ testImplementation("org.junit.jupiter:junit-jupiter:5.12.1") ++ testImplementation("org.hamcrest:hamcrest:3.0") ++ testImplementation("org.mockito:mockito-core:5.16.1") ++ // DivineMC end - Bump dependencies + testImplementation("org.ow2.asm:asm-tree:9.7.1") +- mockitoAgent("org.mockito:mockito-core:5.14.1") { isTransitive = false } // configure mockito agent that is needed in newer java versions ++ mockitoAgent("org.mockito:mockito-core:5.16.1") { isTransitive = false } // configure mockito agent that is needed in newer java versions // DivineMC - Bump dependencies + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + } + @@ -104,17 +_,21 @@ java { srcDir(generatedApiPath) @@ -30,11 +71,10 @@ } } } -@@ -161,6 +_,15 @@ - pomProps.get().asFile.writeText("version=$projectVersion") +@@ -162,6 +_,15 @@ } } -+ + +// DivineMC start - Hide unnecessary compilation warnings +tasks.withType { + val compilerArgs = options.compilerArgs @@ -43,6 +83,29 @@ + compilerArgs.add("-Xlint:-dep-ann") +} +// DivineMC end - Hide unnecessary compilation warnings - ++ tasks.jar { from(generateApiVersioningFile.map { it.outputs.files.singleFile }) { + into("META-INF/maven/${project.group}/${project.name}") +@@ -187,8 +_,8 @@ + options.use() + options.isDocFilesSubDirs = true + options.links( +- "https://guava.dev/releases/33.3.1-jre/api/docs/", +- "https://javadoc.io/doc/org.yaml/snakeyaml/2.2/", ++ "https://guava.dev/releases/33.4.0-jre/api/docs/", // DivineMC - Bump dependencies ++ "https://javadoc.io/doc/org.yaml/snakeyaml/2.3/", // DivineMC - Bump dependencies + "https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/", + "https://javadoc.io/doc/org.joml/joml/1.10.8/", + "https://www.javadoc.io/doc/com.google.code.gson/gson/2.11.0", +@@ -201,8 +_,8 @@ + "https://jd.advntr.dev/text-serializer-plain/$adventureVersion/", + "https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/", + "https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/", +- "https://javadoc.io/doc/org.apache.logging.log4j/log4j-api/$log4jVersion/", +- "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", ++ "https://javadoc.io/doc/org.apache.logging.log4j/log4j-api/2.20.0/", // DivineMC - Bump dependencies ++ "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.22", // DivineMC - Bump dependencies + ) + options.tags("apiNote:a:API Note:") + diff --git a/divinemc-server/build.gradle.kts.patch b/divinemc-server/build.gradle.kts.patch index 7af1182..4a6b74d 100644 --- a/divinemc-server/build.gradle.kts.patch +++ b/divinemc-server/build.gradle.kts.patch @@ -48,21 +48,15 @@ } } -@@ -142,7 +_,7 @@ +@@ -142,10 +_,22 @@ } dependencies { - implementation(project(":purpur-api")) + implementation(project(":divinemc-api")) // DivineMC - implementation("ca.spottedleaf:concurrentutil:0.0.3") - implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ - implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -177,6 +_,17 @@ - implementation("org.mozilla:rhino-engine:1.7.14") // Purpur - implementation("dev.omega24:upnp4j:1.0") // Purpur - ++ + // DivineMC start -+ implementation("org.yaml:snakeyaml:2.4") ++ implementation("org.yaml:snakeyaml:2.3") + implementation ("me.carleslc.Simple-YAML:Simple-Yaml:1.8.4") { + exclude(group="org.yaml", module="snakeyaml") + } @@ -72,9 +66,69 @@ + implementation("org.lz4:lz4-java:1.8.0") + // DivineMC end + + implementation("ca.spottedleaf:concurrentutil:0.0.3") +- implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ +- implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 ++ implementation("org.jline:jline-terminal-ffm:3.29.0") // use ffm on java 22+ // DivineMC - Bump dependencies ++ implementation("org.jline:jline-terminal-jni:3.29.0") // fall back to jni on java 21 // DivineMC - Bump dependencies + implementation("net.minecrell:terminalconsoleappender:1.3.0") + implementation("net.kyori:adventure-text-serializer-ansi:4.18.0") // Keep in sync with adventureVersion from Paper-API build file + +@@ -155,16 +_,16 @@ + all its classes to check if they are plugins. + Scanning takes about 1-2 seconds so adding this speeds up the server start. + */ +- implementation("org.apache.logging.log4j:log4j-core:2.19.0") +- log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.19.0") // Needed to generate meta for our Log4j plugins ++ implementation("org.apache.logging.log4j:log4j-core:2.24.3") // DivineMC - Bump dependencies ++ log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.24.3") // Needed to generate meta for our Log4j plugins // DivineMC - Bump dependencies + runtimeOnly(log4jPlugins.output) + alsoShade(log4jPlugins.output) + + implementation("com.velocitypowered:velocity-native:3.4.0-SNAPSHOT") { + isTransitive = false + } +- implementation("io.netty:netty-codec-haproxy:4.1.115.Final") // Add support for proxy protocol +- implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") ++ implementation("io.netty:netty-codec-haproxy:4.1.119.Final") // Add support for proxy protocol // DivineMC - Bump dependencies ++ implementation("org.apache.logging.log4j:log4j-iostreams:2.24.3") // DivineMC - Bump dependencies + implementation("org.ow2.asm:asm-commons:9.7.1") + implementation("org.spongepowered:configurate-yaml:4.2.0-20250225.064233-199") + implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot. +@@ -173,22 +_,24 @@ + runtimeOnly("com.mysql:mysql-connector-j:9.1.0") + runtimeOnly("com.lmax:disruptor:3.4.4") + +- implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur +- implementation("org.mozilla:rhino-engine:1.7.14") // Purpur ++ implementation("org.mozilla:rhino-runtime:1.7.15") // Purpur // DivineMC - Bump dependencies ++ implementation("org.mozilla:rhino-engine:1.7.15") // Purpur // DivineMC - Bump dependencies + implementation("dev.omega24:upnp4j:1.0") // Purpur + runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6") runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") + +- testImplementation("io.github.classgraph:classgraph:4.8.47") // For mob goal test +- testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") +- testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") +- testImplementation("org.hamcrest:hamcrest:2.2") +- testImplementation("org.mockito:mockito-core:5.14.1") +- mockitoAgent("org.mockito:mockito-core:5.14.1") { isTransitive = false } // Configure mockito agent that is needed in newer java versions ++ // DivineMC start - Bump dependencies ++ testImplementation("io.github.classgraph:classgraph:4.8.179") // For mob goal test ++ testImplementation("org.junit.jupiter:junit-jupiter:5.12.1") ++ testImplementation("org.junit.platform:junit-platform-suite-engine:1.12.1") ++ testImplementation("org.hamcrest:hamcrest:3.0") ++ testImplementation("org.mockito:mockito-core:5.16.1") ++ mockitoAgent("org.mockito:mockito-core:5.16.1") { isTransitive = false } // Configure mockito agent that is needed in newer java versions ++ // DivineMC end - Bump dependencies + testImplementation("org.ow2.asm:asm-tree:9.7.1") +- testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // CartesianTest ++ testImplementation("org.junit-pioneer:junit-pioneer:2.3.0") // CartesianTest // DivineMC - Bump dependencies + + implementation("net.neoforged:srgutils:1.0.9") // Mappings handling + implementation("net.neoforged:AutoRenamingTool:2.0.3") // Remap plugins @@ -204,30 +_,41 @@ implementation("me.lucko:spark-paper:1.10.119-20241121.092015-1") }