blob: 04f0b33d3afe0e88aef373f0ba905ce427ccb361 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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>18</version>
</parent>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-project</artifactId>
<version>0.14-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache Creadur Rat</name>
<url>https://creadur.apache.org/rat/</url>
<description>
Apache Rat is a release audit tool. It improves accuracy and efficiency when checking
releases. It is heuristic in nature: making guesses about possible problems. It
will produce false positives and cannot find every possible issue with a release.
Its reports require interpretation.
In response to demands from project quality tool developers, Rat is available as a
library suitable for inclusion in tools. This POM describes that library.
Note that binary compatibility is not guaranteed between 0.x releases.
Apache Rat is developed by the Apache Creadur project, a language and build
agnostic home for software distribution comprehension and audit tools.
</description>
<inceptionYear>2006</inceptionYear>
<properties>
<ant.version>1.9.14</ant.version>
<javaVersion>1.7</javaVersion>
<maven.compiler.source>${javaVersion}</maven.compiler.source>
<maven.compiler.target>${javaVersion}</maven.compiler.target>
<!-- This is the version of Maven required to use the Rat Maven Plugin -->
<mavenVersion>2.2.1</mavenVersion>
<creadur.jira.id>RAT</creadur.jira.id>
<!-- maven plugin versions -->
<mavenPluginPluginVersion>3.3</mavenPluginPluginVersion>
<mavenChangesVersion>2.12.1</mavenChangesVersion>
<previousRatVersion>0.13</previousRatVersion>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-tasks</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<!-- Later versions require Java 1.6+ -->
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<!-- later versions require Java 1.6+ -->
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<!-- later versions require Java 1.6+ -->
<version>1.19</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>${ant.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-antunit</artifactId>
<version>1.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-testutil</artifactId>
<version>${ant.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<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>${mavenChangesVersion}</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>
<!-- TODO: what's the meaning of these copy-paste variables? -->
<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>3.1.0</version>
<configuration>
<tags>
<tag>
<name>TODO</name>
<placement>X</placement>
<head>To do:</head>
</tag>
</tags>
<notimestamp>true</notimestamp>
</configuration>
<reportSets>
<reportSet>
<id>non-aggregate</id>
<configuration>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<configuration>
</configuration>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.12.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
<reportSets>
<reportSet>
<reports>
<report>dependencies</report>
<report>team</report>
<report>mailing-lists</report>
<report>issue-management</report>
<report>ci-management</report>
<!-- Do not enable the license report;
license links must only point to
http://www.apache.org/licenses/
<report>license</report>
-->
<report>scm</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<!-- Do not use property values here as this makes problem during release -->
<version>0.13</version>
</plugin>
</plugins>
</reporting>
<build>
<defaultGoal>clean install</defaultGoal>
<pluginManagement>
<!--
This section is typically used to configure the versions of
plugins that we use. Note, that we are inheriting from the
parent POM, so we only have to configure version numbers,
if ours is different.
-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>${ant.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<!-- Later versions require Java 1.6+ -->
<version>3.12</version>
<configuration>
<targetJdk>${javaVersion}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<relativizeDecorationLinks>false</relativizeDecorationLinks>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<!-- Do not use property values here as this makes problem during release -->
<version>0.13</version>
<dependencies><!--TODO remove exclusion when upgrading to new ASF parent or doxia release (RAT-158) -->
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<configuration>
<excludes>
<!-- This file only describes how to build the project and it has no license header -->
<exclude>.travis.yml</exclude>
<exclude>BUILD.txt</exclude>
<!-- rat:check does not seem to use exclusions from modules -->
<exclude>apache-rat/README*.txt</exclude>
<exclude>apache-rat-core/src/test/resources/**</exclude>
<exclude>apache-rat*/target/**</exclude>
<exclude>apache-rat-plugin/src/test/resources/**</exclude>
<exclude>apache-rat-plugin/src/it/**</exclude>
<exclude>apache-rat-tasks/src/test/resources/**</exclude>
<exclude>**/iso-8859-1.html</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<!-- Only prompt once for the release version -->
<autoVersionSubmodules>true</autoVersionSubmodules>
<mavenExecutorId>forked-path</mavenExecutorId>
</configuration>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.rat</groupId>
<artifactId>
apache-rat-plugin
</artifactId>
<versionRange>[0.13,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>pre-site</phase>
<id>copy-site-resources</id>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy file="RELEASE_NOTES.txt" todir="${project.build.directory}/site/" failonerror="false" />
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M2</version>
<executions>
<execution>
<!-- This checks the bytecode version of the dependencies transitively -->
<id>enforce-bytecode-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>${javaVersion}</maxJdkVersion>
</enforceBytecodeVersion>
<requireMavenVersion>
<version>3.0.5</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.0-beta-5</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.18</version>
<executions>
<execution>
<!-- This checks the source code of our project -->
<!--
Note that this cannot use our ${javaVersion} property, so it must
be changed manually when we decide to move to a higher version of
Java
-->
<id>check-java-1.7-compat</id>
<phase>process-classes</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java17</artifactId>
<version>1.0</version>
</signature>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<!-- Last version that is compatible with Maven 2 -->
<version>1.0-beta-7</version>
</extension>
</extensions>
</build>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/RAT</url>
</issueManagement>
<ciManagement>
<system>Buildbot</system>
<url>https://ci.apache.org/builders/rat_trunk</url>
<!-- Jenkins builds are at:
https://builds.apache.org/job/Creadur-Rat-ParentPom/ - build the parent pom for all RAT submodules
https://builds.apache.org/job/Creadur-Rat/ - check Java5 compliance and run all tests
https://builds.apache.org/job/Creadur-Rat-Site/ - generate mvn site
https://builds.apache.org/job/Creadur-Rat-Latest-Jdk/ - run with Java8 and mvn3 latest
https://builds.apache.org/job/Creadur-Rat-Site-Latest-Jdk/ - ensure that a site can be generated with mvn3 and Java8
-->
</ciManagement>
<mailingLists>
<mailingList>
<name>Rat Development (Apache Creadur project)</name>
<subscribe>dev-subscribe@creadur.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@creadur.apache.org</unsubscribe>
<post>dev@creadur.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/creadur-dev/</archive>
</mailingList>
<mailingList>
<name>Rat Commits (Apache Creadur project)</name>
<subscribe>commits-subscribe@creadur.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@creadur.apache.org</unsubscribe>
<archive>https://mail-archives.apache.org/mod_mbox/creadur-commits/</archive>
</mailingList>
</mailingLists>
<developers>
<developer>
<id>bodewig</id>
<name>Stefan Bodewig</name>
<email>bodewig@apache.org</email>
</developer>
<developer>
<id>rdonkin</id>
<name>Robert Burrell Donkin</name>
<email>rdonkin@apache.org</email>
</developer>
<developer>
<id>jochen</id>
<name>Jochen Wiedmann</name>
<email>jochen@apache.org</email>
</developer>
<developer>
<id>gmcdonald</id>
<name>Gavin</name>
<email>gmcdonald@apache.org</email>
</developer>
<developer>
<id>brianf</id>
<name>Brian Fox</name>
<email>brianf@apache.org</email>
</developer>
<developer>
<id>dennisl</id>
<name>Dennis Lundberg</name>
<email>dennisl@apache.org</email>
</developer>
<developer>
<id>rgardler</id>
<name>Ross Gardler</name>
<email>rgardler@apache.org</email>
</developer>
<developer>
<id>crossley</id>
<name>David Crossley</name>
<email>crossley@apache.org</email>
</developer>
<developer>
<id>dblevins</id>
<name>David Blevins</name>
<email>dblevins@apache.org</email>
</developer>
<developer>
<id>pottlinger</id>
<name>Philipp Ottlinger</name>
<email>pottlinger@apache.org</email>
</developer>
</developers>
<contributors>
<contributor>
<name>Jukka Zitting</name>
<email>jukka@apache.org</email>
</contributor>
<contributor>
<name>Todd Volkert</name>
<email>tvolkert+apache@gmail.com</email>
</contributor>
<contributor>
<name>Henri Yandell</name>
<email>bayard@apache.org</email>
</contributor>
<contributor>
<name>Guillaume Nodet</name>
<email>gnodet@apache.org</email>
</contributor>
<contributor>
<name>Karl Pauls</name>
<email>pauls@apache.org</email>
</contributor>
<contributor>
<name>Matthieu Riou</name>
<email>mriou@apache.org</email>
</contributor>
<contributor>
<name>Garrett Rooney</name>
<email>rooneg@apache.org</email>
</contributor>
<contributor>
<name>Paul Merlin</name>
<email>paulmerlin@apache.org</email>
</contributor>
</contributors>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/creadur-rat.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/creadur-rat.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=creadur-rat.git</url>
</scm>
<modules>
<module>apache-rat-api</module>
<module>apache-rat-core</module>
<module>apache-rat-plugin</module>
<module>apache-rat-tasks</module>
<module>apache-rat</module>
</modules>
<licenses>
<license>
<name>Apache License, Version 2</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>An OSI approved open source license.</comments>
</license>
</licenses>
<organization>
<name>Apache Software Foundation</name>
<url>https://www.apache.org</url>
</organization>
<profiles>
<profile>
<id>apache-release</id>
<build>
<plugins>
<!-- Skip the source-release artifact here; we create it under the CLI module -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>source-release-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<skipAssembly>true</skipAssembly>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</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.
-->
<id>release-notes</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>${mavenChangesVersion}</version>
<configuration>
<template>release-notes.vm</template>
<templateDirectory>src/changes</templateDirectory>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<announcementDirectory>.</announcementDirectory>
<announcementFile>RELEASE-NOTES.txt</announcementFile>
<announceParameters>
<releaseVersion>${mavenChangesVersion}</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>
</profiles>
</project>