aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason <[email protected]>2021-08-17 17:11:04 -0500
committerGitHub <[email protected]>2021-08-17 17:11:04 -0500
commitfa184f7429b4ec90341d39ee993ae1bc8f75b246 (patch)
treea64f3e4a6bff754d0a1a3ae046ca38a35053b6b5
parentf2471d20b4b35d932b58eccd9b87877e7b6d58aa (diff)
downloadPaper-fa184f7429b4ec90341d39ee993ae1bc8f75b246.tar.gz
Paper-fa184f7429b4ec90341d39ee993ae1bc8f75b246.zip
Setup dev bundle publishing (#6163)
-rw-r--r--build.gradle.kts69
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin59203 -> 59536 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rwxr-xr-xgradlew2
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch50
-rw-r--r--patches/server/0003-Build-system-changes.patch26
-rw-r--r--patches/server/0712-Deobfuscate-stacktraces-in-log-messages-crash-report.patch4
7 files changed, 101 insertions, 52 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 3d8830b0db..c75b3bcc68 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,11 +1,13 @@
plugins {
java
+ `maven-publish`
id("com.github.johnrengelman.shadow") version "7.0.0" apply false
- id("io.papermc.paperweight.core") version "1.1.9"
+ id("io.papermc.paperweight.core") version "1.1.10"
}
allprojects {
apply(plugin = "java")
+ apply(plugin = "maven-publish")
java {
toolchain {
@@ -15,9 +17,6 @@ allprojects {
}
subprojects {
- apply(plugin = "java")
- apply(plugin = "maven-publish")
-
tasks.withType<JavaCompile> {
options.encoding = Charsets.UTF_8.name()
options.release.set(16)
@@ -29,16 +28,6 @@ subprojects {
filteringCharset = Charsets.UTF_8.name()
}
- configure<PublishingExtension> {
- repositories {
- maven {
- name = "paperSnapshots"
- url = uri("https://papermc.io/repo/repository/maven-snapshots/")
- credentials(PasswordCredentials::class)
- }
- }
- }
-
if (name == "Paper-MojangAPI") {
return@subprojects
}
@@ -62,21 +51,11 @@ repositories {
onlyForConfigurations("paperclip")
}
}
- maven("https://maven.quiltmc.org/repository/release/") {
- content {
- onlyForConfigurations("paramMappings", "remapper")
- }
- }
- maven("https://files.minecraftforge.net/maven/") {
- content {
- onlyForConfigurations("decompiler")
- }
- }
}
dependencies {
paramMappings("org.quiltmc:yarn:1.17.1+build.1:mergedv2")
- remapper("org.quiltmc:tiny-remapper:0.4.1")
+ remapper("org.quiltmc:tiny-remapper:0.4.3:fat")
decompiler("net.minecraftforge:forgeflower:1.5.498.12")
paperclip("io.papermc:paperclip:2.0.1")
}
@@ -89,6 +68,10 @@ paperweight {
spigotApiPatchDir.set(layout.projectDirectory.dir("patches/api"))
spigotServerPatchDir.set(layout.projectDirectory.dir("patches/server"))
+ paramMappingsRepo.set("https://maven.quiltmc.org/repository/release/")
+ remapRepo.set("https://maven.quiltmc.org/repository/release/")
+ decompileRepo.set("https://files.minecraftforge.net/maven/")
+
mappingsPatch.set(layout.projectDirectory.file("build-data/mappings-patch.tiny"))
reobfMappingsPatch.set(layout.projectDirectory.file("build-data/reobf-mappings-patch.tiny"))
@@ -108,6 +91,42 @@ paperweight {
}
}
+tasks.generateDevelopmentBundle {
+ apiCoordinates.set("io.papermc.paper:paper-api")
+ mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi")
+ libraryRepositories.set(
+ listOf(
+ "https://libraries.minecraft.net/",
+ "https://maven.quiltmc.org/repository/release/",
+ "https://repo.aikar.co/content/groups/aikar",
+ "https://ci.emc.gs/nexus/content/groups/aikar/",
+ "https://papermc.io/repo/repository/maven-public/"
+ )
+ )
+}
+
+publishing {
+ if (project.hasProperty("publishDevBundle")) {
+ publications.create<MavenPublication>("devBundle") {
+ artifact(tasks.generateDevelopmentBundle) {
+ artifactId = "dev-bundle"
+ }
+ }
+ }
+}
+
+allprojects {
+ publishing {
+ repositories {
+ maven {
+ name = "paperSnapshots"
+ url = uri("https://papermc.io/repo/repository/maven-snapshots/")
+ credentials(PasswordCredentials::class)
+ }
+ }
+ }
+}
+
tasks.register("printMinecraftVersion") {
doLast {
println(providers.gradleProperty("mcVersion").get().trim())
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index e708b1c023..7454180f2a 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 69a9715077..ffed3a254e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index 4f906e0c81..744e882ed5 100755
--- a/gradlew
+++ b/gradlew
@@ -72,7 +72,7 @@ case "`uname`" in
Darwin* )
darwin=true
;;
- MINGW* )
+ MSYS* | MINGW* )
msys=true
;;
NONSTOP* )
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index 122dcbf9a4..e9e0ede753 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -28,10 +28,10 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..e67df300ac722061765278680ff0afc042a6d0cb
+index 0000000000000000000000000000000000000000..71f781083f2f81d064605b2a652181f22b98733d
--- /dev/null
+++ b/build.gradle.kts
-@@ -0,0 +1,144 @@
+@@ -0,0 +1,172 @@
+import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
+import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
+import io.papermc.paperweight.util.Git
@@ -104,19 +104,47 @@ index 0000000000000000000000000000000000000000..e67df300ac722061765278680ff0afc0
+ }
+}
+
-+tasks.shadowJar {
-+ archiveClassifier.set("mojang-mapped")
++relocation {
++ fun cb(pack: String) = "org.bukkit.craftbukkit.libs.$pack"
++
++ sequenceOf(
++ "org.jline:jline-terminal-jansi" to "jline",
++ "commons-codec:commons-codec" to "org.apache.commons.codec",
++ "commons-io:commons-io" to "org.apache.commons.io",
++ "it.unimi.dsi:fastutil" to "it.unimi",
++ "org.apache.commons:commons-lang3" to "org.apache.commons.lang3",
++ "org.ow2.asm:asm" to "org.objectweb.asm"
++ ).forEach { (owner, pack) ->
++ relocate(owner, pack to cb(pack))
++ }
++
++ // runtimeOnly dependencies don't need an owner attached
++ // owner is used for dev bundle generation, runtimeOnly deps are not included in dev bundle
++ sequenceOf(
++ "org.apache.http",
++ "org.apache.maven",
++ "org.codehaus.plexus",
++ "org.eclipse.aether",
++ "org.eclipse.sisu"
++ ).forEach { pack ->
++ relocate(pack to cb(pack))
++ }
+
+ val packageVersion = "1_17_R1"
-+ relocate("org.bukkit.craftbukkit", "org.bukkit.craftbukkit.v$packageVersion") {
++ relocate("org.bukkit.craftbukkit" to "org.bukkit.craftbukkit.v$packageVersion") {
+ exclude("org.bukkit.craftbukkit.Main*")
+ }
-+ listOf(
-+ "jline", "it.unimi", "org.apache.commons.codec", "org.apache.commons.io",
-+ "org.apache.commons.lang3", "org.apache.http", "org.apache.maven", "org.codehaus.plexus",
-+ "org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm"
-+ ).forEach { pack ->
-+ relocate(pack, "org.bukkit.craftbukkit.libs.$pack")
++}
++
++tasks.shadowJar {
++ archiveClassifier.set("mojang-mapped")
++
++ for (relocation in relocation.relocations.get()) {
++ relocate(relocation.fromPackage, relocation.toPackage) {
++ for (exclude in relocation.excludes) {
++ exclude(exclude)
++ }
++ }
+ }
+ mergeServiceFiles()
+ transform(ModifiedLog4j2PluginsCacheFileTransformer::class.java)
diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch
index 7f07fea65f..b580d1e7ea 100644
--- a/patches/server/0003-Build-system-changes.patch
+++ b/patches/server/0003-Build-system-changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes
diff --git a/build.gradle.kts b/build.gradle.kts
-index e67df300ac722061765278680ff0afc042a6d0cb..1ed07304bdf4288608dade345997802cb7753159 100644
+index 71f781083f2f81d064605b2a652181f22b98733d..bacfd25d2fa07d2b0441494a39fe3830b7e4d1f0 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,21 +18,24 @@ repositories {
@@ -45,7 +45,16 @@ index e67df300ac722061765278680ff0afc042a6d0cb..1ed07304bdf4288608dade345997802c
)
for (tld in setOf("net", "com", "org")) {
attributes("$tld/bukkit", "Sealed" to true)
-@@ -70,15 +74,23 @@ publishing {
+@@ -77,7 +81,7 @@ relocation {
+ "org.jline:jline-terminal-jansi" to "jline",
+ "commons-codec:commons-codec" to "org.apache.commons.codec",
+ "commons-io:commons-io" to "org.apache.commons.io",
+- "it.unimi.dsi:fastutil" to "it.unimi",
++ //"it.unimi.dsi:fastutil" to "it.unimi", // Paper - don't relocate fastutil
+ "org.apache.commons:commons-lang3" to "org.apache.commons.lang3",
+ "org.ow2.asm:asm" to "org.objectweb.asm"
+ ).forEach { (owner, pack) ->
+@@ -102,9 +106,17 @@ relocation {
}
}
@@ -60,16 +69,9 @@ index e67df300ac722061765278680ff0afc042a6d0cb..1ed07304bdf4288608dade345997802c
+ rename { "pom.xml" }
+ }
+
- val packageVersion = "1_17_R1"
- relocate("org.bukkit.craftbukkit", "org.bukkit.craftbukkit.v$packageVersion") {
- exclude("org.bukkit.craftbukkit.Main*")
- }
- listOf(
-- "jline", "it.unimi", "org.apache.commons.codec", "org.apache.commons.io",
-+ "jline", "org.apache.commons.codec", "org.apache.commons.io", // Paper - don't relocate fastutil
- "org.apache.commons.lang3", "org.apache.http", "org.apache.maven", "org.codehaus.plexus",
- "org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm"
- ).forEach { pack ->
+ for (relocation in relocation.relocations.get()) {
+ relocate(relocation.fromPackage, relocation.toPackage) {
+ for (exclude in relocation.excludes) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec1ea998ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
diff --git a/patches/server/0712-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0712-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
index 211026b90e..c085cdca17 100644
--- a/patches/server/0712-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
+++ b/patches/server/0712-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and
diff --git a/build.gradle.kts b/build.gradle.kts
-index c95e5f2fee54be09b16c26daffdfcfda877ec203..0311fb1e70eb52da19685f7d9d815daf8f3a83ab 100644
+index 7933b1594253ca13ad50ebca077c2e98f3021fa3..805820262d075728dc2a85e47bb32b19f5f5abfa 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,8 +1,12 @@
@@ -46,7 +46,7 @@ index c95e5f2fee54be09b16c26daffdfcfda877ec203..0311fb1e70eb52da19685f7d9d815daf
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("junit:junit:4.13.1")
testImplementation("org.hamcrest:hamcrest-library:1.3")
-@@ -114,6 +128,44 @@ tasks.shadowJar {
+@@ -142,6 +156,44 @@ tasks.shadowJar {
transform(ModifiedLog4j2PluginsCacheFileTransformer::class.java)
}