mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2024-12-21 04:49:51 +08:00
674 lines
21 KiB
XML
674 lines
21 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>com.sk89q</groupId>
|
|
<artifactId>worldedit</artifactId>
|
|
<version>6.0.0-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<!-- Fix encoding warnings -->
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
</properties>
|
|
|
|
<!--
|
|
=====================================
|
|
Project Information
|
|
=====================================
|
|
-->
|
|
|
|
<name>WorldEdit</name>
|
|
<inceptionYear>2010</inceptionYear>
|
|
<url>http://wiki.sk89q.com/wiki/WorldEdit</url>
|
|
<description>An in-game voxel map editor for Minecraft.</description>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>GNU General Public License 2.0</name>
|
|
<url>LICENSE.txt</url>
|
|
<distribution>repo</distribution>
|
|
<comments>License on WorldEdit</comments>
|
|
</license>
|
|
<license>
|
|
<name>GNU Lesser General Public License 3.0</name>
|
|
<url>LICENSE_LGPL.txt</url>
|
|
<distribution>repo</distribution>
|
|
<comments>License on all new contributions</comments>
|
|
</license>
|
|
</licenses>
|
|
|
|
<issueManagement>
|
|
<system>YouTrack</system>
|
|
<url>http://youtrack.sk89q.com</url>
|
|
</issueManagement>
|
|
|
|
<ciManagement>
|
|
<system>TeamCity</system>
|
|
<url>http://builds.enginehub.org</url>
|
|
</ciManagement>
|
|
|
|
<scm>
|
|
<connection>scm:git:git://github.com/sk89q/worldedit.git</connection>
|
|
<developerConnection>scm:git:git@github.com:sk89q/worldedit.git</developerConnection>
|
|
<url>https://github.com/sk89q/worldedit</url>
|
|
<tag>master</tag>
|
|
</scm>
|
|
|
|
<mailingLists>
|
|
<mailingList>
|
|
<name>Developer Discussion</name>
|
|
<archive>https://groups.google.com/d/forum/sk-dev-discuss</archive>
|
|
</mailingList>
|
|
</mailingLists>
|
|
|
|
<!--
|
|
=====================================
|
|
Distribution Management
|
|
=====================================
|
|
-->
|
|
|
|
<distributionManagement>
|
|
<site>
|
|
<id>sk89q-docs-upload</id>
|
|
<url>ftp://sk89q-maven-deploy/worldedit/</url>
|
|
</site>
|
|
|
|
<!-- The CI server uses these -->
|
|
<repository>
|
|
<id>maven.sk89q.com</id>
|
|
<url>http://maven.sk89q.com/artifactory/libs-release-local</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>maven.sk89q.com-snapshot</id>
|
|
<url>http://maven.sk89q.com/artifactory/libs-snapshot-local</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
|
|
<!--
|
|
=====================================
|
|
Dependencies
|
|
=====================================
|
|
-->
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>maven.sk89q.com</id>
|
|
<url>http://maven.sk89q.com/repo/</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>sk89q-repo</id>
|
|
<url>http://maven.sk89q.com/repo/</url>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<dependencies>
|
|
<!-- Used for snapshots -->
|
|
<dependency>
|
|
<groupId>de.schlichtherle</groupId>
|
|
<artifactId>truezip</artifactId>
|
|
<version>6.8.3</version>
|
|
<scope>compile</scope> <!-- optional runtime dependency -->
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<!-- Used for scripting -->
|
|
<dependency>
|
|
<groupId>rhino</groupId>
|
|
<artifactId>js</artifactId>
|
|
<version>1.7R2</version>
|
|
<scope>compile</scope> <!-- optional runtime dependency -->
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<!-- YAML processing -->
|
|
<dependency>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
<version>1.9</version>
|
|
<type>jar</type>
|
|
<scope>compile</scope> <!-- optional runtime dependency -->
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- It's Guava -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>10.0.1</version> <!-- Bukkit only bundles 10.0.1 -->
|
|
<scope>compile</scope> <!-- required runtime dependency -->
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<!-- JSON parser -->
|
|
<dependency>
|
|
<groupId>com.google.code.gson</groupId>
|
|
<artifactId>gson</artifactId>
|
|
<version>2.2.4</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- Optimized collections -->
|
|
<!--<dependency>
|
|
<groupId>net.sf.trove4j</groupId>
|
|
<artifactId>trove4j</artifactId>
|
|
<version>3.0.3</version>
|
|
<optional>true</optional>
|
|
</dependency> disabled until we can shadow this in Forge -->
|
|
|
|
<!-- @Nullable etc. -->
|
|
<dependency>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
<version>1.3.9</version>
|
|
</dependency>
|
|
|
|
<!-- Used for time operations -->
|
|
<dependency>
|
|
<groupId>com.sk89q</groupId>
|
|
<artifactId>jchronic</artifactId> <!-- not the original library -->
|
|
<version>0.2.4a</version>
|
|
<scope>compile</scope> <!-- shaded -->
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<!-- Method names for the command framework -->
|
|
<dependency>
|
|
<groupId>com.thoughtworks.paranamer</groupId>
|
|
<artifactId>paranamer</artifactId>
|
|
<version>2.6</version>
|
|
<scope>compile</scope>
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<!-- Noise library -->
|
|
<dependency>
|
|
<groupId>com.sk89q.lib</groupId>
|
|
<artifactId>jlibnoise</artifactId>
|
|
<version>1.0.0</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- Unit tests -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>1.9.0-rc1</version>
|
|
<scope>test</scope>
|
|
<type>jar</type>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<!--
|
|
=====================================
|
|
Build
|
|
=====================================
|
|
-->
|
|
|
|
<build>
|
|
<defaultGoal>install</defaultGoal>
|
|
<sourceDirectory>${basedir}/src/main/java/</sourceDirectory>
|
|
|
|
<resources>
|
|
<!-- Data files -->
|
|
<resource>
|
|
<targetPath>.</targetPath>
|
|
<filtering>false</filtering>
|
|
<directory>${basedir}/src/main/resources/</directory>
|
|
<includes>
|
|
<include>**/*.json</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
|
|
<!-- Used for uploading the docs -->
|
|
<extensions>
|
|
<extension>
|
|
<groupId>org.apache.maven.wagon</groupId>
|
|
<artifactId>wagon-ftp</artifactId>
|
|
<version>1.0-beta-6</version>
|
|
</extension>
|
|
</extensions>
|
|
|
|
<plugins>
|
|
<!-- Add source folder -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>1.7</version>
|
|
<executions>
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${basedir}/src/legacy/java/</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Check style -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>2.12</version>
|
|
<executions>
|
|
<execution>
|
|
<id>verify-style</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<sourceDirectory>${basedir}/src</sourceDirectory>
|
|
<consoleOutput>true</consoleOutput>
|
|
<failsOnError>true</failsOnError>
|
|
<logViolationsToConsole>true</logViolationsToConsole>
|
|
<checkstyleRules>
|
|
<module name="Checker">
|
|
<!-- Tabs are strictly banned -->
|
|
<module name="FileTabCharacter"/>
|
|
|
|
<module name="TreeWalker">
|
|
<!-- Important basics -->
|
|
<!-- <module name="PackageDeclaration"/> Unlikely that we would miss this in a PR -->
|
|
<module name="OuterTypeFilename"/> <!-- TypeName -> TypeName.java -->
|
|
|
|
<!--
|
|
Control package usage, so people don't insert Bukkit into WE where it shouldn't belong, etc.
|
|
It is a bit draconian, so update as necessary!
|
|
-->
|
|
<module name="ImportControl">
|
|
<property name="file" value="${basedir}/src/main/build/import-control.xml"/>
|
|
</module>
|
|
|
|
<!-- Code -->
|
|
<module name="HideUtilityClassConstructor"/> <!-- Utility classes should not have a constructor -->
|
|
<module name="CovariantEquals"/>
|
|
<module name="EqualsHashCode"/> <!-- equals() and hashCode() go together -->
|
|
<module name="NestedTryDepth"> <!-- SHOULD not need to adjust this -->
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
<module name="SuperFinalize"/> <!-- We don't actually use this -->
|
|
<module name="JUnitTestCase"/> <!-- Checks tearDown(), setUp() etc. -->
|
|
|
|
<!-- Style -->
|
|
<module name="LeftCurly"> <!-- Left brace never goes on another line -->
|
|
<property name="option" value="eol"/>
|
|
</module> <!-- We don't check right brance -->
|
|
<module name="DefaultComesLast"/> <!-- default case in switch should be last -->
|
|
<module name="GenericWhitespace"/>
|
|
|
|
<!-- Naming -->
|
|
<module name="ClassTypeParameterName">
|
|
<property name="format" value="^[A-Z][a-zA-Z0-9]*$"/>
|
|
</module>
|
|
<module name="LocalFinalVariableName"/>
|
|
<module name="LocalVariableName">
|
|
<property name="format" value="^[a-z_][a-zA-Z0-9]*$"/>
|
|
</module>
|
|
<module name="MemberName">
|
|
<property name="format" value="^[a-z_][a-zA-Z0-9]*$"/>
|
|
</module>
|
|
<module name="MethodName">
|
|
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
|
|
</module>
|
|
<!-- <module name="PackageName"/> Unlikely that we would miss this in a PR -->
|
|
<module name="ParameterName"/>
|
|
<!-- <module name="TypeName"/> Unlikely that we would miss this in a PR -->
|
|
</module>
|
|
|
|
<!-- Require the header, something that many people forget and we hate to fix -->
|
|
<!-- You should configure the header in your IDE -->
|
|
<module name="Header">
|
|
<property name="headerFile" value="${basedir}/src/main/build/header.txt"/>
|
|
<property name="fileExtensions" value="java"/>
|
|
</module>
|
|
</module>
|
|
</checkstyleRules>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Compiler -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>2.3.2</version>
|
|
<configuration>
|
|
<source>1.6</source>
|
|
<target>1.6</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- JAR plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>2.3.1</version>
|
|
<configuration>
|
|
<archive>
|
|
<addMavenDescriptor>true</addMavenDescriptor>
|
|
<manifest>
|
|
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Class-Path>truezip.jar WorldEdit/truezip.jar js.jar WorldEdit/js.jar</Class-Path>
|
|
<!-- This is a legacy manifest entry for older versions of
|
|
WorldEdit (like really old) -->
|
|
<WorldEdit-Version>${project.version}</WorldEdit-Version>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Shades -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>1.7.1</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<minimizeJar>true</minimizeJar>
|
|
<artifactSet>
|
|
<includes>
|
|
<include>com.sk89q:jchronic</include>
|
|
<include>com.thoughtworks.paranamer:paranamer</include>
|
|
<include>com.google.code.gson:gson</include>
|
|
<include>com.sk89q.lib:jlibnoise</include>
|
|
<!-- <include>net.sf.trove4j:trove4j</include> -->
|
|
</includes>
|
|
</artifactSet>
|
|
<relocations>
|
|
<!-- <relocation>
|
|
<pattern>gnu.trove</pattern>
|
|
<shadedPattern>com.sk89q.worldedit.internal.trove</shadedPattern>
|
|
</relocation> -->
|
|
<relocation>
|
|
<pattern>com.google.gson</pattern>
|
|
<shadedPattern>com.sk89q.worldedit.internal.gson</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Assembly builds .zip, etc. -->
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>2.2-beta-2</version>
|
|
<configuration>
|
|
<descriptor>${basedir}/src/main/assembly/default.xml</descriptor>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>release</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Release plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<version>2.3.2</version>
|
|
<configuration>
|
|
<preparationGoals>assembly:assembly</preparationGoals>
|
|
<goals>assembly:assembly</goals>
|
|
<tagNameFormat>@{project.version}</tagNameFormat>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Test runner -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.7.2</version>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>**/TestOfflinePermissible.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Attach docs -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>2.2.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Generate Javadocs -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.8.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Site builder -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>3.1</version>
|
|
<configuration>
|
|
<reportPlugins>
|
|
<!-- Project information -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-project-info-reports-plugin</artifactId>
|
|
<version>2.5</version>
|
|
<reportSets>
|
|
<reportSet>
|
|
<reports>
|
|
<report>license</report>
|
|
<report>index</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
|
|
<!-- Javadocs -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.8.1</version>
|
|
</plugin>
|
|
</reportPlugins>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<!--
|
|
=====================================
|
|
Profiles
|
|
=====================================
|
|
-->
|
|
|
|
<profiles>
|
|
<!--
|
|
=====================================
|
|
Bukkit
|
|
=====================================
|
|
-->
|
|
<profile>
|
|
<id>bukkit</id>
|
|
|
|
<activation>
|
|
<property>
|
|
<name>!skipBukkitProfile</name>
|
|
</property>
|
|
</activation>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>bukkit-repo</id>
|
|
<url>http://repo.bukkit.org/content/groups/public</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
<!-- Used for Permissions support (this version has both the legacy API
|
|
and the new Permissions API to compile against -->
|
|
<dependency>
|
|
<groupId>com.sk89q</groupId>
|
|
<artifactId>dummypermscompat</artifactId>
|
|
<version>1.7</version>
|
|
<scope>compile</scope>
|
|
<type>jar</type>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- Used for running CraftBukkit from within your IDE
|
|
These are runtime-only dependencies -->
|
|
<dependency>
|
|
<groupId>org.sk89q.bukkit</groupId>
|
|
<artifactId>bukkit-classloader-check</artifactId>
|
|
<version>1.7.2-R0.3</version>
|
|
<scope>runtime</scope>
|
|
<type>jar</type>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<!-- End runtime only -->
|
|
|
|
<!-- Bukkit implementation -->
|
|
<dependency>
|
|
<groupId>org.bukkit</groupId>
|
|
<artifactId>bukkit</artifactId>
|
|
<version>1.7.2-R0.3</version>
|
|
<scope>compile</scope>
|
|
<type>jar</type>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<resources>
|
|
<!-- Bukkit plugin.yml -->
|
|
<resource>
|
|
<targetPath>.</targetPath>
|
|
<filtering>true</filtering>
|
|
<directory>${basedir}/src/bukkit/resources/</directory>
|
|
<includes>
|
|
<include>plugin.yml</include>
|
|
</includes>
|
|
</resource>
|
|
|
|
<!-- Default files -->
|
|
<resource>
|
|
<targetPath>defaults/</targetPath>
|
|
<filtering>true</filtering>
|
|
<directory>${basedir}/src/bukkit/resources/</directory>
|
|
<includes>
|
|
<include>config.yml</include>
|
|
</includes>
|
|
</resource>
|
|
|
|
<!-- NMS support in Bukkit -->
|
|
<resource>
|
|
<targetPath>.</targetPath>
|
|
<filtering>false</filtering>
|
|
<directory>${basedir}/src/bukkit/resources/</directory>
|
|
<includes>
|
|
<include>**/*.class</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
|
|
<plugins>
|
|
<!-- Add source folder -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>1.7</version>
|
|
<executions>
|
|
<execution>
|
|
<id>add-bukkit-sources</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${basedir}/src/bukkit/java/</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>add-bukkit-test-sources</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-test-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${basedir}/src/bukkit-test/java/</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!--
|
|
=====================================
|
|
Disable doclint on Java 8
|
|
=====================================
|
|
-->
|
|
<profile>
|
|
<id>java8-disable-doclint</id>
|
|
<activation>
|
|
<jdk>[1.8,</jdk>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<additionalparam>-Xdoclint:none</additionalparam>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|