From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Sun, 14 Jan 2024 19:51:19 +0900 Subject: [PATCH] Build System Changes diff --git a/build.gradle.kts b/build.gradle.kts index 535b0c6a750cc77fb9340d6e080932f3eb3bde17..3bb91f4d0447fc283c56ffab24cb8e203925ebad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,70 +13,29 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { val alsoShade: Configuration by configurations.creating dependencies { - implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur - // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") - implementation("net.minecrell:terminalconsoleappender:1.3.0") - implementation("net.kyori:adventure-text-serializer-ansi:4.17.0") // Keep in sync with adventureVersion from Paper-API build file - /* - Required to add the missing Log4j2Plugins.dat file from log4j-core - which has been removed by Mojang. Without it, log4j has to classload - 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") // Paper - implementation - log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.19.0") // Paper - Needed to generate meta for our Log4j plugins - runtimeOnly(log4jPlugins.output) - alsoShade(log4jPlugins.output) - implementation("io.netty:netty-codec-haproxy:4.1.97.Final") // Paper - Add support for proxy protocol - // Paper end - implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion - implementation("org.ow2.asm:asm-commons:9.7.1") - implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files - implementation("commons-lang:commons-lang:2.6") - runtimeOnly("org.xerial:sqlite-jdbc:3.46.0.0") - runtimeOnly("com.mysql:mysql-connector-j:8.4.0") - runtimeOnly("com.lmax:disruptor:3.4.4") // Paper - // Paper start - Use Velocity cipher - implementation("com.velocitypowered:velocity-native:3.3.0-SNAPSHOT") { - isTransitive = false - } - // Paper end - Use Velocity cipher - - 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") - - // Pufferfish start - implementation("org.yaml:snakeyaml:1.32") - implementation ("com.github.carleslc.Simple-YAML:Simple-Yaml:1.8.4") { // Purpur - exclude(group="org.yaml", module="snakeyaml") - } - // Pufferfish end - - implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur - implementation("org.mozilla:rhino-engine:1.7.14") // Purpur - implementation("dev.omega24:upnp4j:1.0") // Purpur - - testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - 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") - testImplementation("org.ow2.asm:asm-tree:9.7.1") - testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // Paper - CartesianTest - implementation("net.neoforged:srgutils:1.0.9") // Paper - mappings handling - implementation("net.neoforged:AutoRenamingTool:2.0.3") // Paper - remap plugins - // Paper start - Remap reflection - val reflectionRewriterVersion = "0.0.3" - implementation("io.papermc:reflection-rewriter:$reflectionRewriterVersion") - implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion") - implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion") - // Paper end - Remap reflection - // Paper start - spark - implementation("me.lucko:spark-api:0.1-20240720.200737-2") - implementation("me.lucko:spark-paper:1.10.105-SNAPSHOT") - // Paper end - spark + // Plazma start - Build System Changes + implementation(project(":${rootProject.providers.gradleProperty("brandName").get().lowercase()}-api")) + implementation(common.snakeyaml) + implementation(common.asm.commons) + implementation(common.log4j.core) + implementation(common.log4j.iostreams) + implementation(common.commons.lang2) + implementation(common.adventure.serializer.ansi) + implementation(server.velocity) { isTransitive = false } + implementation(server.simpleyaml) { exclude(group="org.yaml", module="snakeyaml") } + implementation(server.bundles.implementation) + + log4jPlugins.annotationProcessorConfigurationName(common.log4j.core) + alsoShade(log4jPlugins.output) // Plazma - Diff on patch + runtimeOnly(log4jPlugins.output) // Plazma - Diff on patch + + runtimeOnly(common.maven.provider) + runtimeOnly(common.bundles.maven) + runtimeOnly(server.bundles.runtime) + + testImplementation(common.bundles.test) + testImplementation(server.bundles.test) + // Plazma end - Build System Changes } paperweight { @@ -104,14 +63,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", - "Implementation-Title" to "Purpur", // Pufferfish // Purpur + "Implementation-Title" to rootProject.providers.gradleProperty("brandName").get(), // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding "Implementation-Version" to implementationVersion, "Implementation-Vendor" to date, // Paper - "Specification-Title" to "Purpur", // Pufferfish // Purpur + "Specification-Title" to rootProject.providers.gradleProperty("brandName").get(), // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding "Specification-Version" to project.version, - "Specification-Vendor" to "Purpur Team", // Pufferfish // Purpur - "Brand-Id" to "purpurmc:purpur", // Pufferfish // Purpur - "Brand-Name" to "Purpur", // Pufferfish // Purpur + "Specification-Vendor" to rootProject.providers.gradleProperty("providerName").get(), // Purpur // Plazma - Fork-friendly Rebranding + "Brand-Id" to rootProject.providers.gradleProperty("brandKey").get(), // Purpur // Plazma - Fork-friendly Rebranding + "Brand-Name" to rootProject.providers.gradleProperty("brandName").get(), // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper