Add Paper version back to manifest, add `runShadow`, `runReobf`, and `runDev` tasks for testing
This commit is contained in:
parent
a22a0e56ef
commit
9188180d7a
|
@ -17,13 +17,15 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..3e05459f27c4c5697ae65da504d67a6a
|
||||||
/.project
|
/.project
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..b038528ba5ab9790a6bdb1c51ff072f9b8a64bf8
|
index 0000000000000000000000000000000000000000..ccb67fe90e25010f7c8ca168d60d096ef95c4429
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -0,0 +1,84 @@
|
@@ -0,0 +1,121 @@
|
||||||
+import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer
|
+import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer
|
||||||
+import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
|
+import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
|
||||||
+import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
|
+import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
|
||||||
|
+import io.papermc.paperweight.util.Git
|
||||||
|
+import io.papermc.paperweight.util.path
|
||||||
+import org.gradle.api.file.FileTreeElement
|
+import org.gradle.api.file.FileTreeElement
|
||||||
+import shadow.org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor.PLUGIN_CACHE_FILE
|
+import shadow.org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor.PLUGIN_CACHE_FILE
|
||||||
+import java.util.Date
|
+import java.util.Date
|
||||||
|
@ -64,9 +66,13 @@ index 0000000000000000000000000000000000000000..b038528ba5ab9790a6bdb1c51ff072f9
|
||||||
+
|
+
|
||||||
+tasks.jar {
|
+tasks.jar {
|
||||||
+ manifest {
|
+ manifest {
|
||||||
|
+ val git = Git(rootProject.layout.projectDirectory.path)
|
||||||
|
+ val gitHashCmd = git("rev-parse", "HEAD")
|
||||||
|
+ val gitHash = gitHashCmd.getText().substring(0, 7)
|
||||||
+ attributes(mapOf(
|
+ attributes(mapOf(
|
||||||
+ "Main-Class" to "org.bukkit.craftbukkit.Main",
|
+ "Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||||
+ "Implementation-Title" to "CraftBukkit",
|
+ "Implementation-Title" to "CraftBukkit",
|
||||||
|
+ "Implementation-Version" to "git-Paper-\"$gitHash\"",
|
||||||
+ "Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper
|
+ "Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper
|
||||||
+ "Specification-Title" to "Bukkit",
|
+ "Specification-Title" to "Bukkit",
|
||||||
+ "Specification-Version" to project.version,
|
+ "Specification-Version" to project.version,
|
||||||
|
@ -100,6 +106,37 @@ index 0000000000000000000000000000000000000000..b038528ba5ab9790a6bdb1c51ff072f9
|
||||||
+ exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
+ exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+fun TaskContainer.registerRunTask(name: String, block: JavaExec.() -> Unit): TaskProvider<JavaExec> =
|
||||||
|
+ register<JavaExec>(name) {
|
||||||
|
+ group = "Paper"
|
||||||
|
+ workingDir = rootProject.projectDir.resolve("run")
|
||||||
|
+ doFirst {
|
||||||
|
+ if (!workingDir.exists()) workingDir.mkdir()
|
||||||
|
+ }
|
||||||
|
+ standardInput = System.`in`
|
||||||
|
+ args("--nogui")
|
||||||
|
+ systemProperty("net.kyori.adventure.text.warnWhenLegacyFormattingDetected", true)
|
||||||
|
+ block(this)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+tasks.registerRunTask("runShadow") {
|
||||||
|
+ description = "Spin up a test server from the shadowJar archiveFile"
|
||||||
|
+ classpath(tasks.shadowJar.flatMap { it.archiveFile })
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+tasks.registerRunTask("runReobf") {
|
||||||
|
+ description = "Spin up a test server from the reobfJar output jar"
|
||||||
|
+ classpath(tasks.reobfJar.flatMap { it.outputJar })
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+tasks.registerRunTask("runDev") {
|
||||||
|
+ description = "Spin up a non-shaded non-remapped test server"
|
||||||
|
+ classpath = project.convention.getPlugin(JavaPluginConvention::class.java)
|
||||||
|
+ .sourceSets.getByName("main").runtimeClasspath
|
||||||
|
+ main = "org.bukkit.craftbukkit.Main"
|
||||||
|
+ systemProperty("disable.watchdog", true)
|
||||||
|
+}
|
||||||
|
+
|
||||||
+class ModifiedLog4j2PluginsCacheFileTransformer : Transformer by Log4j2PluginsCacheFileTransformer() {
|
+class ModifiedLog4j2PluginsCacheFileTransformer : Transformer by Log4j2PluginsCacheFileTransformer() {
|
||||||
+ override fun canTransformResource(element: FileTreeElement): Boolean {
|
+ override fun canTransformResource(element: FileTreeElement): Boolean {
|
||||||
+ return PLUGIN_CACHE_FILE == element.name || element.name == "Log4j2Plugins.dat"
|
+ return PLUGIN_CACHE_FILE == element.name || element.name == "Log4j2Plugins.dat"
|
||||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Build system changes
|
||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index b038528ba5ab9790a6bdb1c51ff072f9b8a64bf8..25fa56d26bd88e4647b4c25ad6783ff90a05b2c4 100644
|
index ccb67fe90e25010f7c8ca168d60d096ef95c4429..f353524ada2caa05824b1e7ded17a1c00473d906 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -20,21 +20,24 @@ repositories {
|
@@ -22,21 +22,24 @@ repositories {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":Paper-API"))
|
implementation(project(":Paper-API"))
|
||||||
implementation("jline:jline:2.12.1")
|
implementation("jline:jline:2.12.1")
|
||||||
|
@ -37,7 +37,7 @@ index b038528ba5ab9790a6bdb1c51ff072f9b8a64bf8..25fa56d26bd88e4647b4c25ad6783ff9
|
||||||
testImplementation("junit:junit:4.13.1")
|
testImplementation("junit:junit:4.13.1")
|
||||||
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
||||||
}
|
}
|
||||||
@@ -47,7 +50,8 @@ tasks.jar {
|
@@ -53,7 +56,8 @@ tasks.jar {
|
||||||
"Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper
|
"Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper
|
||||||
"Specification-Title" to "Bukkit",
|
"Specification-Title" to "Bukkit",
|
||||||
"Specification-Version" to project.version,
|
"Specification-Version" to project.version,
|
||||||
|
@ -47,7 +47,7 @@ index b038528ba5ab9790a6bdb1c51ff072f9b8a64bf8..25fa56d26bd88e4647b4c25ad6783ff9
|
||||||
))
|
))
|
||||||
for (tld in listOf("net", "com", "org")) {
|
for (tld in listOf("net", "com", "org")) {
|
||||||
attributes(mapOf(
|
attributes(mapOf(
|
||||||
@@ -59,7 +63,7 @@ tasks.jar {
|
@@ -65,7 +69,7 @@ tasks.jar {
|
||||||
|
|
||||||
tasks.shadowJar {
|
tasks.shadowJar {
|
||||||
listOf(
|
listOf(
|
||||||
|
|
Loading…
Reference in New Issue