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 &#45;&#45;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>