<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.14.4-R0.1-SNAPSHOT</version> <name>CraftBukkit</name> <url>https://www.spigotmc.org/</url> <properties> <skipTests>true</skipTests> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <api.version>unknown</api.version> <minecraft.version>1.14.4</minecraft.version> <minecraft_version>1_14_R1</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.1</version> <scope>compile</scope> </dependency> <!-- deprecated API depend --> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.28.0</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> <!-- If you are a plugin developer, please use https://hub.spigotmc.org/nexus/content/repositories/snapshots/ as your repository URL. This will ensure only Bukkit / Spigot-API are pulled from our Maven repository. Please see https://www.spigotmc.org/go/maven for more information. --> <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> <!-- Cannot be relocated as it breaks translation property keys --> <!-- <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.apache.commons.codec</pattern> <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.codec</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.io</pattern> <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.io</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.lang3</pattern> <shadedPattern>org.bukkit.craftbukkit.libs.org.apache.commons.lang3</shadedPattern> </relocation> <relocation> <pattern>org.objectweb.asm</pattern> <shadedPattern>org.bukkit.craftbukkit.libs.org.objectweb.asm</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.8.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.5-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> <properties> <skipTests>false</skipTests> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <phase>process-classes</phase> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <configLocation>checkstyle.xml</configLocation> <includeTestSourceDirectory>true</includeTestSourceDirectory> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>8.19</version> </dependency> </dependencies> </plugin> <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>