Added: dev/commons/commons-parent/49-RC1/commons-parent-49.pom ============================================================================== --- dev/commons/commons-parent/49-RC1/commons-parent-49.pom (added) +++ dev/commons/commons-parent/49-RC1/commons-parent-49.pom Tue Sep 10 18:48:28 2019 @@ -0,0 +1,1882 @@ +<?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> + <version>49</version> + <packaging>pom</packaging> + <name>Apache Commons Parent</name> + <description>The Apache Commons Parent POM provides common settings for all Apache Commons components.</description> + <url>https://commons.apache.org/commons-parent-pom.html</url> + + <!-- + 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 + + --> + + + <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.animal-sniffer.version>1.18</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> + <commons.assembly-plugin.version>3.1.1</commons.assembly-plugin.version> + <commons.build-helper.version>3.0.0</commons.build-helper.version> + <commons.build-plugin.version>1.11</commons.build-plugin.version> + <commons.changes.version>2.12.1</commons.changes.version> + <commons.checkstyle-plugin.version>3.1.0</commons.checkstyle-plugin.version> + <commons.clirr.version>2.8</commons.clirr.version> + <commons.cobertura.version>2.7</commons.cobertura.version> + <commons.compiler.version>3.8.1</commons.compiler.version> + <commons.coveralls.version>4.3.0</commons.coveralls.version> + <commons.coveralls.timestampFormat>EpochMillis</commons.coveralls.timestampFormat> + <commons.failsafe.version>2.22.2</commons.failsafe.version> + <commons.felix.version>4.2.1</commons.felix.version> + <commons.findbugs.version>3.0.5</commons.findbugs.version> + <commons.jacoco.version>0.8.4</commons.jacoco.version> + <commons.japicmp.version>0.14.1</commons.japicmp.version> + <commons.jar-plugin.version>3.1.2</commons.jar-plugin.version> + <commons.javadoc.version>3.1.1</commons.javadoc.version> + <commons.jdepend.version>2.0</commons.jdepend.version> + <commons.jxr.version>3.0.0</commons.jxr.version> + <commons.pmd.version>3.12.0</commons.pmd.version> + <commons.project-info.version>3.0.0</commons.project-info.version> + <commons.rat.version>0.13</commons.rat.version> + <commons.release-plugin.version>1.7</commons.release-plugin.version> + <commons.scm-publish.version>1.1</commons.scm-publish.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.site-plugin.version>3.8.2</commons.site-plugin.version> + <commons.source-plugin.version>3.1.0</commons.source-plugin.version> + <commons.spotbugs.version>3.1.6</commons.spotbugs.version> + <commons.surefire-report.version>2.22.2</commons.surefire-report.version> + <commons.surefire.version>2.22.2</commons.surefire.version> + <commons.wagon-ssh.version>3.3.3</commons.wagon-ssh.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> + <commons.release.4.desc /> + <commons.release.4.binary.suffix>-bin</commons.release.4.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.javadoc6.java.link>http://docs.oracle.com/javase/6/docs/api/</commons.javadoc6.java.link> + <commons.javadoc7.java.link>http://docs.oracle.com/javase/7/docs/api/</commons.javadoc7.java.link> + <commons.javadoc8.java.link>http://docs.oracle.com/javase/8/docs/api/</commons.javadoc8.java.link> + <commons.javadoc9.java.link>http://docs.oracle.com/javase/9/docs/api/</commons.javadoc9.java.link> + <commons.javadoc10.java.link>http://docs.oracle.com/javase/10/docs/api/</commons.javadoc10.java.link> + <commons.javadoc11.java.link>https://docs.oracle.com/en/java/javase/11/docs/api/</commons.javadoc11.java.link> + <commons.javadoc12.java.link>https://docs.oracle.com/en/java/javase/12/docs/api/</commons.javadoc12.java.link> + + <commons.javadoc.java.link>${commons.javadoc7.java.link}</commons.javadoc.java.link> + + <commons.javadoc.javaee5.link>http://docs.oracle.com/javaee/5/api/</commons.javadoc.javaee5.link> + <commons.javadoc.javaee6.link>http://docs.oracle.com/javaee/6/api/</commons.javadoc.javaee6.link> + <commons.javadoc.javaee7.link>http://docs.oracle.com/javaee/7/api/</commons.javadoc.javaee7.link> + + <commons.javadoc.javaee.link>${commons.javadoc.javaee6.link}</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> + + <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>user-subscr...@commons.apache.org</subscribe> + <unsubscribe>user-unsubscr...@commons.apache.org</unsubscribe> + <post>u...@commons.apache.org</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/user@commons.apache.org/</otherArchive> + </otherArchives> + </mailingList> + <mailingList> + <name>Commons Dev List</name> + <subscribe>dev-subscr...@commons.apache.org</subscribe> + <unsubscribe>dev-unsubscr...@commons.apache.org</unsubscribe> + <post>d...@commons.apache.org</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/dev@commons.apache.org/</otherArchive> + </otherArchives> + </mailingList> + <mailingList> + <name>Commons Issues List</name> + <subscribe>issues-subscr...@commons.apache.org</subscribe> + <unsubscribe>issues-unsubscr...@commons.apache.org</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/issues@commons.apache.org/</otherArchive> + </otherArchives> + </mailingList> + <mailingList> + <name>Commons Commits List</name> + <subscribe>commits-subscr...@commons.apache.org</subscribe> + <unsubscribe>commits-unsubscr...@commons.apache.org</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/commits@commons.apache.org/</otherArchive> + </otherArchives> + </mailingList> + <mailingList> + <name>Apache Announce List</name> + <subscribe>announce-subscr...@apache.org</subscribe> + <unsubscribe>announce-unsubscr...@apache.org</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/announce@apache.org/</otherArchive> + </otherArchives> + </mailingList> + </mailingLists> + + <prerequisites> + <maven>3.0.5</maven> + </prerequisites> + + <!-- + 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> + + <issueManagement> + <system>jira</system> + <url>https://issues.apache.org/jira/browse/COMMONSSITE</url> + </issueManagement> + + <ciManagement> + <system>jenkins</system> + <url>https://builds.apache.org/</url> + </ciManagement> + + <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> + <source>${maven.compiler.source}</source> + <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>${commons.source-plugin.version}</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> + <breakBuildOnSourceIncompatibleModifications>${commons.japicmp.breakBuildOnSourceIncompatibleModifications}</breakBuildOnSourceIncompatibleModifications> + <!-- 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> + <overrideCompatibilityChangeParameters> + <overrideCompatibilityChangeParameter> + <compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange> + <binaryCompatible>true</binaryCompatible> + <sourceCompatible>true</sourceCompatible> + <semanticVersionLevel>PATCH</semanticVersionLevel> + </overrideCompatibilityChangeParameter> + </overrideCompatibilityChangeParameters> + </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> + <source>${maven.compiler.source}</source> + <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> + <breakBuildOnSourceIncompatibleModifications>${commons.japicmp.breakBuildOnSourceIncompatibleModifications}</breakBuildOnSourceIncompatibleModifications> + <!-- skip japicmp on "mvn site" - use "mvn package site" to include report --> + <skipPomModules>true</skipPomModules> + <ignoreMissingNewVersion>true</ignoreMissingNewVersion> + <reportOnlyFilename>true</reportOnlyFilename> + <overrideCompatibilityChangeParameters> + <overrideCompatibilityChangeParameter> + <compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange> + <binaryCompatible>true</binaryCompatible> + <sourceCompatible>true</sourceCompatible> + <semanticVersionLevel>PATCH</semanticVersionLevel> + </overrideCompatibilityChangeParameter> + </overrideCompatibilityChangeParameters> + </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> + + <!-- + Profile for running the build using JDK 1.12 + (JAVA_1_12_HOME needs to be defined, e.g. in settings.xml or an environment variable) + --> + <profile> + <id>java-1.12</id> + <properties> + <commons.compiler.fork>true</commons.compiler.fork> + <commons.compiler.compilerVersion>1.12</commons.compiler.compilerVersion> + <commons.compiler.javac>${JAVA_1_12_HOME}/bin/javac</commons.compiler.javac> + <commons.surefire.java>${JAVA_1_12_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,1.8)</jdk> + </activation> + <properties> + <!-- Fix to build on JDK 7: version 4.0.0 requires Java 8. --> + <commons.felix.version>3.5.1</commons.felix.version> + </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> + +</project>
Added: dev/commons/commons-parent/49-RC1/commons-parent-49.pom.asc ============================================================================== --- dev/commons/commons-parent/49-RC1/commons-parent-49.pom.asc (added) +++ dev/commons/commons-parent/49-RC1/commons-parent-49.pom.asc Tue Sep 10 18:48:28 2019 @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAl136tYACgkQP6rSzV7L +sxSF7A/+JvrHBYJ2EHljDX2B/VV1fUk1a0PrJOXypFpOPryH2GIg1ehOvRiJNkiI +41bE/Rf8tuFxbaBCi2EorpfaWukzAMzduurywC/CGE+yjNMm9RyVsp+TD8j110VB +M2MqpVUSvhW1EVB+FFk61Vf5P9Z52jrS56AePykznvFef3ufyyGjNjChBbhiFPAz +mDcQHQKgTzFfaOTzzV6qokeDw7qz2ZccSd4YE+NFfkcetVEz9pZAzTna+ITNzwr7 +QC6VjQ4WcweHiGROf30D9Q2X8LdGZabcMfu2aZGrnm3GVuWzhbgdy6V54P4M67QP +2uBcLjlTSWK2VueisIvprUFZ2jC2k0xrz0XC/ZIXh9UZRnQSxoPAwcYnOL/HXmnr +lK2Tb4yIDf4dqXLW+D9o43mf8sQkwkn5gkeLKDV1ijGynpjuPMAQ16HsW0c6rffZ +PaUZzBtLNNTs0xrEKRQYwFInCeS1ex42PcHtQzuXKuTYiH0v/Em+iqxNYM1i080M +OGjk3XY7E0gI7DeFcDqRVCbl/AKEI/aNVLw9mHW6HPlF6VgcieV7HTb6LYe182aD +YEucDy5COL6xiRrG6iaWrWQNgAx4VQkPHZbX7BXPFOyMcAjqccWsozu55jKa6/XX +btD56k/o15ls87jj8PzA97G5tP46vk97qo4FZc19tjFIv50//ao= +=iOhI +-----END PGP SIGNATURE----- Added: dev/commons/commons-parent/49-RC1/commons-parent-49.pom.sha512 ============================================================================== --- dev/commons/commons-parent/49-RC1/commons-parent-49.pom.sha512 (added) +++ dev/commons/commons-parent/49-RC1/commons-parent-49.pom.sha512 Tue Sep 10 18:48:28 2019 @@ -0,0 +1 @@ +3e57470891a15a35dde176e277adecac71b95ec2cb1053b2d8347a22adbd050c3d141ce27f4fa00b58be6151e6567f538423629d32ce5011f794d447da850ff4