Update pom
diff --git a/pom.xml b/pom.xml
index 2f3a808..f49a68c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,78 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2015, Yahoo! Inc.
- Licensed under the terms of the Apache License 2.0.
- See LICENSE file at the project root for terms. -->
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
-<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/maven-v4_0_0.xsd">
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>21</version>
+ </parent>
<groupId>org.apache.datasketches</groupId>
<artifactId>datasketches-pig</artifactId>
- <version>0.13.1-SNAPSHOT</version>
-
- <!-- Project Information -->
- <name>${project.groupId}:${project.artifactId}</name>
- <description>Data Sketches Pig</description>
- <url>https://datasketches.github.io/</url>
+ <version>1.0.0-incubating-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+ <description>Apache Pig adaptors the DataSketches library.</description>
+ <url>https://datasketches.apache.org/</url>
<inceptionYear>2015</inceptionYear>
-
+ <packaging>jar</packaging>
+ <!-- jar is the default -->
+ <!-- With the 3.6.1 version of Maven this causes a warning to obsolete this in
+ favor of using the enforcer plugin (which we do). But removing this
+ causes the command "mvn versions:display-plugin-updates" to issue an error
+ and not work properly. So this will stay for the time being.
+ -->
+ <prerequisites>
+ <maven>3.2.0</maven>
+ </prerequisites>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
+ <distribution>repo</distribution>
</license>
</licenses>
-
- <organization>
- <name>Yahoo! Inc.</name>
- <url>https://www.yahoo.com</url>
- </organization>
-
- <developers>
- <developer>
- <name>Lee Rhodes</name>
- <roles>
- <role>founder, project admin, developer</role>
- </roles>
- <url>https://github.com/leerho</url>
- </developer>
- <developer>
- <name>Alexander Saydakov</name>
- <roles>
- <role>lead developer</role>
- </roles>
- <url>https://github.com/AlexanderSaydakov</url>
- </developer>
- </developers>
-
- <contributors>
- <contributor>
- <url>https://github.com/DataSketches/sketches-pig/graphs/contributors</url>
- </contributor>
- </contributors>
- <!-- End Project Information -->
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- </properties>
-
- <!-- Environment Settings -->
+ <scm>
+ <connection>scm:git:ssh://git@github.com/apache/incubator-${project.artifactId}.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com/apache/incubator-${project.artifactId}.git</developerConnection>
+ <url>https://github.com/apache/incubator-${project.artifactId}</url>
+ <tag>HEAD</tag>
+ </scm>
<issueManagement>
- <system>GitHub Issues</system>
- <url>https://github.com/DataSketches/sketches-pig/issues</url>
+ <!-- <system>jira</system>
+ <url>https://issues.apache.org/jira/browse/DATASKETCHES</url> -->
+ <system>GitHub</system>
+ <url>https://github.com/apache/incubator-${project.artifactId}/issues</url>
</issueManagement>
-
- <ciManagement>
- <system>travis</system>
- <url>https://travis-ci.org/DataSketches/sketches-pig</url>
- </ciManagement>
-
<mailingLists>
<mailingList>
+ <name>DataSketches Developers</name>
+ <subscribe>dev-subscribe@datasketches.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@datasketches.apache.org</unsubscribe>
+ <post>dev@datasketches.apache.org</post>
+ <archive>https://mail-archives.apache.org/mod_mbox/datasketches-dev</archive>
+ </mailingList>
+ <mailingList>
<name>sketches-user</name>
<archive>https://groups.google.com/forum/#!forum/sketches-user</archive>
<subscribe>mailto:sketches-user%2Bsubscribe@googlegroups.com</subscribe>
@@ -80,87 +78,101 @@
<post>mailto:sketches-user@googlegroups.com</post>
</mailingList>
</mailingLists>
-
- <scm>
- <connection>scm:git:ssh://git@github.com/DataSketches/sketches-pig.git</connection>
- <developerConnection>scm:git:ssh://git@github.com/DataSketches/sketches-pig.git</developerConnection>
- <url>https://github.com/DataSketches/sketches-pig</url>
- <tag>HEAD</tag>
- </scm>
-
- <prerequisites>
- <maven>3.0.4</maven>
- </prerequisites>
-
+ <developers>
+ <developer>
+ <name>The Apache DataSketches Team</name>
+ <email>dev@datasketches.apache.org</email>
+ <url>https://datasketches.apache.org</url>
+ <organization>Apache Software Foundation</organization>
+ <organizationUrl>http://www.apache.org</organizationUrl>
+ </developer>
+ </developers>
+ <properties>
+ <!-- System-wide properties -->
+ <argLine>-Xmx4g -Duser.language=en -Duser.country=US -Dfile.encoding=UTF-8</argLine>
+ <charset.encoding>UTF-8</charset.encoding>
+ <project.build.sourceEncoding>${charset.encoding}</project.build.sourceEncoding>
+ <project.build.resourceEncoding>${charset.encoding}</project.build.resourceEncoding>
+ <project.reporting.outputEncoding>${charset.encoding}</project.reporting.outputEncoding>
+ <java.version>1.8</java.version>
+ <maven.compiler.source>${java.version}</maven.compiler.source>
+ <maven.compiler.target>${java.version}</maven.compiler.target>
+ <!-- Dependencies -->
+ <datasketches-java.version>1.1.0-incubating</datasketches-java.version>
+ <pig.version>0.17.0</pig.version>
+ <hadoop-common.version>2.8.5</hadoop-common.version>
+ <hadoop-mapreduce-client-core.version>2.8.5</hadoop-mapreduce-client-core.version>
+ <hadoop-mapreduce-client-common.version>2.8.5</hadoop-mapreduce-client-common.version>
+ <commons-math3.version>3.6.1</commons-math3.version>
+ <testng.version>6.14.3</testng.version>
+ <slf4j-simple.version>1.7.27</slf4j-simple.version>
+ <!-- org.codehaus.plexus used for strict profile testing-->
+ <plexus-compiler-javac-errorprone.version>2.8.5</plexus-compiler-javac-errorprone.version>
+ <!-- Maven Plugins -->
+ <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
+ <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+ <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
+ <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
+ <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
+ <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version>
+ <maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
+ <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
+ <maven-remote-resources-plugin.version>[1.0,)</maven-remote-resources-plugin.version>
+ <maven-source-plugin.version>3.1.0</maven-source-plugin.version>
+ <maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
+ <!-- Apache Plugins -->
+ <apache-rat-plugin.version>0.13</apache-rat-plugin.version>
+ <!-- org.jacoco Maven Plugins -->
+ <jacoco-maven-plugin.version>0.8.4</jacoco-maven-plugin.version>
+ <!-- org.eluder Maven Plugins -->
+ <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
+ <!-- other -->
+ <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
+ <git-commit-id-plugin.version>3.0.0</git-commit-id-plugin.version>
+ </properties>
<repositories>
<repository>
- <id>jcenter</id>
- <name>bintray</name>
- <url>https://jcenter.bintray.com</url>
+ <id>apache.snapshots</id>
+ <name>Apache Snapshot Repository</name>
+ <url>https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>apache</id>
+ <name>Apache Releases Repository</name>
+ <url>https://repository.apache.org/content/repositories/releases/org/apache/datasketches/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
</repository>
</repositories>
-
- <distributionManagement>
- <repository>
- <id>sonatype-nexus-staging</id>
- <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
- </repository>
- </distributionManagement>
-
- <profiles>
- <profile>
- <id>strict</id>
- <build>
- <pluginManagement>
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <compilerId>javac-with-errorprone</compilerId>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-compiler-javac-errorprone</artifactId>
- <version>2.8.2</version>
- </dependency>
- </dependencies>
- </plugin>
-
- </plugins>
- </pluginManagement>
- </build>
- </profile>
- </profiles>
- <!-- End of Environment Settings -->
-
<dependencies>
- <!-- sketches-core -->
+ <!-- datasketches-java -->
<dependency>
<groupId>org.apache.datasketches</groupId>
<artifactId>datasketches-java</artifactId>
- <version>1.1.0-incubating</version>
+ <version>${datasketches-java.version}</version>
</dependency>
-
- <!-- Pig -->
+ <!-- Pig Dependencies (provided scope) -->
<dependency>
<groupId>org.apache.pig</groupId>
<artifactId>pig</artifactId>
- <version>0.17.0</version>
+ <version>${pig.version}</version>
<scope>provided</scope>
</dependency>
-
<!-- hadoop -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
- <version>2.8.1</version>
+ <version>${hadoop-common.version}</version>
<optional>true</optional>
<exclusions>
<exclusion>
@@ -169,11 +181,10 @@
</exclusion>
</exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
- <version>2.8.1</version>
+ <version>${hadoop-mapreduce-client-core.version}</version>
<optional>true</optional>
<exclusions>
<exclusion>
@@ -190,248 +201,467 @@
</exclusion>
</exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
- <version>2.8.1</version>
+ <version>${hadoop-mapreduce-client-common.version}</version>
<optional>true</optional>
</dependency>
-
<!-- For statistics. Used in p-value calculation. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
- <version>3.6.1</version>
+ <version>${commons-math3.version}</version>
</dependency>
-
<!-- Test Scope -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>6.11</version>
+ <version>${testng.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
-
<build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- We want to deploy the artifacts to a staging location for perusal -->
+ <!-- Apache Parent pom: apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${maven-deploy-plugin.version}</version>
+ <configuration>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ <!-- see maven-install-plugin -->
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>${maven-release-plugin.version}</version>
+ </plugin>
+ <plugin>
+ <!-- Extends Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-test-jar</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Extends Apache Parent pom, apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin.version}</version>
+ <configuration>
+ <docfilessubdirs>true</docfilessubdirs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${maven-enforcer-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>enforce-banned-dependencies</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>1.8.0</version>
+ </requireJavaVersion>
+ <requireMavenVersion>
+ <version>3.2,</version>
+ </requireMavenVersion>
+ <bannedDependencies>
+ <excludes>
+ <!--LGPL licenced library-->
+ <exclude>com.google.code.findbugs:annotations</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>${apache-rat-plugin.version}</version>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>${project.basedir}/rat</outputDirectory>
+ <consoleOutput>true</consoleOutput>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <excludes>
+ <!-- rat uses .gitignore for excludes by default -->
+ <exclude>**/test/resources/**/*.txt</exclude>
+ <exclude>LICENSE</exclude>
+ <exclude>NOTICE</exclude>
+ <exclude>DISCLAIMER-WIP</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- Extends Apache Parent pom, apache-release profile -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${maven-source-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>attach-test-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Apache Parent pom, pluginManagement-->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <configuration>
+ <trimStackTrace>false</trimStackTrace>
+ <useManifestOnlyJar>false</useManifestOnlyJar>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- Generates code coverage report from website. -->
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>prepare-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Submit code coverage report to Coveralls.io. -->
+ <groupId>org.eluder.coveralls</groupId>
+ <artifactId>coveralls-maven-plugin</artifactId>
+ <version>${coveralls-maven-plugin.version}</version>
+ <configuration>
+ <!-- Since we use Travis CI we do not have to put a Coveralls token here. -->
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
<plugins>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.1.0</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <includes>
- <include>com.yahoo.datasketches:sketches-core</include>
- <include>com.yahoo.datasketches:memory</include>
- </includes>
- </artifactSet>
- <relocations>
- <relocation>
- <pattern>com.yahoo.sketches</pattern>
- <shadedPattern>shaded.com.yahoo.sketches</shadedPattern>
- <excludes>
- <exclude>com.yahoo.sketches.pig.**</exclude>
- </excludes>
- </relocation>
- <relocation>
- <pattern>com.yahoo.memory</pattern>
- <shadedPattern>shaded.com.yahoo.memory</shadedPattern>
- </relocation>
- </relocations>
- <shadedArtifactAttached>true</shadedArtifactAttached>
- <shadedClassifierName>with-shaded-core</shadedClassifierName>
- </configuration>
- </execution>
- </executions>
+ <artifactId>maven-deploy-plugin</artifactId>
</plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>3.0.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar-no-fork</goal>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
+ <artifactId>maven-release-plugin</artifactId>
</plugin>
-
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <configuration>
- <!--
- <show>private</show>
- -->
- <stylesheetfile>src/main/javadoc/stylesheet.css</stylesheetfile>
- <docfilessubdirs>true</docfilessubdirs>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
</plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
+ <artifactId>maven-enforcer-plugin</artifactId>
</plugin>
-
<plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.8</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>sonatype-nexus-staging</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>false</autoReleaseAfterClose>
- </configuration>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
</plugin>
-
- <!-- Code coverage plugin, generates coverage report to target/site/jacoco/
- To skip coverage generation add -Djacoco.skip=true -->
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>report</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
</plugin>
-
- <!-- Coveralls is a online code coverage reporting tool that leverages JaCoCo -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
- <version>4.3.0</version>
- <configuration>
- <repoToken />
- </configuration>
</plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </plugin>
-
</plugins>
-
- <pluginManagement>
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-help-plugin</artifactId>
- <version>2.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.5.3</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>3.1.0</version>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <version>1.14</version>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.6.0</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.20.1</version>
- </plugin>
-
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.9</version>
- </plugin>
-
- </plugins>
- </pluginManagement>
</build>
-
+ <profiles>
+ <!-- Ignore nuisance warning from Apache parent plugin:
+ "maven-remote-resources-plugin (goal "process") is ignored by m2e".
+ This also should fix the Maven warning that it can't find the lifecycle-mapping jar.
+ This profile is only active when the property "m2e.version" is set,
+ which is the case when building in Eclipse with m2e.
+ The ignore below tells m2eclipse to skip the execution.
+ -->
+ <profile>
+ <id>m2e</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>${lifecycle-mapping.version}</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <versionRange>${maven-remote-resources-plugin.version}</versionRange>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore/>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+ <profile>
+ <id>strict</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-compiler-javac-errorprone</artifactId>
+ <version>${plexus-compiler-javac-errorprone.version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <compilerId>javac-with-errorprone</compilerId>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+ <!-- This profile is used to release signed jars to the Apache Nexus repository.
+ This must be executed from a git repository set at the proper Release branch (e.g., 1.1.X-incubating)
+ and at a Release Candidate tag (e.g., 1.1.0-incubating-RC1).
+ The pom version in the release branch must be properly set to something like: "1.1.0-incubating".
+ The pom version in the master would be set to something like: "1.2.0-incubating-SNAPSHOT".
+ Test Command: mvn clean verify -Pnexus-jars -DskipTests=true
+ Command: mvn clean deploy -Dnexus-jars
+ Verify Command (from terminal): gpg -v --verify $ASC $FILE # dashdashverify
+ -->
+ <profile>
+ <id>nexus-jars</id>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>${git-commit-id-plugin.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>revision</goal>
+ </goals>
+ <phase>initialize</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
+ <dateFormatTimeZone>UTC</dateFormatTimeZone>
+ <verbose>false</verbose>
+ <skipPoms>false</skipPoms>
+ <format>json</format>
+ <generateGitPropertiesFile>true</generateGitPropertiesFile>
+ <generateGitPropertiesFilename>${project.build.directory}/git.properties</generateGitPropertiesFilename>
+ <failOnNoGitDirectory>true</failOnNoGitDirectory>
+ <failOnUnableToExtractRepoInfo>true</failOnUnableToExtractRepoInfo>
+ <commitIdGenerationMode>full</commitIdGenerationMode>
+ <includeOnlyProperties>
+ <includeProperty>git.branch</includeProperty>
+ <includeProperty>git.commit.id.full</includeProperty>
+ <includeProperty>git.commit.time</includeProperty>
+ <includeProperty>git.commit.user.email</includeProperty>
+ <includeProperty>git.tags</includeProperty>
+ </includeOnlyProperties>
+ <gitDescribe>
+ <skip>false</skip>
+ <always>true</always>
+ <abbrev>7</abbrev>
+ <dirty>-dirty</dirty>
+ <tags>true</tags>
+ <forceLongFormat>true</forceLongFormat>
+ </gitDescribe>
+ </configuration>
+ </plugin>
+ <!-- Extends Apache Parent pom, pluginManagement-->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-jar</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-test-jar</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <injectAllReactorProjects>true</injectAllReactorProjects>
+ <archive>
+ <manifest>
+ <addDefaultEntries>false</addDefaultEntries>
+ <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>false</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Build-Jdk>${java.version} (${java.vendor} ${java.vm.version})</Build-Jdk>
+ <Build-OS>${os.name} ${os.arch} ${os.version}</Build-OS>
+ <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
+ <GroupId-ArtifactId>${project.groupId}:${project.artifactId}</GroupId-ArtifactId>
+ <git-branch>${git.branch}</git-branch>
+ <git-commit-id>${git.commit.id.full}</git-commit-id>
+ <git-commit-time>${git.commit.time}</git-commit-time>
+ <git-commit-user-email>${git.commit.user.email}</git-commit-user-email>
+ <git-commit-tag>${git.tags}</git-commit-tag>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <!-- We want to sign the artifacts, POM, and all attached artifacts -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>${maven-gpg-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <gpgArguments>
+ <arg>--verbose</arg>
+ <!-- prints the algorithm used -->
+ <arg>--personal-digest-preferences=SHA512</arg>
+ </gpgArguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <!-- Disable source release assembly for 'apache-release' profile.
+ This is performed from a script outside Maven
+ -->
+ <profile>
+ <id>apache-release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>${maven-assembly-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>source-release-assembly</id>
+ <phase>none</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>