Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
c8055836e8
Minecraft's Netty version was severely out of date. There has been numerous security fixes, bug fixes, and likely performance fixes since the version Minecraft uses (4.1.25). This fixes some known issues with "Closed Channel" spam. Fixes #3388
217 Zeilen
11 KiB
Diff
217 Zeilen
11 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
|
Date: Mon, 29 Feb 2016 20:40:33 -0600
|
|
Subject: [PATCH] POM Changes
|
|
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index 9fc92e347f24a0210a9190513e93cba3b6772557..aec55b0b78fa47d427652d402cfbb61295672b11 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -1,15 +1,14 @@
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
- <groupId>org.spigotmc</groupId>
|
|
- <artifactId>spigot</artifactId>
|
|
+ <artifactId>paper</artifactId>
|
|
<packaging>jar</packaging>
|
|
<version>1.15.2-R0.1-SNAPSHOT</version>
|
|
- <name>Spigot</name>
|
|
- <url>https://www.spigotmc.org/</url>
|
|
+ <name>Paper</name>
|
|
+ <url>https://papermc.io</url>
|
|
|
|
<properties>
|
|
- <skipTests>true</skipTests>
|
|
+ <!-- <skipTests>true</skipTests> Paper - This [was] not going to end well -->
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<api.version>unknown</api.version>
|
|
<minecraft.version>1.15.2</minecraft.version>
|
|
@@ -19,16 +18,22 @@
|
|
</properties>
|
|
|
|
<parent>
|
|
- <groupId>org.spigotmc</groupId>
|
|
- <artifactId>spigot-parent</artifactId>
|
|
+ <groupId>com.destroystokyo.paper</groupId>
|
|
+ <artifactId>paper-parent</artifactId>
|
|
<version>dev-SNAPSHOT</version>
|
|
<relativePath>../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
- <groupId>org.spigotmc</groupId>
|
|
- <artifactId>spigot-api</artifactId>
|
|
+ <groupId>com.destroystokyo.paper</groupId>
|
|
+ <artifactId>paper-api</artifactId>
|
|
+ <version>${project.version}</version>
|
|
+ <scope>compile</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>com.destroystokyo.paper</groupId>
|
|
+ <artifactId>paper-mojangapi</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
@@ -50,6 +55,17 @@
|
|
<version>7.3.1</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
+ <dependency>
|
|
+ <!-- wrapper to use either java 8 sun cleaner or java9+ official cleaner -->
|
|
+ <groupId>co.aikar</groupId>
|
|
+ <artifactId>cleaner</artifactId>
|
|
+ <version>1.0-SNAPSHOT</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>io.netty</groupId>
|
|
+ <artifactId>netty-all</artifactId>
|
|
+ <version>4.1.51.Final-SNAPSHOT</version>
|
|
+ </dependency>
|
|
<!-- deprecated API depend -->
|
|
<dependency>
|
|
<groupId>com.googlecode.json-simple</groupId>
|
|
@@ -106,34 +122,22 @@
|
|
|
|
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
|
|
<build>
|
|
+ <finalName>paper-${minecraft.version}</finalName>
|
|
+ <defaultGoal>clean install</defaultGoal> <!-- Paper -->
|
|
<plugins>
|
|
<plugin>
|
|
- <groupId>net.md-5</groupId>
|
|
- <artifactId>scriptus</artifactId>
|
|
- <version>0.4.1</version>
|
|
+ <groupId>com.lukegb.mojo</groupId>
|
|
+ <artifactId>gitdescribe-maven-plugin</artifactId>
|
|
+ <version>1.3</version>
|
|
+ <configuration>
|
|
+ <outputPrefix>git-Paper-</outputPrefix>
|
|
+ <scmDirectory>..</scmDirectory>
|
|
+ </configuration>
|
|
<executions>
|
|
<execution>
|
|
- <id>ex-spigot</id>
|
|
- <configuration>
|
|
- <format>git-Spigot-%s</format>
|
|
- <scmDirectory>../</scmDirectory>
|
|
- <descriptionProperty>spigot.desc</descriptionProperty>
|
|
- </configuration>
|
|
- <phase>initialize</phase>
|
|
+ <phase>compile</phase>
|
|
<goals>
|
|
- <goal>describe</goal>
|
|
- </goals>
|
|
- </execution>
|
|
- <execution>
|
|
- <id>ex-craftbukkit</id>
|
|
- <configuration>
|
|
- <format>-%s</format>
|
|
- <scmDirectory>../../CraftBukkit</scmDirectory>
|
|
- <descriptionProperty>craftbukkit.desc</descriptionProperty>
|
|
- </configuration>
|
|
- <phase>initialize</phase>
|
|
- <goals>
|
|
- <goal>describe</goal>
|
|
+ <goal>gitdescribe</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
@@ -143,6 +147,7 @@
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
+ <forceCreation>true</forceCreation> <!-- Required to prevent shading the jar multiple times -->
|
|
<archive>
|
|
<manifest>
|
|
<addDefaultEntries>false</addDefaultEntries>
|
|
@@ -150,8 +155,9 @@
|
|
<manifestEntries>
|
|
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
|
|
<Implementation-Title>CraftBukkit</Implementation-Title>
|
|
- <Implementation-Version>${spigot.desc}${craftbukkit.desc}</Implementation-Version>
|
|
- <Implementation-Vendor>${project.build.outputTimestamp}</Implementation-Vendor>
|
|
+ <!--suppress MavenModelInspection -->
|
|
+ <Implementation-Version>${describe}</Implementation-Version>
|
|
+ <Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor>
|
|
<Specification-Title>Bukkit</Specification-Title>
|
|
<Specification-Version>${api.version}</Specification-Version>
|
|
<Specification-Vendor>Bukkit Team</Specification-Vendor>
|
|
@@ -190,6 +196,7 @@
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
+ <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation> <!-- Paper -->
|
|
<createSourcesJar>${shadeSourcesJar}</createSourcesJar>
|
|
<filters>
|
|
<filter>
|
|
@@ -198,6 +205,13 @@
|
|
<exclude>com/google/common/**</exclude>
|
|
<exclude>com/google/gson/**</exclude>
|
|
<exclude>com/google/thirdparty/**</exclude>
|
|
+ <!-- paper -->
|
|
+ <exclude>io/netty/**</exclude>
|
|
+ <exclude>com/brigadier/**</exclude>
|
|
+ <exclude>META-INF/MANIFEST.MF</exclude>
|
|
+ <exclude>com.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository</exclude>
|
|
+ <exclude>com.mojang.datafixers.util.Either</exclude>
|
|
+ <exclude>org.apache.logging.log4j/**</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
@@ -213,10 +227,11 @@
|
|
<pattern>jline</pattern>
|
|
<shadedPattern>org.bukkit.craftbukkit.libs.jline</shadedPattern>
|
|
</relocation>
|
|
- <relocation>
|
|
- <pattern>it.unimi</pattern>
|
|
- <shadedPattern>org.bukkit.craftbukkit.libs.it.unimi</shadedPattern>
|
|
- </relocation>
|
|
+ <!-- Paper - Don't relocate fastutil in order to prevent api breakage -->
|
|
+ <!--<relocation>-->
|
|
+ <!--<pattern>it.unimi</pattern>-->
|
|
+ <!--<shadedPattern>org.bukkit.craftbukkit.libs.it.unimi</shadedPattern>-->
|
|
+ <!--</relocation>-->
|
|
<relocation>
|
|
<pattern>org.apache.commons.codec</pattern>
|
|
<shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.codec</shadedPattern>
|
|
@@ -258,10 +273,6 @@
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
- <configuration>
|
|
- <!-- we use the Eclipse compiler as it doesn't need a JDK -->
|
|
- <compilerId>eclipse</compilerId>
|
|
- </configuration>
|
|
<dependencies>
|
|
<!-- we need our custom version as it fixes some bugs on case sensitive file systems -->
|
|
<dependency>
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index 88223a53cb547727bacbba2d6006ecabf92bb524..cb5d0f5378418655eee2cd68bab8dc39a7b7052b 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -186,7 +186,7 @@ public class Main {
|
|
}
|
|
|
|
if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
|
- Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L);
|
|
+ Date buildDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper
|
|
|
|
Calendar deadline = Calendar.getInstance();
|
|
deadline.add(Calendar.DAY_OF_YEAR, -21);
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
index 93046379d0cefd5d3236fc59e698809acdc18f80..674096cab190d62622f9947853b056f57d43a2a5 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
@@ -11,7 +11,7 @@ public final class Versioning {
|
|
public static String getBukkitVersion() {
|
|
String result = "Unknown-Version";
|
|
|
|
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.spigotmc/spigot-api/pom.properties");
|
|
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/com.destroystokyo.paper/paper-api/pom.properties");
|
|
Properties properties = new Properties();
|
|
|
|
if (stream != null) {
|