mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-26 20:46:59 +01:00
068dab5be3
mvn clean source:jar install -PshadeSouresJar achieves this goal. If 'source:jar' is not specified the resulting source JAR will not include CraftBukkit sources. Not specifying 'install' will result in an unshaded CraftBukkit source JAR and not include other sources, making it useless for debugging purposes. Shade CraftBukkit sources JAR. Add maven-shade-plugin configuration directives to create sources JAR and shade contents thereof. This ensures when source:jar goal is run, relocated CraftBukkit source files are also relocated for debugging and final code review purposes.
260 lines
11 KiB
XML
260 lines
11 KiB
XML
<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.bukkit</groupId>
|
|
<artifactId>craftbukkit</artifactId>
|
|
<packaging>jar</packaging>
|
|
<version>1.13.2-R0.1-SNAPSHOT</version>
|
|
<name>CraftBukkit</name>
|
|
<url>http://www.bukkit.org</url>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<api.version>unknown</api.version>
|
|
<minecraft.version>1.13.2</minecraft.version>
|
|
<minecraft_version>1_13_R2</minecraft_version>
|
|
<buildtag.prefix>git-Bukkit-</buildtag.prefix>
|
|
<buildtag.suffix></buildtag.suffix>
|
|
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
|
|
<maven.compiler.source>1.8</maven.compiler.source>
|
|
<maven.compiler.target>1.8</maven.compiler.target>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.bukkit</groupId>
|
|
<artifactId>bukkit</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.spigotmc</groupId>
|
|
<artifactId>minecraft-server</artifactId>
|
|
<version>${minecraft.version}-SNAPSHOT</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jline</groupId>
|
|
<artifactId>jline</artifactId>
|
|
<version>2.12.1</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
<version>7.0</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.xerial</groupId>
|
|
<artifactId>sqlite-jdbc</artifactId>
|
|
<version>3.25.2</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>mysql</groupId>
|
|
<artifactId>mysql-connector-java</artifactId>
|
|
<version>5.1.47</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<!-- testing -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.12</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-library</artifactId>
|
|
<version>1.3</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>spigotmc-public</id>
|
|
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>spigotmc-public</id>
|
|
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>net.md-5</groupId>
|
|
<artifactId>scriptus</artifactId>
|
|
<version>0.2</version>
|
|
<configuration>
|
|
<format>git-Bukkit-%s</format>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>describe</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>2.4</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
|
|
<Implementation-Title>CraftBukkit</Implementation-Title>
|
|
<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>
|
|
</manifestEntries>
|
|
<manifestSections>
|
|
<manifestSection>
|
|
<name>net/bukkit/</name>
|
|
<manifestEntries>
|
|
<Sealed>true</Sealed>
|
|
</manifestEntries>
|
|
</manifestSection>
|
|
<manifestSection>
|
|
<name>com/bukkit/</name>
|
|
<manifestEntries>
|
|
<Sealed>true</Sealed>
|
|
</manifestEntries>
|
|
</manifestSection>
|
|
<manifestSection>
|
|
<name>org/bukkit/</name>
|
|
<manifestEntries>
|
|
<Sealed>true</Sealed>
|
|
</manifestEntries>
|
|
</manifestSection>
|
|
</manifestSections>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.1.1</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<createSourcesJar>${shadeSourcesJar}</createSourcesJar>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>joptsimple</pattern>
|
|
<shadedPattern>org.bukkit.craftbukkit.libs.joptsimple</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<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>
|
|
<relocation>
|
|
<pattern>org.bukkit.craftbukkit</pattern>
|
|
<shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
|
|
<excludes>
|
|
<exclude>org.bukkit.craftbukkit.Main*</exclude>
|
|
</excludes>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>net.minecraft.server</pattern>
|
|
<shadedPattern>net.minecraft.server.v${minecraft_version}</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
|
|
<resource>META-INF/services/java.sql.Driver</resource>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.7.0</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>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-compiler-eclipse</artifactId>
|
|
<version>2.8.1-spigotmc</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.12.4</version>
|
|
<configuration>
|
|
<workingDirectory>${basedir}/target/test-server</workingDirectory>
|
|
<excludes>
|
|
<exclude>org/bukkit/craftbukkit/inventory/ItemStack*Test.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>shadeSourcesJar</id>
|
|
<properties>
|
|
<shadeSourcesJar>true</shadeSourcesJar>
|
|
<shadeSourcesContent>true</shadeSourcesContent>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>development</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
<version>1.17</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<signature>
|
|
<groupId>org.codehaus.mojo.signature</groupId>
|
|
<artifactId>java18</artifactId>
|
|
<version>1.0</version>
|
|
</signature>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|