This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-parent.git


The following commit(s) were added to refs/heads/master by this push:
     new ad831d8  japicmp-maven-plugin should not break builds on source 
incompatible changes by default.
ad831d8 is described below

commit ad831d8c8eabed2dece24bf3c56015a9f817edd9
Author: Gary Gregory <[email protected]>
AuthorDate: Fri Apr 19 13:09:42 2019 -0400

    japicmp-maven-plugin should not break builds on source incompatible
    changes by default.
---
 pom.xml                 | 3648 ++++++++++++++++++++++++-----------------------
 src/changes/changes.xml |    1 +
 2 files changed, 1826 insertions(+), 1823 deletions(-)

diff --git a/pom.xml b/pom.xml
index fe10881..004cc76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,1823 +1,1825 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-
-   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
-
-       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/xsd/maven-4.0.0.xsd";>
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>21</version>
-  </parent>
-  <groupId>org.apache.commons</groupId>
-  <artifactId>commons-parent</artifactId>
-  <packaging>pom</packaging>
-  <version>49-SNAPSHOT</version>
-  <name>Apache Commons Parent</name>
-  <url>http://commons.apache.org/commons-parent-pom.html</url>
-  <description>The Apache Commons Parent POM provides common settings for all 
Apache Commons components.</description>
-  <issueManagement>
-    <system>jira</system>
-    <url>http://issues.apache.org/jira/browse/COMMONSSITE</url>
-  </issueManagement>
-
-  <prerequisites>
-    <maven>3.0.5</maven>
-  </prerequisites>
-
-  <ciManagement>
-    <system>jenkins</system>
-    <url>https://builds.apache.org/</url>
-  </ciManagement>
-
-  <!--
-    In release 31, the maven.compile.* properties were corrected to 
maven.compiler.*
-    [See COMMONSSITE-69]
-    If updating from a previous version, please check the property definitions
-
-    Starting with version 22, the RAT plugin has changed Maven group and id, 
so any existing configuration
-    needs to be updated.
-    To fix component POMs, please change any occurrences of:
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>rat-maven-plugin</artifactId>
-    to the new values:
-    <groupId>org.apache.rat</groupId>
-    <artifactId>apache-rat-plugin</artifactId>
-
-    Site deployment
-    ===============
-    Cannot define this here at present, see 
https://issues.apache.org/jira/browse/COMMONSSITE-26.
-
-    The following should be added to the component POM:
-
-    <distributionManagement>
-    <site>
-    <id>commons.site</id>
-    <name>Apache Commons Site SVN</name>
-    <url>scm:svn:${commons.scmPubUrl}</url>
-    </site>
-    </distributionManagement>
-
-    Alternatively you can map the component's existing site id to the
-    commons.scmPubServer property.
-
-    Coverage tool selection
-    =======================
-    Starting with release 30, there are optional profiles for both Cobertura 
and JaCoCo.
-    These can be enabled independently on the command-line:
-
-    mvn site -Pcobertura -Pjacoco
-
-    Or the component can define a default coverage tool by creating either (or 
both) of the following files:
-
-    src/site/resources/profile.cobertura
-    src/site/resources/profile.jacoco
-
-    These can later be overridden by cancelling the profile:
-
-    mvn site -P!jacoco
-
-  -->
-
-  <!--
-    This section *must* be overwritten by subprojects. It is only to allow
-    a release of the commons-parent POM.
-  -->
-  <scm>
-    
<connection>scm:git:http://gitbox.apache.org/repos/asf/commons-parent.git</connection>
-    
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-parent.git</developerConnection>
-    <url>https://gitbox.apache.org/repos/asf?p=commons-parent.git</url>
-  </scm>
-
-  <mailingLists>
-    <!-- N.B. commons-site now uses the Apache POM so has its own copy of the 
mailing list definitions -->
-    <!--
-      Components should normally override the default mailing list report by 
using the comnand
-      mvn commons:mail-page
-      This generates the file src/site/xdoc/mail-lists.xml which when 
processed will replace the PIR version.
-    -->
-    <!-- Changes to this list should be synchronised with the commons build 
plugin -->
-    <mailingList>
-      <name>Commons User List</name>
-      <subscribe>[email protected]</subscribe>
-      <unsubscribe>[email protected]</unsubscribe>
-      <post>[email protected]</post>
-      
<archive>https://mail-archives.apache.org/mod_mbox/commons-user/</archive>
-      <otherArchives>
-        
<otherArchive>https://markmail.org/list/org.apache.commons.users/</otherArchive>
-        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>Commons Dev List</name>
-      <subscribe>[email protected]</subscribe>
-      <unsubscribe>[email protected]</unsubscribe>
-      <post>[email protected]</post>
-      <archive>https://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
-      <otherArchives>
-        
<otherArchive>https://markmail.org/list/org.apache.commons.dev/</otherArchive>
-        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>Commons Issues List</name>
-      <subscribe>[email protected]</subscribe>
-      <unsubscribe>[email protected]</unsubscribe>
-      
<archive>https://mail-archives.apache.org/mod_mbox/commons-issues/</archive>
-      <otherArchives>
-        
<otherArchive>https://markmail.org/list/org.apache.commons.issues/</otherArchive>
-        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>Commons Commits List</name>
-      <subscribe>[email protected]</subscribe>
-      <unsubscribe>[email protected]</unsubscribe>
-      
<archive>https://mail-archives.apache.org/mod_mbox/commons-commits/</archive>
-      <otherArchives>
-        
<otherArchive>https://markmail.org/list/org.apache.commons.commits/</otherArchive>
-        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
-      </otherArchives>
-    </mailingList>
-    <mailingList>
-      <name>Apache Announce List</name>
-      <subscribe>[email protected]</subscribe>
-      <unsubscribe>[email protected]</unsubscribe>
-      
<archive>https://mail-archives.apache.org/mod_mbox/www-announce/</archive>
-      <otherArchives>
-        
<otherArchive>https://markmail.org/list/org.apache.announce/</otherArchive>
-        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
-      </otherArchives>
-    </mailingList>
-  </mailingLists>
-  <build>
-    <!-- TODO find a better way to add N&L files to jars and test jars
-      See also maven-remote-resources-plugin configuration below.
-    -->
-    <resources>
-      <!-- This is the default setting from the super-pom -->
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <!-- hack to ensure the N&L appear in jars -->
-      <resource>
-        <directory>${basedir}</directory>
-        <targetPath>META-INF</targetPath>
-        <includes>
-          <include>NOTICE.txt</include>
-          <include>LICENSE.txt</include>
-        </includes>
-      </resource>
-    </resources>
-    <!-- ensure test jars also get NOTICE & LICENSE files -->
-    <testResources>
-      <!-- This is the default setting from the super-pom -->
-      <testResource>
-        <directory>src/test/resources</directory>
-      </testResource>
-      <!-- hack to ensure the N&L appear in jars -->
-      <testResource>
-        <directory>${basedir}</directory>
-        <targetPath>META-INF</targetPath>
-        <includes>
-          <include>NOTICE.txt</include>
-          <include>LICENSE.txt</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <pluginManagement>
-      <plugins>
-        <!-- org.apache.maven.plugins, alpha order by artifact id -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>${commons.compiler.version}</version>
-          <configuration>
-            <source>${maven.compiler.source}</source>
-            <target>${maven.compiler.target}</target>
-            <encoding>${commons.encoding}</encoding>
-            <!--
-              fork is set true by the java-1.x profiles
-              This allows the use of a different version of the compiler from 
the
-              JDK being used to run Maven
-            -->
-            <fork>${commons.compiler.fork}</fork>
-            <!-- the following are only needed if fork is true -->
-            
<compilerVersion>${commons.compiler.compilerVersion}</compilerVersion>
-            <executable>${commons.compiler.javac}</executable>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-assembly-plugin</artifactId>
-          <version>${commons.assembly-plugin.version}</version>
-        </plugin>
-        <!-- Apache parent includes docck -->
-        <!-- Apache parent: invoker -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <version>${commons.javadoc.version}</version>
-          <configuration>
-            <!-- keep only errors and warnings -->
-            <quiet>true</quiet>
-            <encoding>${commons.encoding}</encoding>
-            <docEncoding>${commons.docEncoding}</docEncoding>
-            <notimestamp>true</notimestamp>
-            <links>
-              <link>${commons.javadoc.java.link}</link>
-              <link>${commons.javadoc.javaee.link}</link>
-            </links>
-            <archive>
-              <manifest>
-                
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-              </manifest>
-            </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <!-- TODO see above - find better way to add N&L files to jars and 
test jars -->
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-remote-resources-plugin</artifactId>
-          <configuration>
-            <!--
-              Apache parent POM automatically adds "LICENSE" and "NOTICE" files
-              to jars - duplicating the "LICENSE.txt" and "NOTICE.txt"
-              files that components already have.
-            -->
-            <skip>true</skip>
-          </configuration>
-        </plugin>
-        <!-- Apache parent: scm -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>${commons.site-plugin.version}</version>
-          <configuration>
-            <!-- don't deploy site with maven-site-plugin -->
-            <skipDeploy>true</skipDeploy>
-          </configuration>
-          <dependencies>
-            <dependency>
-              <!-- add support for ssh/scp -->
-              <groupId>org.apache.maven.wagon</groupId>
-              <artifactId>wagon-ssh</artifactId>
-              <version>${commons.wagon-ssh.version}</version>
-            </dependency>
-          </dependencies>
-          <executions>
-            <execution>
-              <id>attach-descriptor</id>
-              <goals>
-                <goal>attach-descriptor</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-source-plugin</artifactId>
-          <version>3.0.1</version>
-          <configuration>
-            <archive>
-              <manifest>
-                
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-              </manifest>
-            </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>${commons.surefire.version}</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-failsafe-plugin</artifactId>
-          <version>${commons.failsafe.version}</version>
-        </plugin>
-        <!-- Other plugins, alpha order by groupId and artifactId -->
-        <plugin>
-          <groupId>com.github.siom79.japicmp</groupId>
-          <artifactId>japicmp-maven-plugin</artifactId>
-          <version>${commons.japicmp.version}</version>
-          <configuration>
-            <oldVersion>
-              <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>${project.artifactId}</artifactId>
-                <version>${commons.bc.version}</version>
-                <type>jar</type>
-             </dependency>
-            </oldVersion>
-            <newVersion>
-              <file>
-                
<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
-              </file>
-            </newVersion>
-            <parameter>
-              <onlyModified>true</onlyModified>
-              
<breakBuildOnBinaryIncompatibleModifications>${commons.japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
-              <!-- skip japicmp on "mvn site" - use "mvn package site" to 
include report -->
-              <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
-              <reportOnlyFilename>true</reportOnlyFilename>
-              <skipPomModules>true</skipPomModules>
-              
<ignoreMissingClasses>${commons.japicmp.ignoreMissingClasses}</ignoreMissingClasses>
-            </parameter>
-            <skip>${japicmp.skip}</skip>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.commons</groupId>
-          <artifactId>commons-build-plugin</artifactId>
-          <version>${commons.build-plugin.version}</version>
-          <configuration>
-            
<commons.release.name>${commons.release.name}</commons.release.name>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>maven-bundle-plugin</artifactId>
-          <version>${commons.felix.version}</version>
-          <inherited>true</inherited>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.rat</groupId>
-          <artifactId>apache-rat-plugin</artifactId>
-          <version>${commons.rat.version}</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>build-helper-maven-plugin</artifactId>
-          <version>${commons.build-helper.version}</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>buildnumber-maven-plugin</artifactId>
-          <version>1.4</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>clirr-maven-plugin</artifactId>
-          <version>${commons.clirr.version}</version>
-          <configuration>
-            <minSeverity>${minSeverity}</minSeverity>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>versions-maven-plugin</artifactId>
-          <!-- Version 2.2 causes an NPE with Maven 3.3.9 -->
-          <version>2.7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.jacoco</groupId>
-          <artifactId>jacoco-maven-plugin</artifactId>
-          <version>${commons.jacoco.version}</version>
-          <!-- Note that since JaCoCo relies on an agent to perform tests,
-            it changes the surefire arguments line. If a component also
-            needs to change the argument line of maven-surefire-plugin,
-            then it must add ${argLine} property (which is set by JaCoCo)
-            in the argLine configuration element of maven-surefire-plugin
-            to preserve JaCoCo settings. -->
-          <executions>
-            <execution>
-              <id>prepare-agent</id>
-              <phase>process-test-classes</phase>
-              <goals>
-                <goal>prepare-agent</goal>
-              </goals>
-            </execution>
-            <execution>
-              <id>report</id>
-              <phase>site</phase>
-              <goals>
-                <goal>report</goal>
-              </goals>
-            </execution>
-            <execution>
-              <id>check</id>
-              <goals>
-                <goal>check</goal>
-              </goals>
-              <configuration>
-                <rules>
-                  <rule>
-                    <element>BUNDLE</element>
-                    <limits>
-                      <limit>
-                        <counter>CLASS</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.classRatio}</minimum>
-                      </limit>
-                      <limit>
-                        <counter>INSTRUCTION</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.instructionRatio}</minimum>
-                      </limit>
-                      <limit>
-                        <counter>METHOD</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.methodRatio}</minimum>
-                      </limit>
-                      <limit>
-                        <counter>BRANCH</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.branchRatio}</minimum>
-                      </limit>
-                      <limit>
-                        <counter>LINE</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.lineRatio}</minimum>
-                      </limit>
-                      <limit>
-                        <counter>COMPLEXITY</counter>
-                        <value>COVEREDRATIO</value>
-                        <minimum>${commons.jacoco.complexityRatio}</minimum>
-                      </limit>
-                    </limits>
-                  </rule>
-                </rules>
-                <haltOnFailure>${commons.jacoco.haltOnFailure}</haltOnFailure>
-              </configuration>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-project-info-reports-plugin</artifactId>
-          <version>${commons.project-info.version}</version>
-          <dependencies>
-            <dependency>
-              <groupId>org.apache.bcel</groupId>
-              <artifactId>bcel</artifactId>
-              <version>6.3.1</version>
-            </dependency>
-          </dependencies>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <!-- org.apache.maven.plugins, alpha order by artifact id -->
-      <plugin>
-        <!-- Parent POM is released, so needs source archive for ASF mirrors 
-->
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptors>
-            <descriptor>src/assembly/src.xml</descriptor>
-          </descriptors>
-          <tarLongFileMode>gnu</tarLongFileMode>
-        </configuration>
-      </plugin>
-      <plugin>
-        <!--
-          - Copy LICENSE.txt and NOTICE.txt so that they are included
-          - in the -javadoc jar file for the component.
-        -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>javadoc.resources</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <target>
-                <copy todir="${project.build.directory}/apidocs/META-INF">
-                  <fileset dir="${basedir}">
-                    <include name="LICENSE.txt" />
-                    <include name="NOTICE.txt" />
-                  </fileset>
-                </copy>
-              </target>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-      <!-- Unfortunately the much simpler
-        <prerequisites><maven>3.0</maven></prerequisites>
-        is not inherited so we have to use the enforcer plugin
-      -->
-      <plugin>
-        <inherited>true</inherited>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-enforcer-plugin</artifactId>
-        <version>3.0.0-M2</version>
-        <configuration>
-          <rules>
-            <requireMavenVersion>
-              <version>3.0.5</version>
-            </requireMavenVersion>
-            <requireJavaVersion>
-              <version>${maven.compiler.target}</version>
-            </requireJavaVersion>
-          </rules>
-          <fail>true</fail>
-        </configuration>
-        <executions>
-          <execution>
-            <id>enforce-maven-3</id>
-            <goals>
-              <goal>enforce</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${commons.jar-plugin.version}</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-            <configuration>
-              <!-- Avoids an error when releasing the parent pom -->
-              <skipIfEmpty>true</skipIfEmpty>
-            </configuration>
-          </execution>
-        </executions>
-        <configuration>
-          <archive>
-            <manifestFile>${commons.manifestfile}</manifestFile>
-            <manifestEntries>
-              <Specification-Title>${project.name}</Specification-Title>
-              <Specification-Version>${project.version}</Specification-Version>
-              
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
-              <Implementation-Title>${project.name}</Implementation-Title>
-              
<Implementation-Version>${project.version}</Implementation-Version>
-              
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
-              <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
-              
<Implementation-Build>${implementation.build}</Implementation-Build>
-              
<X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
-              
<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
-            </manifestEntries>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-source-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>create-source-jar</id>
-            <goals>
-              <goal>jar-no-fork</goal>
-              <goal>test-jar-no-fork</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <!--
-            commons.surefire.java is normally empty.
-            It is defined by the java-1.x profiles to change the JVM used by 
Surefire
-          -->
-          <jvm>${commons.surefire.java}</jvm>
-        </configuration>
-      </plugin>
-      <!-- Other plugins, alpha order by groupId and artifactId -->
-      <plugin>
-        <groupId>org.apache.commons</groupId>
-        <artifactId>commons-build-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <configuration>
-          <!--
-            dummy entry to stop bundle plugin from picking up jar config and 
reporting
-            WARNING: Duplicate name in Manifest
-            See http://markmail.org/message/mpkl24wk3jrjhhjg
-          -->
-          <archive>
-            <forced>true</forced>
-          </archive>
-          
<excludeDependencies>${commons.osgi.excludeDependencies}</excludeDependencies>
-          <manifestLocation>${project.build.directory}/osgi</manifestLocation>
-          <instructions>
-            <!-- stops the "uses" clauses being added to "Export-Package" 
manifest entry -->
-            <_nouses>true</_nouses>
-            <!-- Stop the JAVA_1_n_HOME variables from being treated as 
headers by Bnd -->
-            
<_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME,JAVA_1_9_HOME</_removeheaders>
-            
<Bundle-SymbolicName>${commons.osgi.symbolicName}</Bundle-SymbolicName>
-            <Export-Package>${commons.osgi.export}</Export-Package>
-            <Private-Package>${commons.osgi.private}</Private-Package>
-            <Import-Package>${commons.osgi.import}</Import-Package>
-            
<DynamicImport-Package>${commons.osgi.dynamicImport}</DynamicImport-Package>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-          </instructions>
-        </configuration>
-        <executions>
-          <execution>
-            <id>bundle-manifest</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>manifest</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn 
apache-rat:check -->
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <!-- Should agree with config in reporting section -->
-        <configuration>
-          <!--
-            If you wish to override this list in the component (child) pom, 
ensure you use
-            <excludes combine.children="merge">
-            so that the child pom entries replace the parent entries
-          -->
-          <excludes combine.children="append">
-            <exclude>site-content/**</exclude>
-            <exclude>.checkstyle</exclude>
-            <exclude>.fbprefs</exclude>
-            <exclude>.pmd</exclude>
-            <exclude>src/site/resources/download_*.cgi</exclude>
-            <exclude>src/site/resources/profile.*</exclude>
-            <exclude>profile.*</exclude>
-            <!-- Exclude Eclipse local files and folders -->
-            <exclude>maven-eclipse.xml</exclude>
-            <exclude>.externalToolBuilders/**</exclude>
-          </excludes>
-        </configuration>
-        <executions>
-          <execution>
-            <id>rat-check</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-scm-publish-plugin</artifactId>
-        <configuration>
-          <content>${project.reporting.outputDirectory}</content>
-          <pubScmUrl>scm:svn:${commons.scmPubUrl}</pubScmUrl>
-          
<checkoutDirectory>${commons.scmPubCheckoutDirectory}</checkoutDirectory>
-          <serverId>${commons.scmPubServer}</serverId>
-          <tryUpdate>true</tryUpdate>
-        </configuration>
-        <executions>
-          <execution>
-            <id>scm-publish</id>
-            <phase>site-deploy</phase><!-- deploy site with 
maven-scm-publish-plugin -->
-            <goals>
-              <goal>publish-scm</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-  <reporting>
-    <!-- N.B. plugins defined here in the <reporting> section ignore what's 
defined in <pluginManagement>
-      in the <build> section above, so we have to define the versions here. -->
-    <plugins>
-      <!-- org.apache.maven.plugins, alpha order by artifact id -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <version>${commons.changes.version}</version>
-        <configuration>
-          <xmlPath>${basedir}/src/changes/changes.xml</xmlPath>
-          <columnNames>Fix 
Version,Key,Component,Summary,Type,Resolution,Status</columnNames>
-          <!-- Sort cols in natural order when using JQL for JIRA 5.1 -->
-          <sortColumnNames>Fix Version DESC,Type,Key DESC</sortColumnNames>
-          <resolutionIds>Fixed</resolutionIds>
-          <statusIds>Resolved,Closed</statusIds>
-          <!-- Don't include sub-task -->
-          <typeIds>Bug,New Feature,Task,Improvement,Wish,Test</typeIds>
-          <!-- For JIRA >= 5.1 -->
-          <useJql>true</useJql>
-          
<onlyCurrentVersion>${commons.changes.onlyCurrentVersion}</onlyCurrentVersion>
-          <maxEntries>${commons.changes.maxEntries}</maxEntries>
-          
<runOnlyAtExecutionRoot>${commons.changes.runOnlyAtExecutionRoot}</runOnlyAtExecutionRoot>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-              <report>jira-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>${commons.javadoc.version}</version>
-        <configuration>
-          <!-- keep only errors and warnings -->
-          <quiet>true</quiet>
-          <source>${maven.compiler.source}</source>
-          <encoding>${commons.encoding}</encoding>
-          <docencoding>${commons.docEncoding}</docencoding>
-          <notimestamp>true</notimestamp>
-          <linksource>true</linksource>
-          <!-- prevent svnpub to be too much noisy -->
-          <notimestamp>true</notimestamp>
-          <links>
-            <link>${commons.javadoc.java.link}</link>
-            <link>${commons.javadoc.javaee.link}</link>
-          </links>
-        </configuration>
-        <!-- Suppress test Javadocs -->
-        <reportSets>
-          <reportSet>
-            <id>default</id>
-            <reports>
-              <report>javadoc</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <version>${commons.jxr.version}</version>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>${commons.project-info.version}</version>
-        <!--
-          Unfortunately it does not appear to be possible to override
-          reports configured in a parent POM.
-          See https://jira.codehaus.org/browse/MPIR-241
-          and https://issues.apache.org/jira/browse/MPOM-32
-          So we define here all those reports that are suitable for
-          all components.
-          Components can add extra reports if they wish, but cannot disable 
any.
-        -->
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>index</report>
-              <report>summary</report>
-              <report>modules</report>
-              <!-- <report>license</report> site must link to ASF page instead 
-->
-              <report>team</report>
-              <report>scm</report>
-              <report>issue-management</report>
-              <report>mailing-lists</report>
-              <report>dependency-info</report>
-              <report>dependency-management</report>
-              <report>dependencies</report>
-              <report>dependency-convergence</report>
-              <report>ci-management</report>
-              <!-- <report>plugin-management</report> not very useful for end 
users -->
-              <!-- <report>plugins</report> not very useful for end users -->
-              <report>distribution-management</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-site-plugin</artifactId>
-        <version>${commons.site-plugin.version}</version>
-        <configuration>
-          <!-- Exclude the navigation file for Maven 1 sites
-            and the changes file used by the changes-plugin,
-            as they interfere with the site generation. -->
-          <moduleExcludes>
-            <xdoc>navigation.xml,changes.xml</xdoc>
-          </moduleExcludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-report-plugin</artifactId>
-        <version>${commons.surefire-report.version}</version>
-        <configuration>
-          <aggregate>${commons.surefire-report.aggregate}</aggregate>
-        </configuration>
-      </plugin>
-      <!-- Other plugins, alpha order by groupId and artifactId -->
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <version>${commons.rat.version}</version>
-        <!-- Should agree with config in build section -->
-        <configuration>
-          <!--
-            If you wish to override this list in the component (child) pom, 
ensure you use
-            <excludes combine.children="merge">
-            so that the child pom entries replace the parent entries
-          -->
-          <excludes combine.children="append">
-            <exclude>site-content/**</exclude>
-            <exclude>.checkstyle</exclude>
-            <exclude>.fbprefs</exclude>
-            <exclude>.pmd</exclude>
-            <exclude>src/site/resources/download_*.cgi</exclude>
-            <exclude>src/site/resources/profile.*</exclude>
-            <exclude>profile.*</exclude>
-            <!-- Exclude Eclipse local files and folders -->
-            <exclude>maven-eclipse.xml</exclude>
-            <exclude>.externalToolBuilders/**</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>jdepend-maven-plugin</artifactId>
-        <version>${commons.jdepend.version}</version>
-      </plugin>
-      <plugin>
-        <groupId>com.github.siom79.japicmp</groupId>
-        <artifactId>japicmp-maven-plugin</artifactId>
-        <version>${commons.japicmp.version}</version>
-        <configuration>
-          <parameter>
-            <onlyModified>true</onlyModified>
-            
<breakBuildOnBinaryIncompatibleModifications>${commons.japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
-            <!-- skip japicmp on "mvn site" - use "mvn package site" to 
include report -->
-            <skipPomModules>true</skipPomModules>
-            <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
-            <reportOnlyFilename>true</reportOnlyFilename>
-          </parameter>
-        </configuration>
-      </plugin>
-    </plugins>
-  </reporting>
-
-  <profiles>
-    <profile>
-      <id>svn</id>
-      <activation>
-        <file>
-          <exists>.svn</exists>
-        </file>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>buildnumber-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>validate</phase>
-                <goals>
-                  <goal>create</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <!-- Use committed revision so it does not change every time svn 
update is run -->
-              <useLastCommittedRevision>true</useLastCommittedRevision>
-              <!-- default revision number if unavailable -->
-              <revisionOnScmFailure>??????</revisionOnScmFailure>
-              <!-- svnjava works even if an svn command-line client is not on 
the path -->
-              <providerImplementations>
-                <svn>javasvn</svn>
-              </providerImplementations>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <profile>
-      <!--
-        Add an automatic module name to the manifest if the file
-        'profile.module-name' exists. The name must be provided in the property
-        'commons.module.name'.
-      -->
-      <id>module-name</id>
-      <activation>
-        <file>
-          <exists>profile.module-name</exists>
-        </file>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-jar-plugin</artifactId>
-            <configuration>
-              <archive combine.children="append">
-                <manifestEntries>
-                  
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
-                </manifestEntries>
-              </archive>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <profile>
-      <!--
-        Make the version parts of the maven.compiler.target property
-        available as separate properties, so that they can be used to define
-        the java signature artifactId used by animal-sniffer etc.
-      -->
-      <id>parse-target-version</id>
-      <activation>
-        <property>
-          <!--
-            This property should always be defined.
-            The intention is to ensure that the profile is always enabled.
-            (activeByDefault only applies if other profiles are not enabled)
-          -->
-          <name>user.home</name>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>build-helper-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>parse-version</id>
-                <!-- default is: <phase>validate</phase> -->
-                <goals>
-                  <goal>parse-version</goal>
-                </goals>
-                <configuration>
-                  <propertyPrefix>javaTarget</propertyPrefix>
-                  <versionString>${maven.compiler.target}</versionString>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Runs the Animal Sniffer plugin to check that generated code does not 
included references
-      to methods/classes etc that are not present in the standard Java runtime 
for the defined target version.
-      To bypass the checks, define "animal.sniffer.skip" as true, or create 
the file "src/site/resources/profile.noanimal"
-    -->
-
-    <profile>
-      <id>animal-sniffer</id>
-      <activation>
-        <!-- active unless the file is found -->
-        <file>
-          <missing>src/site/resources/profile.noanimal</missing>
-        </file>
-      </activation>
-
-      <properties>
-        <!-- define this as a property to allow command-line override -->
-        
<animal-sniffer.signature>java${javaTarget.majorVersion}${javaTarget.minorVersion}</animal-sniffer.signature>
-      </properties>
-
-      <build>
-        <plugins>
-
-          <!-- Run the Animal Sniffer checks -->
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>animal-sniffer-maven-plugin</artifactId>
-            <version>${commons.animal-sniffer.version}</version>
-            <executions>
-              <execution>
-                <id>checkAPIcompatibility</id>
-                <!-- default is: <phase>process-classes</phase> -->
-                <!-- Note: if the plugin is ever enhanced to check test classes
-                  it will presumably need to be bound to process-test-classes 
instead
-                -->
-                <goals>
-                  <goal>check</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <signature>
-                <groupId>org.codehaus.mojo.signature</groupId>
-                <artifactId>${animal-sniffer.signature}</artifactId>
-                <version>${commons.animal-sniffer.signature.version}</version>
-              </signature>
-            </configuration>
-          </plugin>
-
-        </plugins>
-      </build>
-    </profile>
-
-    <profile>
-      <id>jacoco</id>
-      <activation>
-        <!--
-          N.B. in spite of what the Maven docs may say,
-          activation conditions are ORed together, see:
-          http://jira.codehaus.org/browse/MNG-4565
-          Fairly useless, but that's what was done in
-          http://jira.codehaus.org/browse/MNG-3106
-
-          So we cannot also check for Java 1.5+
-          This should not be a problem now as the profile is optional.
-          Components that still target Java 1.4 or earlier
-          just need to ensure they don't use JaCoCo by default.
-        -->
-        <file>
-          <exists>src/site/resources/profile.jacoco</exists>
-        </file>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${commons.jacoco.version}</version>
-          </plugin>
-        </plugins>
-      </build>
-      <reporting>
-        <plugins>
-          <plugin>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${commons.jacoco.version}</version>
-          </plugin>
-        </plugins>
-      </reporting>
-    </profile>
-
-    <profile>
-      <id>cobertura</id>
-      <activation>
-        <file>
-          <exists>src/site/resources/profile.cobertura</exists>
-        </file>
-      </activation>
-      <reporting>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>cobertura-maven-plugin</artifactId>
-            <version>${commons.cobertura.version}</version>
-          </plugin>
-        </plugins>
-      </reporting>
-    </profile>
-
-    <profile>
-      <id>clirr</id>
-      <activation>
-        <file>
-          <exists>src/site/resources/profile.clirr</exists>
-        </file>
-      </activation>
-      <reporting>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>clirr-maven-plugin</artifactId>
-            <version>${commons.clirr.version}</version>
-          </plugin>
-        </plugins>
-      </reporting>
-    </profile>
-
-    <!-- alternative to clirr, will fail build if binary compatibility is 
broken -->
-    <profile>
-      <id>japicmp</id>
-      <properties>
-        <japicmp.skip>false</japicmp.skip>
-      </properties>
-      <activation>
-        <file>
-          <exists>src/site/resources/profile.japicmp</exists>
-        </file>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>com.github.siom79.japicmp</groupId>
-            <artifactId>japicmp-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>verify</phase>
-                <goals>
-                  <goal>cmp</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-      <reporting>
-        <plugins>
-          <plugin>
-            <groupId>com.github.siom79.japicmp</groupId>
-            <artifactId>japicmp-maven-plugin</artifactId>
-            <version>${commons.japicmp.version}</version>
-          </plugin>
-        </plugins>
-      </reporting>
-    </profile>
-
-    <!--
-      Profile for Commons releases via Nexus.
-      Assembles artifacts, creates source and javadoc jars, signs them and 
adds hashes.
-    -->
-    <profile>
-      <id>release</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-install-plugin</artifactId>
-            <configuration>
-              <createChecksum>true</createChecksum>
-            </configuration>
-          </plugin>
-          <plugin>
-            <artifactId>maven-release-plugin</artifactId>
-            <configuration>
-              <!-- Pass these arguments to the deploy plugin. -->
-              <arguments>-Prelease</arguments>
-            </configuration>
-          </plugin>
-          <plugin>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>create-javadoc-jar</id>
-                <goals>
-                  <goal>javadoc</goal>
-                  <goal>jar</goal>
-                </goals>
-                <phase>package</phase>
-              </execution>
-            </executions>
-            <configuration>
-              <source>${maven.compiler.source}</source>
-            </configuration>
-          </plugin>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <version>${commons.assembly-plugin.version}</version>
-            <inherited>true</inherited>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>single</goal>
-                </goals>
-                <!-- COMMONSSITE-87 Ensure this runs after all package phase 
plugins -->
-                <phase>verify</phase>
-              </execution>
-            </executions>
-          </plugin>
-          <!-- We want to sign the artifact, the POM, and all attached 
artifacts -->
-          <plugin>
-            <artifactId>maven-gpg-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>sign-artifacts</id>
-                <phase>verify</phase>
-                <goals>
-                  <goal>sign</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-release-plugin</artifactId>
-            <version>${commons.release-plugin.version}</version>
-            <executions>
-              <execution>
-                <id>clean-staging</id>
-                <phase>clean</phase>
-                <goals>
-                  <goal>clean-staging</goal>
-                </goals>
-              </execution>
-              <execution>
-                <id>detatch-distributions</id>
-                <phase>verify</phase>
-                <goals>
-                  <goal>detach-distributions</goal>
-                </goals>
-              </execution>
-              <execution>
-                <id>stage-distributions</id>
-                <phase>deploy</phase>
-                <goals>
-                  <goal>stage-distributions</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      profile to update the Apache parent pom profile of the same name
-      to better suit the requirements of Apache Commons.
-      [Requires further work]
-    -->
-    <profile>
-      <id>apache-release</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-release-plugin</artifactId>
-            <configuration>
-              <releaseProfiles>apache-release</releaseProfiles>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-source-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-test-sources</id>
-                <goals>
-                  <goal>test-jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <artifactId>maven-install-plugin</artifactId>
-            <configuration>
-              <createChecksum>true</createChecksum>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-jar-plugin</artifactId>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>test-jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.3
-      (JAVA_1_3_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.3</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.3</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_3_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_3_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.4
-      (JAVA_1_4_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.4</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.4</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_4_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_4_HOME}/bin/java</commons.surefire.java>
-        <!-- later versions of surefire don't support Java 1.4 -->
-        <commons.surefire.version>2.11</commons.surefire.version>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.5
-      (JAVA_1_5_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.5</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.5</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_5_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_5_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.6
-      (JAVA_1_6_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.6</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.6</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_6_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_6_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.7
-      (JAVA_1_7_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.7</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.7</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_7_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_7_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.8
-      (JAVA_1_8_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.8</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.8</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_8_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_8_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.9
-      (JAVA_1_9_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.9</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.9</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_9_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_9_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.10
-      (JAVA_1_10_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.10</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.10</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_10_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_10_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!--
-      Profile for running the build using JDK 1.11
-      (JAVA_1_11_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
-    -->
-    <profile>
-      <id>java-1.11</id>
-      <properties>
-        <commons.compiler.fork>true</commons.compiler.fork>
-        
<commons.compiler.compilerVersion>1.11</commons.compiler.compilerVersion>
-        
<commons.compiler.javac>${JAVA_1_11_HOME}/bin/javac</commons.compiler.javac>
-        
<commons.surefire.java>${JAVA_1_11_HOME}/bin/java</commons.surefire.java>
-      </properties>
-    </profile>
-
-    <!-- N.B. when adding new java profiles, be sure to update
-      the _removeheaders list in the maven_bundle_plugin configuration -->
-
-    <!--
-      | Profile to allow testing of deploy phase
-      | e.g.
-      | mvn deploy -Ptest-deploy -Prelease -Dgpg.skip
-    -->
-    <profile>
-      <id>test-deploy</id>
-      <properties>
-        
<altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
-        <commons.release.dryRun>true</commons.release.dryRun>
-      </properties>
-    </profile>
-
-    <profile>
-      <!--
-        Generate release notes in top-level directory from 
src/changes/changes.xml
-        Usage:
-        mvn changes:announcement-generate -Prelease-notes 
[-Dchanges.version=nnn]
-
-        Defining changes.version allows one to create the RN without first 
removing the SNAPSHOT suffix.
-
-        Requires file src/changes/release-notes.vm.
-        A sample template is available from:
-        
https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm
-      -->
-      <id>release-notes</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-changes-plugin</artifactId>
-            <version>${commons.changes.version}</version>
-            <configuration>
-              <template>release-notes.vm</template>
-              <templateDirectory>src/changes</templateDirectory>
-              <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-              <announcementDirectory>.</announcementDirectory>
-              <announcementFile>RELEASE-NOTES.txt</announcementFile>
-              <announceParameters>
-                <releaseVersion>${commons.release.version}</releaseVersion>
-              </announceParameters>
-            </configuration>
-            <executions>
-              <execution>
-                <id>create-release-notes</id>
-                <phase>generate-resources</phase>
-                <goals>
-                  <goal>announcement-generate</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Automatically run the buildnumber plugin unless the buildNumber.skip 
property is defined as true
-    -->
-    <profile>
-      <id>svn-buildnumber</id>
-      <activation>
-        <property>
-          <name>!buildNumber.skip</name>
-          <value>!true</value>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>buildnumber-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>generate-resources</phase>
-                <goals>
-                  <goal>create</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <!-- Use committed revision so it does not change every time svn 
update is run -->
-              <useLastCommittedRevision>true</useLastCommittedRevision>
-              <!-- default revision number if unavailable -->
-              <revisionOnScmFailure>??????</revisionOnScmFailure>
-              <doCheck>false</doCheck>
-              <doUpdate>false</doUpdate>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <!-- optional profile to use javasvn instead of the SVN CLI for the 
buildNumber plugin -->
-    <profile>
-      <id>javasvn</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>buildnumber-maven-plugin</artifactId>
-            <configuration>
-              <providerImplementations>
-                <svn>javasvn</svn>
-              </providerImplementations>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <!-- profile to allow the use of plugin versions that require Java 7+ -->
-    <profile>
-      <id>jdk7-plugin-fix-version</id>
-      <activation>
-        <jdk>[1.7,)</jdk>
-      </activation>
-      <properties>
-      </properties>
-    </profile>
-
-    <!-- allow simple creation of the site without any optional reports -->
-    <profile>
-      <id>site-basic</id>
-      <properties>
-        <skipTests>true</skipTests>
-        <maven.javadoc.skip>true</maven.javadoc.skip>
-        <cobertura.skip>true</cobertura.skip>
-        <findbugs.skip>true</findbugs.skip>
-        <spotbugs.skip>true</spotbugs.skip>
-        <checkstyle.skip>true</checkstyle.skip>
-        <clirr.skip>true</clirr.skip>
-        <changes.jira.skip>true</changes.jira.skip>
-        <rat.skip>true</rat.skip> <!-- from version 0.12 -->
-        <jacoco.skip>true</jacoco.skip>
-        <japicmp.skip>true</japicmp.skip>
-        <skipSurefireReport>true</skipSurefireReport>
-      </properties>
-    </profile>
-
-    <profile>
-      <id>travis-cobertura</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>cobertura-maven-plugin</artifactId>
-            <version>${commons.cobertura.version}</version>
-            <configuration>
-              <formats>
-                <format>xml</format>
-              </formats>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.eluder.coveralls</groupId>
-            <artifactId>coveralls-maven-plugin</artifactId>
-            <version>${commons.coveralls.version}</version>
-            <configuration>
-              
<timestampFormat>${commons.coveralls.timestampFormat}</timestampFormat>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <profile>
-      <id>travis-jacoco</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${commons.jacoco.version}</version>
-          </plugin>
-          <plugin>
-            <groupId>org.eluder.coveralls</groupId>
-            <artifactId>coveralls-maven-plugin</artifactId>
-            <version>${commons.coveralls.version}</version>
-            <configuration>
-              
<timestampFormat>${commons.coveralls.timestampFormat}</timestampFormat>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-  </profiles>
-
-  <properties>
-    <!-- configuration bits for cutting a release candidate, must be 
overridden by components -->
-    <commons.release.version>${project.version}</commons.release.version>
-    <commons.rc.version>RC1</commons.rc.version>
-    <commons.jira.id>COMMONSSITE</commons.jira.id>
-
-    <!-- Default configuration for compiler source and target JVM -->
-    <!-- Do NOT change this; it must remain as 1.3 -->
-    <!--
-      It's important that child POMs don't need to change when the parent POM 
is updated.
-      At the time when these properties were introduced, the default Java 
version was 1.3.
-      Thus components that failed to define the version would not be affected 
by updates
-      to the Commons Parent or its parent the Apache pom.
-      Of course most if not all components now define the properties.
-      However it's still important to keep the properties as they effectively
-      force child poms to define the Java version they require.
-    -->
-    <maven.compiler.source>1.3</maven.compiler.source>
-    <maven.compiler.target>1.3</maven.compiler.target>
-
-    <!-- compiler and surefire plugin settings for "java" profiles -->
-    <commons.compiler.fork>false</commons.compiler.fork>
-    <commons.compiler.compilerVersion />
-    <commons.compiler.javac />
-
-    <!-- plugin versions (allows same value in reporting and build sections; 
also allows easy override) -->
-    <commons.build-plugin.version>1.10</commons.build-plugin.version>
-    <commons.release-plugin.version>1.6</commons.release-plugin.version>
-    <commons.surefire.version>2.22.1</commons.surefire.version>
-    <commons.failsafe.version>2.22.1</commons.failsafe.version>
-    <commons.surefire-report.version>2.22.1</commons.surefire-report.version>
-    <commons.javadoc.version>3.1.0</commons.javadoc.version>
-    <commons.rat.version>0.13</commons.rat.version>
-    <commons.changes.version>2.12.1</commons.changes.version>
-    <commons.clirr.version>2.8</commons.clirr.version>
-    <commons.japicmp.version>0.14.0</commons.japicmp.version>
-    <commons.jxr.version>3.0.0</commons.jxr.version>
-    <commons.project-info.version>3.0.0</commons.project-info.version>
-    <commons.wagon-ssh.version>3.3.2</commons.wagon-ssh.version>
-    <!--
-      Note: Maven site plugin 3.5.1 is the latest version but is not a direct 
replacement:
-
-      https://maven.apache.org/plugins/maven-site-plugin/migrate.html
-
-      In particular, adding CDATA to header and footer sections is not 
backwards compatible.
-      I.e. these have to be updated at the same time.
-
-      Also it causes the following errors:
-
-      [ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site (default-site) on project 
commons-parent:
-      Execution default-site of goal 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site failed:
-      A required class was missing while executing 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site: 
org/apache/maven/doxia/sink/impl/XhtmlBaseSink
-
-      This is because Apache POM 17 forces an older version of Doxia core:
-      
https://mail-archives.apache.org/mod_mbox/maven-users/201602.mbox/%3C2337255.xU7aS9G1qr@herve-desktop%3E
-
-      The same error applies when running with version 3.5.
-
-      Since the version is defined as a property, the CP version can be 
overridden as follows if necessary:
-
-      mvn site -Dcommons.site-plugin.version=3.5.1
-
-      You will also need to add a dependency on Doxia core:
-      <artifactId>maven-site-plugin</artifactId>
-      <dependencies>
-      <dependency>
-      <groupId>org.apache.maven.doxia</groupId>
-      <artifactId>doxia-core</artifactId>
-      <version>1.8</version>
-      </dependency>
-      </dependencies>
-
-    -->
-    <commons.jar-plugin.version>3.1.1</commons.jar-plugin.version>
-    <commons.assembly-plugin.version>3.1.1</commons.assembly-plugin.version>
-    <commons.site-plugin.version>3.7.1</commons.site-plugin.version>
-    <commons.jacoco.version>0.8.3</commons.jacoco.version>
-    <commons.cobertura.version>2.7</commons.cobertura.version>
-    <commons.coveralls.version>4.3.0</commons.coveralls.version>
-    
<commons.coveralls.timestampFormat>EpochMillis</commons.coveralls.timestampFormat>
-    <commons.jdepend.version>2.0</commons.jdepend.version>
-    <commons.compiler.version>3.8.0</commons.compiler.version>
-    <commons.scm-publish.version>1.1</commons.scm-publish.version>
-    <commons.findbugs.version>3.0.5</commons.findbugs.version>
-    <commons.spotbugs.version>3.1.6</commons.spotbugs.version>
-    <commons.felix.version>4.2.0</commons.felix.version>
-    <commons.build-helper.version>3.0.0</commons.build-helper.version>
-    <commons.animal-sniffer.version>1.17</commons.animal-sniffer.version>
-    <!-- Almost all signatures use version 1.0. Allow override just in case -->
-    
<commons.animal-sniffer.signature.version>1.0</commons.animal-sniffer.signature.version>
-
-    <!-- Default values for the download-page generation by 
commons-build-plugin -->
-    
<commons.release.name>${project.artifactId}-${commons.release.version}</commons.release.name>
-    <commons.release.desc />
-    <commons.binary.suffix>-bin</commons.binary.suffix>
-    
<commons.release.2.name>${project.artifactId}-${commons.release.2.version}</commons.release.2.name>
-    <commons.release.2.desc />
-    <commons.release.2.binary.suffix>-bin</commons.release.2.binary.suffix>
-    
<commons.release.3.name>${project.artifactId}-${commons.release.3.version}</commons.release.3.name>
-    <commons.release.3.desc />
-    <commons.release.3.binary.suffix>-bin</commons.release.3.binary.suffix>
-
-    <!-- Default values for the jacoco-maven-plugin reports -->
-    <commons.jacoco.classRatio>1.00</commons.jacoco.classRatio>
-    <commons.jacoco.instructionRatio>0.90</commons.jacoco.instructionRatio>
-    <commons.jacoco.methodRatio>0.95</commons.jacoco.methodRatio>
-    <commons.jacoco.branchRatio>0.85</commons.jacoco.branchRatio>
-    <commons.jacoco.complexityRatio>0.85</commons.jacoco.complexityRatio>
-    <commons.jacoco.lineRatio>0.90</commons.jacoco.lineRatio>
-    <commons.jacoco.haltOnFailure>false</commons.jacoco.haltOnFailure>
-
-    <!-- The Commons component id is used on the distribution server, for 
example:
-         - Use dbcp instead of dbcp2. 
-         - Use collections instead of collections4.
-         - Use lang instead of lang3. 
-         - Use pool instead of pool2.
-         - and so on... 
-    -->
-    <commons.componentid>${project.artifactId}</commons.componentid>
-    
-    <!-- The package id is substring of the package name from 
o.a.commons.(.*)., for example:
-         - Use dbcp2 instead of dbcp.
-         - Use collections4 instead of collections.
-         - Use lang3 instead of lang.
-         - Use pool2 instead of pool.
-         - and so on...
-    -->
-    <commons.packageId>${project.artifactId}</commons.packageId>
-    
-    <!-- Configuration properties for the OSGi maven-bundle-plugin -->
-    
<commons.osgi.symbolicName>org.apache.commons.${commons.packageId}</commons.osgi.symbolicName>
-    
<commons.osgi.export>org.apache.commons.*;version=${project.version};-noimport:=true</commons.osgi.export>
-    <commons.osgi.import>*</commons.osgi.import>
-    <commons.osgi.dynamicImport />
-    <commons.osgi.private />
-    <commons.osgi.excludeDependencies>true</commons.osgi.excludeDependencies>
-
-    <!-- location of any manifest file used by maven-jar-plugin -->
-    
<commons.manifestfile>${project.build.directory}/osgi/MANIFEST.MF</commons.manifestfile>
-
-    <!--
-      Make the deployment protocol pluggable. This allows to switch to
-      other protocols like scpexe, which some users prefer over scp.
-    -->
-    <commons.deployment.protocol>scp</commons.deployment.protocol>
-
-    <!--
-      Encoding of Java source files: ensures that the compiler and
-      the javadoc generator use the right encoding. Subprojects may
-      overwrite this, if they are using another encoding.
-    -->
-    <commons.encoding>iso-8859-1</commons.encoding>
-    <!-- used in this pom to provide the Javadoc HTML file encoding -->
-    <commons.docEncoding>${commons.encoding}</commons.docEncoding>
-    <!-- Define source encoding for filtering; used by general plugins -->
-    
<project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding>
-    <!-- This is used by reporting plugins -->
-    
<project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding>
-
-    <!-- Javadoc link to Java API. Default is Java 1.7; components can 
override to other versions -->
-    
<commons.javadoc.java.link>http://docs.oracle.com/javase/7/docs/api/</commons.javadoc.java.link>
-    
<commons.javadoc.javaee.link>http://docs.oracle.com/javaee/6/api/</commons.javadoc.javaee.link>
-
-    <!-- build meta inf -->
-    <maven.build.timestamp.format>yyyy-MM-dd 
HH:mm:ssZ</maven.build.timestamp.format>
-    <implementation.build>${scmBranch}@r${buildNumber}; 
${maven.build.timestamp}</implementation.build>
-
-    <!-- Allow Clirr severity to be overriden by the command-line option 
-DminSeverity=level -->
-    <minSeverity>info</minSeverity>
-
-    <!-- Control number of issues retrieved from JIRA with changes plugin -->
-    <commons.changes.maxEntries>100</commons.changes.maxEntries>
-
-    <!-- Allow surefire-report aggregation to be easily configured for 
multi-module projects -->
-    
<commons.surefire-report.aggregate>false</commons.surefire-report.aggregate>
-
-    <!-- Allow changes Jira report to be restricted to just the current 
version (plugin default is false) -->
-    
<commons.changes.onlyCurrentVersion>false</commons.changes.onlyCurrentVersion>
-    <!-- Allow changes Jira report maxEntries to be overridden (plugin default 
100) -->
-    <commons.changes.maxEntries>100</commons.changes.maxEntries>
-    <!-- Allow changes Jira report runOnlyAtExecutionRoot to be overridden 
(plugin default is false) -->
-    
<commons.changes.runOnlyAtExecutionRoot>false</commons.changes.runOnlyAtExecutionRoot>
-
-    <!-- scm publish plugin configuration -->
-    <commons.site.cache>${user.home}/commons-sites</commons.site.cache>
-    <!-- value modules can override it -->
-    <commons.site.path>${commons.componentid}</commons.site.path>
-
-    
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-${commons.componentid}</commons.scmPubUrl>
-    
<commons.scmPubCheckoutDirectory>${commons.site.cache}/${commons.site.path}</commons.scmPubCheckoutDirectory>
-    <commons.scmPubServer>commons.site</commons.scmPubServer>
-    
-    <!-- allow japicmp's breakBuildOnBinaryIncompatibleModifications
-      to be overridden, plugin's default is false -->
-    
<commons.japicmp.breakBuildOnBinaryIncompatibleModifications>true</commons.japicmp.breakBuildOnBinaryIncompatibleModifications>
-    
<commons.japicmp.ignoreMissingClasses>false</commons.japicmp.ignoreMissingClasses>
-    <!-- disable japicmp by default -->
-    <japicmp.skip>true</japicmp.skip>
-
-    <!-- Commons Release plugin: dist dev site -->
-    
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
-
-    <!-- Commons Release plugin: release manager -->
-    <commons.releaseManagerName>${user.name}</commons.releaseManagerName>
-    <commons.releaseManagerKey>DEADBEEF</commons.releaseManagerKey>
-    
-    <sonar.host.url>https://analysis.apache.org/</sonar.host.url>
-
-  </properties>
-
-</project>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+   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
+
+       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/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>21</version>
+  </parent>
+  <groupId>org.apache.commons</groupId>
+  <artifactId>commons-parent</artifactId>
+  <packaging>pom</packaging>
+  <version>49-SNAPSHOT</version>
+  <name>Apache Commons Parent</name>
+  <url>http://commons.apache.org/commons-parent-pom.html</url>
+  <description>The Apache Commons Parent POM provides common settings for all 
Apache Commons components.</description>
+  <issueManagement>
+    <system>jira</system>
+    <url>http://issues.apache.org/jira/browse/COMMONSSITE</url>
+  </issueManagement>
+
+  <prerequisites>
+    <maven>3.0.5</maven>
+  </prerequisites>
+
+  <ciManagement>
+    <system>jenkins</system>
+    <url>https://builds.apache.org/</url>
+  </ciManagement>
+
+  <!--
+    In release 31, the maven.compile.* properties were corrected to 
maven.compiler.*
+    [See COMMONSSITE-69]
+    If updating from a previous version, please check the property definitions
+
+    Starting with version 22, the RAT plugin has changed Maven group and id, 
so any existing configuration
+    needs to be updated.
+    To fix component POMs, please change any occurrences of:
+    <groupId>org.codehaus.mojo</groupId>
+    <artifactId>rat-maven-plugin</artifactId>
+    to the new values:
+    <groupId>org.apache.rat</groupId>
+    <artifactId>apache-rat-plugin</artifactId>
+
+    Site deployment
+    ===============
+    Cannot define this here at present, see 
https://issues.apache.org/jira/browse/COMMONSSITE-26.
+
+    The following should be added to the component POM:
+
+    <distributionManagement>
+    <site>
+    <id>commons.site</id>
+    <name>Apache Commons Site SVN</name>
+    <url>scm:svn:${commons.scmPubUrl}</url>
+    </site>
+    </distributionManagement>
+
+    Alternatively you can map the component's existing site id to the
+    commons.scmPubServer property.
+
+    Coverage tool selection
+    =======================
+    Starting with release 30, there are optional profiles for both Cobertura 
and JaCoCo.
+    These can be enabled independently on the command-line:
+
+    mvn site -Pcobertura -Pjacoco
+
+    Or the component can define a default coverage tool by creating either (or 
both) of the following files:
+
+    src/site/resources/profile.cobertura
+    src/site/resources/profile.jacoco
+
+    These can later be overridden by cancelling the profile:
+
+    mvn site -P!jacoco
+
+  -->
+
+  <!--
+    This section *must* be overwritten by subprojects. It is only to allow
+    a release of the commons-parent POM.
+  -->
+  <scm>
+    
<connection>scm:git:http://gitbox.apache.org/repos/asf/commons-parent.git</connection>
+    
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-parent.git</developerConnection>
+    <url>https://gitbox.apache.org/repos/asf?p=commons-parent.git</url>
+  </scm>
+
+  <mailingLists>
+    <!-- N.B. commons-site now uses the Apache POM so has its own copy of the 
mailing list definitions -->
+    <!--
+      Components should normally override the default mailing list report by 
using the comnand
+      mvn commons:mail-page
+      This generates the file src/site/xdoc/mail-lists.xml which when 
processed will replace the PIR version.
+    -->
+    <!-- Changes to this list should be synchronised with the commons build 
plugin -->
+    <mailingList>
+      <name>Commons User List</name>
+      <subscribe>[email protected]</subscribe>
+      <unsubscribe>[email protected]</unsubscribe>
+      <post>[email protected]</post>
+      
<archive>https://mail-archives.apache.org/mod_mbox/commons-user/</archive>
+      <otherArchives>
+        
<otherArchive>https://markmail.org/list/org.apache.commons.users/</otherArchive>
+        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
+      </otherArchives>
+    </mailingList>
+    <mailingList>
+      <name>Commons Dev List</name>
+      <subscribe>[email protected]</subscribe>
+      <unsubscribe>[email protected]</unsubscribe>
+      <post>[email protected]</post>
+      <archive>https://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
+      <otherArchives>
+        
<otherArchive>https://markmail.org/list/org.apache.commons.dev/</otherArchive>
+        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
+      </otherArchives>
+    </mailingList>
+    <mailingList>
+      <name>Commons Issues List</name>
+      <subscribe>[email protected]</subscribe>
+      <unsubscribe>[email protected]</unsubscribe>
+      
<archive>https://mail-archives.apache.org/mod_mbox/commons-issues/</archive>
+      <otherArchives>
+        
<otherArchive>https://markmail.org/list/org.apache.commons.issues/</otherArchive>
+        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
+      </otherArchives>
+    </mailingList>
+    <mailingList>
+      <name>Commons Commits List</name>
+      <subscribe>[email protected]</subscribe>
+      <unsubscribe>[email protected]</unsubscribe>
+      
<archive>https://mail-archives.apache.org/mod_mbox/commons-commits/</archive>
+      <otherArchives>
+        
<otherArchive>https://markmail.org/list/org.apache.commons.commits/</otherArchive>
+        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
+      </otherArchives>
+    </mailingList>
+    <mailingList>
+      <name>Apache Announce List</name>
+      <subscribe>[email protected]</subscribe>
+      <unsubscribe>[email protected]</unsubscribe>
+      
<archive>https://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+      <otherArchives>
+        
<otherArchive>https://markmail.org/list/org.apache.announce/</otherArchive>
+        
<otherArchive>https://www.mail-archive.com/[email protected]/</otherArchive>
+      </otherArchives>
+    </mailingList>
+  </mailingLists>
+  <build>
+    <!-- TODO find a better way to add N&L files to jars and test jars
+      See also maven-remote-resources-plugin configuration below.
+    -->
+    <resources>
+      <!-- This is the default setting from the super-pom -->
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+      <!-- hack to ensure the N&L appear in jars -->
+      <resource>
+        <directory>${basedir}</directory>
+        <targetPath>META-INF</targetPath>
+        <includes>
+          <include>NOTICE.txt</include>
+          <include>LICENSE.txt</include>
+        </includes>
+      </resource>
+    </resources>
+    <!-- ensure test jars also get NOTICE & LICENSE files -->
+    <testResources>
+      <!-- This is the default setting from the super-pom -->
+      <testResource>
+        <directory>src/test/resources</directory>
+      </testResource>
+      <!-- hack to ensure the N&L appear in jars -->
+      <testResource>
+        <directory>${basedir}</directory>
+        <targetPath>META-INF</targetPath>
+        <includes>
+          <include>NOTICE.txt</include>
+          <include>LICENSE.txt</include>
+        </includes>
+      </testResource>
+    </testResources>
+    <pluginManagement>
+      <plugins>
+        <!-- org.apache.maven.plugins, alpha order by artifact id -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>${commons.compiler.version}</version>
+          <configuration>
+            <source>${maven.compiler.source}</source>
+            <target>${maven.compiler.target}</target>
+            <encoding>${commons.encoding}</encoding>
+            <!--
+              fork is set true by the java-1.x profiles
+              This allows the use of a different version of the compiler from 
the
+              JDK being used to run Maven
+            -->
+            <fork>${commons.compiler.fork}</fork>
+            <!-- the following are only needed if fork is true -->
+            
<compilerVersion>${commons.compiler.compilerVersion}</compilerVersion>
+            <executable>${commons.compiler.javac}</executable>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>${commons.assembly-plugin.version}</version>
+        </plugin>
+        <!-- Apache parent includes docck -->
+        <!-- Apache parent: invoker -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>${commons.javadoc.version}</version>
+          <configuration>
+            <!-- keep only errors and warnings -->
+            <quiet>true</quiet>
+            <encoding>${commons.encoding}</encoding>
+            <docEncoding>${commons.docEncoding}</docEncoding>
+            <notimestamp>true</notimestamp>
+            <links>
+              <link>${commons.javadoc.java.link}</link>
+              <link>${commons.javadoc.javaee.link}</link>
+            </links>
+            <archive>
+              <manifest>
+                
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+              </manifest>
+            </archive>
+          </configuration>
+        </plugin>
+        <plugin>
+          <!-- TODO see above - find better way to add N&L files to jars and 
test jars -->
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-remote-resources-plugin</artifactId>
+          <configuration>
+            <!--
+              Apache parent POM automatically adds "LICENSE" and "NOTICE" files
+              to jars - duplicating the "LICENSE.txt" and "NOTICE.txt"
+              files that components already have.
+            -->
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- Apache parent: scm -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>${commons.site-plugin.version}</version>
+          <configuration>
+            <!-- don't deploy site with maven-site-plugin -->
+            <skipDeploy>true</skipDeploy>
+          </configuration>
+          <dependencies>
+            <dependency>
+              <!-- add support for ssh/scp -->
+              <groupId>org.apache.maven.wagon</groupId>
+              <artifactId>wagon-ssh</artifactId>
+              <version>${commons.wagon-ssh.version}</version>
+            </dependency>
+          </dependencies>
+          <executions>
+            <execution>
+              <id>attach-descriptor</id>
+              <goals>
+                <goal>attach-descriptor</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>3.0.1</version>
+          <configuration>
+            <archive>
+              <manifest>
+                
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+              </manifest>
+            </archive>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>${commons.surefire.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-failsafe-plugin</artifactId>
+          <version>${commons.failsafe.version}</version>
+        </plugin>
+        <!-- Other plugins, alpha order by groupId and artifactId -->
+        <plugin>
+          <groupId>com.github.siom79.japicmp</groupId>
+          <artifactId>japicmp-maven-plugin</artifactId>
+          <version>${commons.japicmp.version}</version>
+          <configuration>
+            <oldVersion>
+              <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>${project.artifactId}</artifactId>
+                <version>${commons.bc.version}</version>
+                <type>jar</type>
+             </dependency>
+            </oldVersion>
+            <newVersion>
+              <file>
+                
<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
+              </file>
+            </newVersion>
+            <parameter>
+              <onlyModified>true</onlyModified>
+              
<breakBuildOnSourceIncompatibleModifications>${commons.japicmp.breakBuildOnSourceIncompatibleModifications}</breakBuildOnSourceIncompatibleModifications>
+              
<breakBuildOnBinaryIncompatibleModifications>${commons.japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
+              <!-- skip japicmp on "mvn site" - use "mvn package site" to 
include report -->
+              <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
+              <reportOnlyFilename>true</reportOnlyFilename>
+              <skipPomModules>true</skipPomModules>
+              
<ignoreMissingClasses>${commons.japicmp.ignoreMissingClasses}</ignoreMissingClasses>
+            </parameter>
+            <skip>${japicmp.skip}</skip>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-build-plugin</artifactId>
+          <version>${commons.build-plugin.version}</version>
+          <configuration>
+            
<commons.release.name>${commons.release.name}</commons.release.name>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>maven-bundle-plugin</artifactId>
+          <version>${commons.felix.version}</version>
+          <inherited>true</inherited>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.rat</groupId>
+          <artifactId>apache-rat-plugin</artifactId>
+          <version>${commons.rat.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>build-helper-maven-plugin</artifactId>
+          <version>${commons.build-helper.version}</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>buildnumber-maven-plugin</artifactId>
+          <version>1.4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>clirr-maven-plugin</artifactId>
+          <version>${commons.clirr.version}</version>
+          <configuration>
+            <minSeverity>${minSeverity}</minSeverity>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>versions-maven-plugin</artifactId>
+          <!-- Version 2.2 causes an NPE with Maven 3.3.9 -->
+          <version>2.7</version>
+        </plugin>
+        <plugin>
+          <groupId>org.jacoco</groupId>
+          <artifactId>jacoco-maven-plugin</artifactId>
+          <version>${commons.jacoco.version}</version>
+          <!-- Note that since JaCoCo relies on an agent to perform tests,
+            it changes the surefire arguments line. If a component also
+            needs to change the argument line of maven-surefire-plugin,
+            then it must add ${argLine} property (which is set by JaCoCo)
+            in the argLine configuration element of maven-surefire-plugin
+            to preserve JaCoCo settings. -->
+          <executions>
+            <execution>
+              <id>prepare-agent</id>
+              <phase>process-test-classes</phase>
+              <goals>
+                <goal>prepare-agent</goal>
+              </goals>
+            </execution>
+            <execution>
+              <id>report</id>
+              <phase>site</phase>
+              <goals>
+                <goal>report</goal>
+              </goals>
+            </execution>
+            <execution>
+              <id>check</id>
+              <goals>
+                <goal>check</goal>
+              </goals>
+              <configuration>
+                <rules>
+                  <rule>
+                    <element>BUNDLE</element>
+                    <limits>
+                      <limit>
+                        <counter>CLASS</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.classRatio}</minimum>
+                      </limit>
+                      <limit>
+                        <counter>INSTRUCTION</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.instructionRatio}</minimum>
+                      </limit>
+                      <limit>
+                        <counter>METHOD</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.methodRatio}</minimum>
+                      </limit>
+                      <limit>
+                        <counter>BRANCH</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.branchRatio}</minimum>
+                      </limit>
+                      <limit>
+                        <counter>LINE</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.lineRatio}</minimum>
+                      </limit>
+                      <limit>
+                        <counter>COMPLEXITY</counter>
+                        <value>COVEREDRATIO</value>
+                        <minimum>${commons.jacoco.complexityRatio}</minimum>
+                      </limit>
+                    </limits>
+                  </rule>
+                </rules>
+                <haltOnFailure>${commons.jacoco.haltOnFailure}</haltOnFailure>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-project-info-reports-plugin</artifactId>
+          <version>${commons.project-info.version}</version>
+          <dependencies>
+            <dependency>
+              <groupId>org.apache.bcel</groupId>
+              <artifactId>bcel</artifactId>
+              <version>6.3.1</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <!-- org.apache.maven.plugins, alpha order by artifact id -->
+      <plugin>
+        <!-- Parent POM is released, so needs source archive for ASF mirrors 
-->
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptors>
+            <descriptor>src/assembly/src.xml</descriptor>
+          </descriptors>
+          <tarLongFileMode>gnu</tarLongFileMode>
+        </configuration>
+      </plugin>
+      <plugin>
+        <!--
+          - Copy LICENSE.txt and NOTICE.txt so that they are included
+          - in the -javadoc jar file for the component.
+        -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>javadoc.resources</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <target>
+                <copy todir="${project.build.directory}/apidocs/META-INF">
+                  <fileset dir="${basedir}">
+                    <include name="LICENSE.txt" />
+                    <include name="NOTICE.txt" />
+                  </fileset>
+                </copy>
+              </target>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+      </plugin>
+      <!-- Unfortunately the much simpler
+        <prerequisites><maven>3.0</maven></prerequisites>
+        is not inherited so we have to use the enforcer plugin
+      -->
+      <plugin>
+        <inherited>true</inherited>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <version>3.0.0-M2</version>
+        <configuration>
+          <rules>
+            <requireMavenVersion>
+              <version>3.0.5</version>
+            </requireMavenVersion>
+            <requireJavaVersion>
+              <version>${maven.compiler.target}</version>
+            </requireJavaVersion>
+          </rules>
+          <fail>true</fail>
+        </configuration>
+        <executions>
+          <execution>
+            <id>enforce-maven-3</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${commons.jar-plugin.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+            <configuration>
+              <!-- Avoids an error when releasing the parent pom -->
+              <skipIfEmpty>true</skipIfEmpty>
+            </configuration>
+          </execution>
+        </executions>
+        <configuration>
+          <archive>
+            <manifestFile>${commons.manifestfile}</manifestFile>
+            <manifestEntries>
+              <Specification-Title>${project.name}</Specification-Title>
+              <Specification-Version>${project.version}</Specification-Version>
+              
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
+              <Implementation-Title>${project.name}</Implementation-Title>
+              
<Implementation-Version>${project.version}</Implementation-Version>
+              
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
+              <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
+              
<Implementation-Build>${implementation.build}</Implementation-Build>
+              
<X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
+              
<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
+            </manifestEntries>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>create-source-jar</id>
+            <goals>
+              <goal>jar-no-fork</goal>
+              <goal>test-jar-no-fork</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <!--
+            commons.surefire.java is normally empty.
+            It is defined by the java-1.x profiles to change the JVM used by 
Surefire
+          -->
+          <jvm>${commons.surefire.java}</jvm>
+        </configuration>
+      </plugin>
+      <!-- Other plugins, alpha order by groupId and artifactId -->
+      <plugin>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-build-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <configuration>
+          <!--
+            dummy entry to stop bundle plugin from picking up jar config and 
reporting
+            WARNING: Duplicate name in Manifest
+            See http://markmail.org/message/mpkl24wk3jrjhhjg
+          -->
+          <archive>
+            <forced>true</forced>
+          </archive>
+          
<excludeDependencies>${commons.osgi.excludeDependencies}</excludeDependencies>
+          <manifestLocation>${project.build.directory}/osgi</manifestLocation>
+          <instructions>
+            <!-- stops the "uses" clauses being added to "Export-Package" 
manifest entry -->
+            <_nouses>true</_nouses>
+            <!-- Stop the JAVA_1_n_HOME variables from being treated as 
headers by Bnd -->
+            
<_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME,JAVA_1_9_HOME</_removeheaders>
+            
<Bundle-SymbolicName>${commons.osgi.symbolicName}</Bundle-SymbolicName>
+            <Export-Package>${commons.osgi.export}</Export-Package>
+            <Private-Package>${commons.osgi.private}</Private-Package>
+            <Import-Package>${commons.osgi.import}</Import-Package>
+            
<DynamicImport-Package>${commons.osgi.dynamicImport}</DynamicImport-Package>
+            <Bundle-DocURL>${project.url}</Bundle-DocURL>
+          </instructions>
+        </configuration>
+        <executions>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn 
apache-rat:check -->
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <!-- Should agree with config in reporting section -->
+        <configuration>
+          <!--
+            If you wish to override this list in the component (child) pom, 
ensure you use
+            <excludes combine.children="merge">
+            so that the child pom entries replace the parent entries
+          -->
+          <excludes combine.children="append">
+            <exclude>site-content/**</exclude>
+            <exclude>.checkstyle</exclude>
+            <exclude>.fbprefs</exclude>
+            <exclude>.pmd</exclude>
+            <exclude>src/site/resources/download_*.cgi</exclude>
+            <exclude>src/site/resources/profile.*</exclude>
+            <exclude>profile.*</exclude>
+            <!-- Exclude Eclipse local files and folders -->
+            <exclude>maven-eclipse.xml</exclude>
+            <exclude>.externalToolBuilders/**</exclude>
+          </excludes>
+        </configuration>
+        <executions>
+          <execution>
+            <id>rat-check</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-scm-publish-plugin</artifactId>
+        <configuration>
+          <content>${project.reporting.outputDirectory}</content>
+          <pubScmUrl>scm:svn:${commons.scmPubUrl}</pubScmUrl>
+          
<checkoutDirectory>${commons.scmPubCheckoutDirectory}</checkoutDirectory>
+          <serverId>${commons.scmPubServer}</serverId>
+          <tryUpdate>true</tryUpdate>
+        </configuration>
+        <executions>
+          <execution>
+            <id>scm-publish</id>
+            <phase>site-deploy</phase><!-- deploy site with 
maven-scm-publish-plugin -->
+            <goals>
+              <goal>publish-scm</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+    </plugins>
+  </build>
+
+  <reporting>
+    <!-- N.B. plugins defined here in the <reporting> section ignore what's 
defined in <pluginManagement>
+      in the <build> section above, so we have to define the versions here. -->
+    <plugins>
+      <!-- org.apache.maven.plugins, alpha order by artifact id -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-changes-plugin</artifactId>
+        <version>${commons.changes.version}</version>
+        <configuration>
+          <xmlPath>${basedir}/src/changes/changes.xml</xmlPath>
+          <columnNames>Fix 
Version,Key,Component,Summary,Type,Resolution,Status</columnNames>
+          <!-- Sort cols in natural order when using JQL for JIRA 5.1 -->
+          <sortColumnNames>Fix Version DESC,Type,Key DESC</sortColumnNames>
+          <resolutionIds>Fixed</resolutionIds>
+          <statusIds>Resolved,Closed</statusIds>
+          <!-- Don't include sub-task -->
+          <typeIds>Bug,New Feature,Task,Improvement,Wish,Test</typeIds>
+          <!-- For JIRA >= 5.1 -->
+          <useJql>true</useJql>
+          
<onlyCurrentVersion>${commons.changes.onlyCurrentVersion}</onlyCurrentVersion>
+          <maxEntries>${commons.changes.maxEntries}</maxEntries>
+          
<runOnlyAtExecutionRoot>${commons.changes.runOnlyAtExecutionRoot}</runOnlyAtExecutionRoot>
+        </configuration>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>changes-report</report>
+              <report>jira-report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>${commons.javadoc.version}</version>
+        <configuration>
+          <!-- keep only errors and warnings -->
+          <quiet>true</quiet>
+          <source>${maven.compiler.source}</source>
+          <encoding>${commons.encoding}</encoding>
+          <docencoding>${commons.docEncoding}</docencoding>
+          <notimestamp>true</notimestamp>
+          <linksource>true</linksource>
+          <!-- prevent svnpub to be too much noisy -->
+          <notimestamp>true</notimestamp>
+          <links>
+            <link>${commons.javadoc.java.link}</link>
+            <link>${commons.javadoc.javaee.link}</link>
+          </links>
+        </configuration>
+        <!-- Suppress test Javadocs -->
+        <reportSets>
+          <reportSet>
+            <id>default</id>
+            <reports>
+              <report>javadoc</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jxr-plugin</artifactId>
+        <version>${commons.jxr.version}</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>${commons.project-info.version}</version>
+        <!--
+          Unfortunately it does not appear to be possible to override
+          reports configured in a parent POM.
+          See https://jira.codehaus.org/browse/MPIR-241
+          and https://issues.apache.org/jira/browse/MPOM-32
+          So we define here all those reports that are suitable for
+          all components.
+          Components can add extra reports if they wish, but cannot disable 
any.
+        -->
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>index</report>
+              <report>summary</report>
+              <report>modules</report>
+              <!-- <report>license</report> site must link to ASF page instead 
-->
+              <report>team</report>
+              <report>scm</report>
+              <report>issue-management</report>
+              <report>mailing-lists</report>
+              <report>dependency-info</report>
+              <report>dependency-management</report>
+              <report>dependencies</report>
+              <report>dependency-convergence</report>
+              <report>ci-management</report>
+              <!-- <report>plugin-management</report> not very useful for end 
users -->
+              <!-- <report>plugins</report> not very useful for end users -->
+              <report>distribution-management</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <version>${commons.site-plugin.version}</version>
+        <configuration>
+          <!-- Exclude the navigation file for Maven 1 sites
+            and the changes file used by the changes-plugin,
+            as they interfere with the site generation. -->
+          <moduleExcludes>
+            <xdoc>navigation.xml,changes.xml</xdoc>
+          </moduleExcludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+        <version>${commons.surefire-report.version}</version>
+        <configuration>
+          <aggregate>${commons.surefire-report.aggregate}</aggregate>
+        </configuration>
+      </plugin>
+      <!-- Other plugins, alpha order by groupId and artifactId -->
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <version>${commons.rat.version}</version>
+        <!-- Should agree with config in build section -->
+        <configuration>
+          <!--
+            If you wish to override this list in the component (child) pom, 
ensure you use
+            <excludes combine.children="merge">
+            so that the child pom entries replace the parent entries
+          -->
+          <excludes combine.children="append">
+            <exclude>site-content/**</exclude>
+            <exclude>.checkstyle</exclude>
+            <exclude>.fbprefs</exclude>
+            <exclude>.pmd</exclude>
+            <exclude>src/site/resources/download_*.cgi</exclude>
+            <exclude>src/site/resources/profile.*</exclude>
+            <exclude>profile.*</exclude>
+            <!-- Exclude Eclipse local files and folders -->
+            <exclude>maven-eclipse.xml</exclude>
+            <exclude>.externalToolBuilders/**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jdepend-maven-plugin</artifactId>
+        <version>${commons.jdepend.version}</version>
+      </plugin>
+      <plugin>
+        <groupId>com.github.siom79.japicmp</groupId>
+        <artifactId>japicmp-maven-plugin</artifactId>
+        <version>${commons.japicmp.version}</version>
+        <configuration>
+          <parameter>
+            <onlyModified>true</onlyModified>
+            
<breakBuildOnBinaryIncompatibleModifications>${commons.japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
+            <!-- skip japicmp on "mvn site" - use "mvn package site" to 
include report -->
+            <skipPomModules>true</skipPomModules>
+            <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
+            <reportOnlyFilename>true</reportOnlyFilename>
+          </parameter>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <profiles>
+    <profile>
+      <id>svn</id>
+      <activation>
+        <file>
+          <exists>.svn</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>validate</phase>
+                <goals>
+                  <goal>create</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <!-- Use committed revision so it does not change every time svn 
update is run -->
+              <useLastCommittedRevision>true</useLastCommittedRevision>
+              <!-- default revision number if unavailable -->
+              <revisionOnScmFailure>??????</revisionOnScmFailure>
+              <!-- svnjava works even if an svn command-line client is not on 
the path -->
+              <providerImplementations>
+                <svn>javasvn</svn>
+              </providerImplementations>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <!--
+        Add an automatic module name to the manifest if the file
+        'profile.module-name' exists. The name must be provided in the property
+        'commons.module.name'.
+      -->
+      <id>module-name</id>
+      <activation>
+        <file>
+          <exists>profile.module-name</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <configuration>
+              <archive combine.children="append">
+                <manifestEntries>
+                  
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
+                </manifestEntries>
+              </archive>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <!--
+        Make the version parts of the maven.compiler.target property
+        available as separate properties, so that they can be used to define
+        the java signature artifactId used by animal-sniffer etc.
+      -->
+      <id>parse-target-version</id>
+      <activation>
+        <property>
+          <!--
+            This property should always be defined.
+            The intention is to ensure that the profile is always enabled.
+            (activeByDefault only applies if other profiles are not enabled)
+          -->
+          <name>user.home</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>parse-version</id>
+                <!-- default is: <phase>validate</phase> -->
+                <goals>
+                  <goal>parse-version</goal>
+                </goals>
+                <configuration>
+                  <propertyPrefix>javaTarget</propertyPrefix>
+                  <versionString>${maven.compiler.target}</versionString>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Runs the Animal Sniffer plugin to check that generated code does not 
included references
+      to methods/classes etc that are not present in the standard Java runtime 
for the defined target version.
+      To bypass the checks, define "animal.sniffer.skip" as true, or create 
the file "src/site/resources/profile.noanimal"
+    -->
+
+    <profile>
+      <id>animal-sniffer</id>
+      <activation>
+        <!-- active unless the file is found -->
+        <file>
+          <missing>src/site/resources/profile.noanimal</missing>
+        </file>
+      </activation>
+
+      <properties>
+        <!-- define this as a property to allow command-line override -->
+        
<animal-sniffer.signature>java${javaTarget.majorVersion}${javaTarget.minorVersion}</animal-sniffer.signature>
+      </properties>
+
+      <build>
+        <plugins>
+
+          <!-- Run the Animal Sniffer checks -->
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>animal-sniffer-maven-plugin</artifactId>
+            <version>${commons.animal-sniffer.version}</version>
+            <executions>
+              <execution>
+                <id>checkAPIcompatibility</id>
+                <!-- default is: <phase>process-classes</phase> -->
+                <!-- Note: if the plugin is ever enhanced to check test classes
+                  it will presumably need to be bound to process-test-classes 
instead
+                -->
+                <goals>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <signature>
+                <groupId>org.codehaus.mojo.signature</groupId>
+                <artifactId>${animal-sniffer.signature}</artifactId>
+                <version>${commons.animal-sniffer.signature.version}</version>
+              </signature>
+            </configuration>
+          </plugin>
+
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>jacoco</id>
+      <activation>
+        <!--
+          N.B. in spite of what the Maven docs may say,
+          activation conditions are ORed together, see:
+          http://jira.codehaus.org/browse/MNG-4565
+          Fairly useless, but that's what was done in
+          http://jira.codehaus.org/browse/MNG-3106
+
+          So we cannot also check for Java 1.5+
+          This should not be a problem now as the profile is optional.
+          Components that still target Java 1.4 or earlier
+          just need to ensure they don't use JaCoCo by default.
+        -->
+        <file>
+          <exists>src/site/resources/profile.jacoco</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <version>${commons.jacoco.version}</version>
+          </plugin>
+        </plugins>
+      </build>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <version>${commons.jacoco.version}</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+
+    <profile>
+      <id>cobertura</id>
+      <activation>
+        <file>
+          <exists>src/site/resources/profile.cobertura</exists>
+        </file>
+      </activation>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <version>${commons.cobertura.version}</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+
+    <profile>
+      <id>clirr</id>
+      <activation>
+        <file>
+          <exists>src/site/resources/profile.clirr</exists>
+        </file>
+      </activation>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>clirr-maven-plugin</artifactId>
+            <version>${commons.clirr.version}</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+
+    <!-- alternative to clirr, will fail build if binary compatibility is 
broken -->
+    <profile>
+      <id>japicmp</id>
+      <properties>
+        <japicmp.skip>false</japicmp.skip>
+      </properties>
+      <activation>
+        <file>
+          <exists>src/site/resources/profile.japicmp</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>com.github.siom79.japicmp</groupId>
+            <artifactId>japicmp-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>verify</phase>
+                <goals>
+                  <goal>cmp</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>com.github.siom79.japicmp</groupId>
+            <artifactId>japicmp-maven-plugin</artifactId>
+            <version>${commons.japicmp.version}</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+
+    <!--
+      Profile for Commons releases via Nexus.
+      Assembles artifacts, creates source and javadoc jars, signs them and 
adds hashes.
+    -->
+    <profile>
+      <id>release</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-install-plugin</artifactId>
+            <configuration>
+              <createChecksum>true</createChecksum>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-release-plugin</artifactId>
+            <configuration>
+              <!-- Pass these arguments to the deploy plugin. -->
+              <arguments>-Prelease</arguments>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>create-javadoc-jar</id>
+                <goals>
+                  <goal>javadoc</goal>
+                  <goal>jar</goal>
+                </goals>
+                <phase>package</phase>
+              </execution>
+            </executions>
+            <configuration>
+              <source>${maven.compiler.source}</source>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <version>${commons.assembly-plugin.version}</version>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <!-- COMMONSSITE-87 Ensure this runs after all package phase 
plugins -->
+                <phase>verify</phase>
+              </execution>
+            </executions>
+          </plugin>
+          <!-- We want to sign the artifact, the POM, and all attached 
artifacts -->
+          <plugin>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>sign-artifacts</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-release-plugin</artifactId>
+            <version>${commons.release-plugin.version}</version>
+            <executions>
+              <execution>
+                <id>clean-staging</id>
+                <phase>clean</phase>
+                <goals>
+                  <goal>clean-staging</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>detatch-distributions</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>detach-distributions</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stage-distributions</id>
+                <phase>deploy</phase>
+                <goals>
+                  <goal>stage-distributions</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      profile to update the Apache parent pom profile of the same name
+      to better suit the requirements of Apache Commons.
+      [Requires further work]
+    -->
+    <profile>
+      <id>apache-release</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-release-plugin</artifactId>
+            <configuration>
+              <releaseProfiles>apache-release</releaseProfiles>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-test-sources</id>
+                <goals>
+                  <goal>test-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-install-plugin</artifactId>
+            <configuration>
+              <createChecksum>true</createChecksum>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>test-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.3
+      (JAVA_1_3_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.3</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.3</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_3_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_3_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.4
+      (JAVA_1_4_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.4</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.4</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_4_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_4_HOME}/bin/java</commons.surefire.java>
+        <!-- later versions of surefire don't support Java 1.4 -->
+        <commons.surefire.version>2.11</commons.surefire.version>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.5
+      (JAVA_1_5_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.5</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.5</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_5_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_5_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.6
+      (JAVA_1_6_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.6</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.6</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_6_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_6_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.7
+      (JAVA_1_7_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.7</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.7</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_7_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_7_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.8
+      (JAVA_1_8_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.8</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.8</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_8_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_8_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.9
+      (JAVA_1_9_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.9</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.9</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_9_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_9_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.10
+      (JAVA_1_10_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.10</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.10</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_10_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_10_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!--
+      Profile for running the build using JDK 1.11
+      (JAVA_1_11_HOME needs to be defined, e.g. in settings.xml or an 
environment variable)
+    -->
+    <profile>
+      <id>java-1.11</id>
+      <properties>
+        <commons.compiler.fork>true</commons.compiler.fork>
+        
<commons.compiler.compilerVersion>1.11</commons.compiler.compilerVersion>
+        
<commons.compiler.javac>${JAVA_1_11_HOME}/bin/javac</commons.compiler.javac>
+        
<commons.surefire.java>${JAVA_1_11_HOME}/bin/java</commons.surefire.java>
+      </properties>
+    </profile>
+
+    <!-- N.B. when adding new java profiles, be sure to update
+      the _removeheaders list in the maven_bundle_plugin configuration -->
+
+    <!--
+      | Profile to allow testing of deploy phase
+      | e.g.
+      | mvn deploy -Ptest-deploy -Prelease -Dgpg.skip
+    -->
+    <profile>
+      <id>test-deploy</id>
+      <properties>
+        
<altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
+        <commons.release.dryRun>true</commons.release.dryRun>
+      </properties>
+    </profile>
+
+    <profile>
+      <!--
+        Generate release notes in top-level directory from 
src/changes/changes.xml
+        Usage:
+        mvn changes:announcement-generate -Prelease-notes 
[-Dchanges.version=nnn]
+
+        Defining changes.version allows one to create the RN without first 
removing the SNAPSHOT suffix.
+
+        Requires file src/changes/release-notes.vm.
+        A sample template is available from:
+        
https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm
+      -->
+      <id>release-notes</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-changes-plugin</artifactId>
+            <version>${commons.changes.version}</version>
+            <configuration>
+              <template>release-notes.vm</template>
+              <templateDirectory>src/changes</templateDirectory>
+              <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+              <announcementDirectory>.</announcementDirectory>
+              <announcementFile>RELEASE-NOTES.txt</announcementFile>
+              <announceParameters>
+                <releaseVersion>${commons.release.version}</releaseVersion>
+              </announceParameters>
+            </configuration>
+            <executions>
+              <execution>
+                <id>create-release-notes</id>
+                <phase>generate-resources</phase>
+                <goals>
+                  <goal>announcement-generate</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Automatically run the buildnumber plugin unless the buildNumber.skip 
property is defined as true
+    -->
+    <profile>
+      <id>svn-buildnumber</id>
+      <activation>
+        <property>
+          <name>!buildNumber.skip</name>
+          <value>!true</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>generate-resources</phase>
+                <goals>
+                  <goal>create</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <!-- Use committed revision so it does not change every time svn 
update is run -->
+              <useLastCommittedRevision>true</useLastCommittedRevision>
+              <!-- default revision number if unavailable -->
+              <revisionOnScmFailure>??????</revisionOnScmFailure>
+              <doCheck>false</doCheck>
+              <doUpdate>false</doUpdate>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <!-- optional profile to use javasvn instead of the SVN CLI for the 
buildNumber plugin -->
+    <profile>
+      <id>javasvn</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <configuration>
+              <providerImplementations>
+                <svn>javasvn</svn>
+              </providerImplementations>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <!-- profile to allow the use of plugin versions that require Java 7+ -->
+    <profile>
+      <id>jdk7-plugin-fix-version</id>
+      <activation>
+        <jdk>[1.7,)</jdk>
+      </activation>
+      <properties>
+      </properties>
+    </profile>
+
+    <!-- allow simple creation of the site without any optional reports -->
+    <profile>
+      <id>site-basic</id>
+      <properties>
+        <skipTests>true</skipTests>
+        <maven.javadoc.skip>true</maven.javadoc.skip>
+        <cobertura.skip>true</cobertura.skip>
+        <findbugs.skip>true</findbugs.skip>
+        <spotbugs.skip>true</spotbugs.skip>
+        <checkstyle.skip>true</checkstyle.skip>
+        <clirr.skip>true</clirr.skip>
+        <changes.jira.skip>true</changes.jira.skip>
+        <rat.skip>true</rat.skip> <!-- from version 0.12 -->
+        <jacoco.skip>true</jacoco.skip>
+        <japicmp.skip>true</japicmp.skip>
+        <skipSurefireReport>true</skipSurefireReport>
+      </properties>
+    </profile>
+
+    <profile>
+      <id>travis-cobertura</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <version>${commons.cobertura.version}</version>
+            <configuration>
+              <formats>
+                <format>xml</format>
+              </formats>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.eluder.coveralls</groupId>
+            <artifactId>coveralls-maven-plugin</artifactId>
+            <version>${commons.coveralls.version}</version>
+            <configuration>
+              
<timestampFormat>${commons.coveralls.timestampFormat}</timestampFormat>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>travis-jacoco</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <version>${commons.jacoco.version}</version>
+          </plugin>
+          <plugin>
+            <groupId>org.eluder.coveralls</groupId>
+            <artifactId>coveralls-maven-plugin</artifactId>
+            <version>${commons.coveralls.version}</version>
+            <configuration>
+              
<timestampFormat>${commons.coveralls.timestampFormat}</timestampFormat>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+  </profiles>
+
+  <properties>
+    <!-- configuration bits for cutting a release candidate, must be 
overridden by components -->
+    <commons.release.version>${project.version}</commons.release.version>
+    <commons.rc.version>RC1</commons.rc.version>
+    <commons.jira.id>COMMONSSITE</commons.jira.id>
+
+    <!-- Default configuration for compiler source and target JVM -->
+    <!-- Do NOT change this; it must remain as 1.3 -->
+    <!--
+      It's important that child POMs don't need to change when the parent POM 
is updated.
+      At the time when these properties were introduced, the default Java 
version was 1.3.
+      Thus components that failed to define the version would not be affected 
by updates
+      to the Commons Parent or its parent the Apache pom.
+      Of course most if not all components now define the properties.
+      However it's still important to keep the properties as they effectively
+      force child poms to define the Java version they require.
+    -->
+    <maven.compiler.source>1.3</maven.compiler.source>
+    <maven.compiler.target>1.3</maven.compiler.target>
+
+    <!-- compiler and surefire plugin settings for "java" profiles -->
+    <commons.compiler.fork>false</commons.compiler.fork>
+    <commons.compiler.compilerVersion />
+    <commons.compiler.javac />
+
+    <!-- plugin versions (allows same value in reporting and build sections; 
also allows easy override) -->
+    <commons.build-plugin.version>1.10</commons.build-plugin.version>
+    <commons.release-plugin.version>1.6</commons.release-plugin.version>
+    <commons.surefire.version>2.22.1</commons.surefire.version>
+    <commons.failsafe.version>2.22.1</commons.failsafe.version>
+    <commons.surefire-report.version>2.22.1</commons.surefire-report.version>
+    <commons.javadoc.version>3.1.0</commons.javadoc.version>
+    <commons.rat.version>0.13</commons.rat.version>
+    <commons.changes.version>2.12.1</commons.changes.version>
+    <commons.clirr.version>2.8</commons.clirr.version>
+    <commons.japicmp.version>0.14.0</commons.japicmp.version>
+    <commons.jxr.version>3.0.0</commons.jxr.version>
+    <commons.project-info.version>3.0.0</commons.project-info.version>
+    <commons.wagon-ssh.version>3.3.2</commons.wagon-ssh.version>
+    <!--
+      Note: Maven site plugin 3.5.1 is the latest version but is not a direct 
replacement:
+
+      https://maven.apache.org/plugins/maven-site-plugin/migrate.html
+
+      In particular, adding CDATA to header and footer sections is not 
backwards compatible.
+      I.e. these have to be updated at the same time.
+
+      Also it causes the following errors:
+
+      [ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site (default-site) on project 
commons-parent:
+      Execution default-site of goal 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site failed:
+      A required class was missing while executing 
org.apache.maven.plugins:maven-site-plugin:3.5.1:site: 
org/apache/maven/doxia/sink/impl/XhtmlBaseSink
+
+      This is because Apache POM 17 forces an older version of Doxia core:
+      
https://mail-archives.apache.org/mod_mbox/maven-users/201602.mbox/%3C2337255.xU7aS9G1qr@herve-desktop%3E
+
+      The same error applies when running with version 3.5.
+
+      Since the version is defined as a property, the CP version can be 
overridden as follows if necessary:
+
+      mvn site -Dcommons.site-plugin.version=3.5.1
+
+      You will also need to add a dependency on Doxia core:
+      <artifactId>maven-site-plugin</artifactId>
+      <dependencies>
+      <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-core</artifactId>
+      <version>1.8</version>
+      </dependency>
+      </dependencies>
+
+    -->
+    <commons.jar-plugin.version>3.1.1</commons.jar-plugin.version>
+    <commons.assembly-plugin.version>3.1.1</commons.assembly-plugin.version>
+    <commons.site-plugin.version>3.7.1</commons.site-plugin.version>
+    <commons.jacoco.version>0.8.3</commons.jacoco.version>
+    <commons.cobertura.version>2.7</commons.cobertura.version>
+    <commons.coveralls.version>4.3.0</commons.coveralls.version>
+    
<commons.coveralls.timestampFormat>EpochMillis</commons.coveralls.timestampFormat>
+    <commons.jdepend.version>2.0</commons.jdepend.version>
+    <commons.compiler.version>3.8.0</commons.compiler.version>
+    <commons.scm-publish.version>1.1</commons.scm-publish.version>
+    <commons.findbugs.version>3.0.5</commons.findbugs.version>
+    <commons.spotbugs.version>3.1.6</commons.spotbugs.version>
+    <commons.felix.version>4.2.0</commons.felix.version>
+    <commons.build-helper.version>3.0.0</commons.build-helper.version>
+    <commons.animal-sniffer.version>1.17</commons.animal-sniffer.version>
+    <!-- Almost all signatures use version 1.0. Allow override just in case -->
+    
<commons.animal-sniffer.signature.version>1.0</commons.animal-sniffer.signature.version>
+
+    <!-- Default values for the download-page generation by 
commons-build-plugin -->
+    
<commons.release.name>${project.artifactId}-${commons.release.version}</commons.release.name>
+    <commons.release.desc />
+    <commons.binary.suffix>-bin</commons.binary.suffix>
+    
<commons.release.2.name>${project.artifactId}-${commons.release.2.version}</commons.release.2.name>
+    <commons.release.2.desc />
+    <commons.release.2.binary.suffix>-bin</commons.release.2.binary.suffix>
+    
<commons.release.3.name>${project.artifactId}-${commons.release.3.version}</commons.release.3.name>
+    <commons.release.3.desc />
+    <commons.release.3.binary.suffix>-bin</commons.release.3.binary.suffix>
+
+    <!-- Default values for the jacoco-maven-plugin reports -->
+    <commons.jacoco.classRatio>1.00</commons.jacoco.classRatio>
+    <commons.jacoco.instructionRatio>0.90</commons.jacoco.instructionRatio>
+    <commons.jacoco.methodRatio>0.95</commons.jacoco.methodRatio>
+    <commons.jacoco.branchRatio>0.85</commons.jacoco.branchRatio>
+    <commons.jacoco.complexityRatio>0.85</commons.jacoco.complexityRatio>
+    <commons.jacoco.lineRatio>0.90</commons.jacoco.lineRatio>
+    <commons.jacoco.haltOnFailure>false</commons.jacoco.haltOnFailure>
+
+    <!-- The Commons component id is used on the distribution server, for 
example:
+         - Use dbcp instead of dbcp2. 
+         - Use collections instead of collections4.
+         - Use lang instead of lang3. 
+         - Use pool instead of pool2.
+         - and so on... 
+    -->
+    <commons.componentid>${project.artifactId}</commons.componentid>
+    
+    <!-- The package id is substring of the package name from 
o.a.commons.(.*)., for example:
+         - Use dbcp2 instead of dbcp.
+         - Use collections4 instead of collections.
+         - Use lang3 instead of lang.
+         - Use pool2 instead of pool.
+         - and so on...
+    -->
+    <commons.packageId>${project.artifactId}</commons.packageId>
+    
+    <!-- Configuration properties for the OSGi maven-bundle-plugin -->
+    
<commons.osgi.symbolicName>org.apache.commons.${commons.packageId}</commons.osgi.symbolicName>
+    
<commons.osgi.export>org.apache.commons.*;version=${project.version};-noimport:=true</commons.osgi.export>
+    <commons.osgi.import>*</commons.osgi.import>
+    <commons.osgi.dynamicImport />
+    <commons.osgi.private />
+    <commons.osgi.excludeDependencies>true</commons.osgi.excludeDependencies>
+
+    <!-- location of any manifest file used by maven-jar-plugin -->
+    
<commons.manifestfile>${project.build.directory}/osgi/MANIFEST.MF</commons.manifestfile>
+
+    <!--
+      Make the deployment protocol pluggable. This allows to switch to
+      other protocols like scpexe, which some users prefer over scp.
+    -->
+    <commons.deployment.protocol>scp</commons.deployment.protocol>
+
+    <!--
+      Encoding of Java source files: ensures that the compiler and
+      the javadoc generator use the right encoding. Subprojects may
+      overwrite this, if they are using another encoding.
+    -->
+    <commons.encoding>iso-8859-1</commons.encoding>
+    <!-- used in this pom to provide the Javadoc HTML file encoding -->
+    <commons.docEncoding>${commons.encoding}</commons.docEncoding>
+    <!-- Define source encoding for filtering; used by general plugins -->
+    
<project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding>
+    <!-- This is used by reporting plugins -->
+    
<project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding>
+
+    <!-- Javadoc link to Java API. Default is Java 1.7; components can 
override to other versions -->
+    
<commons.javadoc.java.link>http://docs.oracle.com/javase/7/docs/api/</commons.javadoc.java.link>
+    
<commons.javadoc.javaee.link>http://docs.oracle.com/javaee/6/api/</commons.javadoc.javaee.link>
+
+    <!-- build meta inf -->
+    <maven.build.timestamp.format>yyyy-MM-dd 
HH:mm:ssZ</maven.build.timestamp.format>
+    <implementation.build>${scmBranch}@r${buildNumber}; 
${maven.build.timestamp}</implementation.build>
+
+    <!-- Allow Clirr severity to be overriden by the command-line option 
-DminSeverity=level -->
+    <minSeverity>info</minSeverity>
+
+    <!-- Control number of issues retrieved from JIRA with changes plugin -->
+    <commons.changes.maxEntries>100</commons.changes.maxEntries>
+
+    <!-- Allow surefire-report aggregation to be easily configured for 
multi-module projects -->
+    
<commons.surefire-report.aggregate>false</commons.surefire-report.aggregate>
+
+    <!-- Allow changes Jira report to be restricted to just the current 
version (plugin default is false) -->
+    
<commons.changes.onlyCurrentVersion>false</commons.changes.onlyCurrentVersion>
+    <!-- Allow changes Jira report maxEntries to be overridden (plugin default 
100) -->
+    <commons.changes.maxEntries>100</commons.changes.maxEntries>
+    <!-- Allow changes Jira report runOnlyAtExecutionRoot to be overridden 
(plugin default is false) -->
+    
<commons.changes.runOnlyAtExecutionRoot>false</commons.changes.runOnlyAtExecutionRoot>
+
+    <!-- scm publish plugin configuration -->
+    <commons.site.cache>${user.home}/commons-sites</commons.site.cache>
+    <!-- value modules can override it -->
+    <commons.site.path>${commons.componentid}</commons.site.path>
+
+    
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-${commons.componentid}</commons.scmPubUrl>
+    
<commons.scmPubCheckoutDirectory>${commons.site.cache}/${commons.site.path}</commons.scmPubCheckoutDirectory>
+    <commons.scmPubServer>commons.site</commons.scmPubServer>
+    
+    <!-- allow japicmp's breakBuildOnBinaryIncompatibleModifications
+      to be overridden, plugin's default is false -->
+    
<commons.japicmp.breakBuildOnBinaryIncompatibleModifications>true</commons.japicmp.breakBuildOnBinaryIncompatibleModifications>
+    
<commons.japicmp.breakBuildOnSourceIncompatibleModifications>false</commons.japicmp.breakBuildOnSourceIncompatibleModifications>
+    
<commons.japicmp.ignoreMissingClasses>false</commons.japicmp.ignoreMissingClasses>
+    <!-- disable japicmp by default -->
+    <japicmp.skip>true</japicmp.skip>
+
+    <!-- Commons Release plugin: dist dev site -->
+    
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
+
+    <!-- Commons Release plugin: release manager -->
+    <commons.releaseManagerName>${user.name}</commons.releaseManagerName>
+    <commons.releaseManagerKey>DEADBEEF</commons.releaseManagerKey>
+    
+    <sonar.host.url>https://analysis.apache.org/</sonar.host.url>
+
+  </properties>
+
+</project>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1366304..bbf388c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -67,6 +67,7 @@ The <action> type attribute can be add,update,fix,remove.
             <action type="update" dev="ggregory">maven-bundle-plugin 4.1.0 -> 
4.2.0</action>
             <action type="fix" dev="ggregory">commons.scmPubUrl was not built 
properly, e.g. using 'pool' instead of 'commons-pool'</action>
             <action type="update" dev="ggregory">japicmp-maven-plugin 0.13.1 
-> 0.14.0</action>
+            <action type="update" dev="ggregory">japicmp-maven-plugin should 
not break builds on source incompatible changes by default.</action>            
         </release>
         
         <release version="48" date="2019-03-20" description="Release version 
47">

Reply via email to