ViaVersion/jar/pom.xml

184 lines
8.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>viaversion-parent</artifactId>
<groupId>us.myles</groupId>
<version>3.2.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<name>viaversion-jar</name>
<artifactId>viaversion</artifactId>
<build>
<finalName>ViaVersion-${project.version}</finalName>
<defaultGoal>clean install</defaultGoal>
<resources>
<resource>
<targetPath>.</targetPath>
<filtering>false</filtering>
<directory>../</directory>
<includes>
<include>LICENSE</include>
</includes>
</resource>
<resource>
<targetPath>.</targetPath>
<filtering>true</filtering>
<directory>src/main/resources/</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
<plugins>
<!-- Write git commit hash into build properties -->
<plugin>
<groupId>net.md-5</groupId>
<artifactId>scriptus</artifactId>
<version>0.3.2</version>
<configuration>
<format>git-ViaVersion-${project.parent.version}:%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>3.2.0</version>
<configuration>
<archive>
<manifestEntries>
<!--suppress MavenModelInspection -->
<Implementation-Version>${describe}</Implementation-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<!--Relocate all lib we use in order to fix class loading errors if we use different versions
than already loaded libs (i.e. by Mojang -> gson)-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>false</minimizeJar>
<filters>
<filter>
<artifact>it.unimi.dsi:fastutil</artifact>
<includes>
<!-- We only want int and Object maps -->
<include>it/unimi/dsi/fastutil/ints/*</include>
<include>it/unimi/dsi/fastutil/objects/*</include>
<include>it/unimi/dsi/fastutil/*.class</include>
</includes>
<excludes>
<!-- Object types -->
<exclude>it/unimi/dsi/fastutil/*/*Reference*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Boolean*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Byte*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Short*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Float*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Double*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Long*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Char*</exclude>
<!-- Map types -->
<exclude>it/unimi/dsi/fastutil/*/*Custom*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Linked*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Sorted*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Tree*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Heap*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Queue*</exclude>
<!-- Crossing fingers -->
<exclude>it/unimi/dsi/fastutil/*/*Big*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Synchronized*</exclude>
<exclude>it/unimi/dsi/fastutil/*/*Unmodifiable*</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>it.unimi.dsi.fastutil</pattern>
<shadedPattern>us.myles.viaversion.libs.fastutil</shadedPattern>
</relocation>
<relocation>
<pattern>com.github.steveice10.opennbt</pattern>
<shadedPattern>us.myles.viaversion.libs.opennbt</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.gson</pattern>
<shadedPattern>us.myles.viaversion.libs.gson</shadedPattern>
</relocation>
<relocation>
<pattern>javassist</pattern>
<shadedPattern>us.myles.viaversion.libs.javassist</shadedPattern>
</relocation>
<relocation>
<pattern>net.md_5.bungee</pattern>
<shadedPattern>us.myles.viaversion.libs.bungeecordchat</shadedPattern>
<includes>
<include>net.md_5.bungee.api.chat.**</include>
<include>net.md_5.bungee.api.ChatColor</include>
<include>net.md_5.bungee.api.ChatMessageType</include>
<include>net.md_5.bungee.chat.**</include>
</includes>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-common</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-bukkit</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-bungee</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-fabric</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-sponge</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion-velocity</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>
</project>