blob: 3a6bd6150332d883b9351a2721363e595a0d0155 [file] [log] [blame]
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>52</version>
</parent>
<artifactId>commons-release-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.8-SNAPSHOT</version>
<name>Apache Commons Release Plugin</name>
<description>
Apache Maven Mojo for Apache Commons Release tasks.
</description>
<url>https://commons.apache.org/proper/commons-release-plugin/</url>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/COMMONSSITE</url>
</issueManagement>
<inceptionYear>2018</inceptionYear>
<scm>
<connection>scm:git:http://gitbox.apache.org/repos/asf/commons-release-plugin.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-release-plugin.git
</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=commons-release-plugin.git</url>
</scm>
<distributionManagement>
<site>
<id>commons.site</id>
<name>Apache Commons Site SVN</name>
<url>
scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-release-plugin
</url>
</site>
</distributionManagement>
<developers>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
<email>chtompki@apache.org</email>
<timezone>-5</timezone>
</developer>
<developer>
<name>Gary Gregory</name>
<id>ggregory</id>
<email>ggregory@apache.org</email>
<timezone>-6</timezone>
</developer>
<developer>
<name>Matt Benson</name>
<id>mbenson</id>
<roles>
<role>Java Developer</role>
</roles>
</developer>
</developers>
<properties>
<!-- clirr.failOnError=False-->
<failOnError>false</failOnError>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.dependency.version>3.6.3</maven.dependency.version>
<commons.componentid>commons-release-plugin</commons.componentid>
<commons.jira.id>COMMONSSITE</commons.jira.id>
<commons.jira.pid>12310466&amp;amp;component=12312401</commons.jira.pid>
<commons.release.version>${project.version}</commons.release.version>
<commons.site.path>commons-release-plugin</commons.site.path>
<commons.manifestfile/>
<commons.scmPubUrl>
https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path}
</commons.scmPubUrl>
<commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
<checkstyle.plugin.version>3.1.2</checkstyle.plugin.version>
<checkstyle.version>8.41</checkstyle.version>
<maven-scm.version>1.11.2</maven-scm.version>
<commons.spotbugs.version>4.2.2</commons.spotbugs.version>
<commons.spotbugs.impl.version>4.2.2</commons.spotbugs.impl.version>
<commons.jacoco.version>0.8.6</commons.jacoco.version>
<commons.jacoco.classRatio>0.1</commons.jacoco.classRatio>
<commons.jacoco.instructionRatio>0.1</commons.jacoco.instructionRatio>
<commons.jacoco.methodRatio>0.1</commons.jacoco.methodRatio>
<commons.jacoco.branchRatio>0.1</commons.jacoco.branchRatio>
<commons.jacoco.lineRatio>0.1</commons.jacoco.lineRatio>
<commons.jacoco.complexityRatio>0.1</commons.jacoco.complexityRatio>
<commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
<commons.encoding>ISO-8859-1</commons.encoding>
<!-- 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>
<!-- Including commons release plugin older version -->
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.bc.version>1.7</commons.bc.version>
<commons.release.version>1.8</commons.release.version>
<commons.rc.version>RC1</commons.rc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.releaseManagerName>Rob Tompkins</commons.releaseManagerName>
<commons.releaseManagerKey>B6E73D84EA4FCC47166087253FAAD2CD5ECBB314</commons.releaseManagerKey>
<maven.plugin.version>3.6.0</maven.plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.dependency.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.dependency.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven.dependency.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven.plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>${maven-scm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-svnexe</artifactId>
<version>${maven-scm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-svn-commons</artifactId>
<version>${maven-scm.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.20</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
<version>3.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>${maven.dependency.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<!-- A bit of jar-hell requires this to come last. -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-script-ant</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-velocity</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</exclusion>
<exclusion>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<defaultGoal>clean package apache-rat:check checkstyle:check spotbugs:check javadoc:javadoc</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>resources</targetPath>
</resource>
<resource>
<directory>${basedir}</directory>
<targetPath>META-INF</targetPath>
<includes>
<include>NOTICE.txt</include>
<include>LICENSE.txt</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>site-content/**</exclude>
<exclude>src/site/resources/download_commons-release-plugin.cgi</exclude>
<exclude>src/test/resources/mojos/detach-distributions/target/commons-text-1.4*.asc</exclude>
<exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${commons.spotbugs.version}</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${commons.spotbugs.impl.version}</version>
</dependency>
</dependencies>
<configuration>
<excludeFilterFile>${basedir}/fb-excludes.xml</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<!-- Add the Ant plugin tools to the plugin -->
<dependencies>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-ant</artifactId>
<version>${maven.plugin.version}</version>
</dependency>
</dependencies>
<configuration>
<goalPrefix>commons-release</goalPrefix>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.commons</groupId>
<artifactId>commons-build-plugin</artifactId>
<version>1.12</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${commons.javadoc.version}</version>
<configuration>
<!-- keep only errors and warnings -->
<show>private</show>
<quiet>true</quiet>
<encoding>${commons.encoding}</encoding>
<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>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<configLocation>${basedir}/checkstyle.xml</configLocation>
<headerLocation>${basedir}/license-header.txt</headerLocation>
<suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/assembly/bin.xml</descriptor>
<descriptor>src/assembly/src.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<configuration>
<ignorePathsToDelete>
<ignorePathToDelete>javadocs</ignorePathToDelete>
</ignorePathsToDelete>
</configuration>
</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>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
</plugin>
<!-- exclude surefire report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<reportSets>
<reportSet/>
</reportSets>
</plugin>
<!-- exclude jdepend report -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<reportSets>
<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 -->
<show>private</show>
<quiet>true</quiet>
<encoding>${commons.encoding}</encoding>
<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>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<enableRulesSummary>false</enableRulesSummary>
<configLocation>${basedir}/checkstyle.xml</configLocation>
<headerLocation>${basedir}/license-header.txt</headerLocation>
<suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<configuration>
<minSeverity>info</minSeverity>
</configuration>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.14.0</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Needs Work</displayName>
<tags>
<tag>
<matchString>TODO</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>FIXME</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>XXX</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
<tagClass>
<displayName>Noteable Markers</displayName>
<tags>
<tag>
<matchString>NOTE</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOPMD</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOSONAR</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${commons.jacoco.version}</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>setup-checkout</id>
<activation>
<file>
<missing>site-content</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>prepare-checkout</id>
<goals>
<goal>run</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<tasks>
<exec executable="svn">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}"/>
</exec>
<exec executable="svn">
<arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs"/>
</exec>
<pathconvert pathsep=" " property="dirs">
<dirset dir="${commons.scmPubCheckoutDirectory}" includes="*"/>
</pathconvert>
<exec executable="svn">
<arg line="update --set-depth infinity ${dirs}"/>
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.commons</groupId>
<artifactId>commons-release-plugin</artifactId>
<version>${commons.release-plugin.version}</version>
<configuration>
<distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/commons-release-plugin
</distSvnStagingUrl>
</configuration>
<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>
<!-- 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>
<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>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<source>${maven.compiler.source}</source>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<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>
</plugins>
</build>
</profile>
<profile>
<id>test-deploy</id>
<properties>
<altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
</properties>
</profile>
</profiles>
</project>