blob: 1c4ee47d7e5c245e00afacf9f54e1679ac734eac [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>17</version>
</parent>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-project</artifactId>
<version>0.12</version>
<packaging>pom</packaging>
<name>Apache Creadur Rat</name>
<url>http://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>
<prerequisites>
<!-- This is the version of Maven required to build Rat -->
<maven>3.0.5</maven>
</prerequisites>
<properties>
<javaVersion>1.5</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>
<!--
Publication to the website is a two phase operation:
1. Deploy to local stage: mvn site-deploy
2. Publish to Apache CMS: mvn scm-publish:publish-scm
This will only work when the origin for scm-publish:publish-scm
is the target for site:deploy.
SO MAKE SURE THAT THE FOLLOWING PROPERTIES RESOLVE TO THE SAME
DIRECTORY:
* scmpublish.content
* rat.site.url
-->
<rat.LocalSiteStaging>stage</rat.LocalSiteStaging>
<scmpublish.content>${rat.LocalSiteStaging}</scmpublish.content>
<rat.site.url>file:${rat.LocalSiteStaging}</rat.site.url>
<rat.site.name>Apache Rat Website</rat.site.name>
<rat.site.id>org.apache.rat.site</rat.site.id>
<creadur.jira.id>RAT</creadur.jira.id>
<!-- maven plugin versions -->
<mavenPluginPluginVersion>3.3</mavenPluginPluginVersion>
<mavenChangesVersion>2.11</mavenChangesVersion>
</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.2</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<!-- Later versions require Java 1.6+ -->
<version>2.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<!-- commons-lang3 versions require Java 1.6+ -->
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.10</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.2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-antunit</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-testutil</artifactId>
<version>1.9.6</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>
<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>2.10.3</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.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<reports>
<report>dependencies</report>
<report>project-team</report>
<report>mailing-list</report>
<report>issue-tracking</report>
<report>cim</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>
<!-- Must use previous version, to avoid a cyclic reference -->
<version>0.11</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.7</version>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.6</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>${javaVersion}</source>
<target>${javaVersion}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<!-- Later versions require Java 1.6+ -->
<version>3.1</version>
<configuration>
<targetJdk>${javaVersion}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<configuration>
<relativizeDecorationLinks>false</relativizeDecorationLinks>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>1.0</version>
<extensions>true</extensions>
<configuration>
<!-- svn location for publication -->
<pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/creadur/site/trunk/content/rat/</pubScmUrl>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</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.11,)</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>
<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>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>1.0-beta-2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.11</version>
<dependencies>
<!-- Upgrade ASM and support Java 8 bytecode -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
<version>5.0.3</version>
</dependency>
</dependencies>
<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.5-compat</id>
<phase>process-classes</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java15</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>http://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>http://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>http://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:svn:http://svn.apache.org/repos/asf/creadur/rat/tags/apache-rat-project-0.12</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/creadur/rat/tags/apache-rat-project-0.12</developerConnection>
<url>http://svn.apache.org/repos/asf/creadur/rat/tags/apache-rat-project-0.12</url>
</scm>
<distributionManagement>
<site>
<id>${rat.site.id}</id>
<name>${rat.site.name}</name>
<url>${rat.site.url}</url>
</site>
</distributionManagement>
<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>http://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>http://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>