mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-26 22:50:23 +02:00
Spigot has been stripping the minecraft-server jar down in order to reduce it's size, primarily by removing classes they don't use from fastutil. as we use fastutil and offer it as API, this is useless to us, and creates headaches when it breaks builds due to spigots version of this being installed.
224 lines
11 KiB
Diff
224 lines
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 56c23681feafa2760740ad03cb7f5f274df6e20d..b8c8dc1a06a8ed93fccd419155fc9403805ea2fa 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.16.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.16.2</minecraft.version>
|
|
@@ -19,21 +18,27 @@
|
|
</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>org.spigotmc</groupId>
|
|
+ <groupId>com.destroystokyo.paper</groupId>
|
|
+ <artifactId>paper-mojangapi</artifactId>
|
|
+ <version>${project.version}</version>
|
|
+ <scope>compile</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>io.papermc</groupId>
|
|
<artifactId>minecraft-server</artifactId>
|
|
<version>${minecraft.version}-SNAPSHOT</version>
|
|
<scope>compile</scope>
|
|
@@ -50,6 +55,17 @@
|
|
<version>8.0.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.50.Final</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>
|
|
- <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>
|
|
+ <phase>compile</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,14 @@
|
|
<exclude>com/google/common/**</exclude>
|
|
<exclude>com/google/gson/**</exclude>
|
|
<exclude>com/google/thirdparty/**</exclude>
|
|
+ <!-- paper -->
|
|
+ <exclude>io/netty/**</exclude>
|
|
+ <exclude>META-INF/native/libnetty*</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 +228,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 +274,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 93bc7535a68fbf8c2dd3b5e18cedbcbf140d60c4..113ea57fec3d71bd9842d27674eac6201d20c2d5 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, -7);
|
|
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) {
|