Maven Project Parent POM

This POM is the common parent of all of the Maven components in the Apache Maven project. Most of its contents are pinning down version numbers of plugins. It does provide minimal dependencyManagement for plexus-component and plugin-tools annotations.

This POM contains Maven developers information for the Project Team report, sorted by role and id. See the LDAP extract for more accurate committers and PMC members lists.

The reporting Profile

This POM provides reporting profile for rendering documentation during site generation:

mvn -Preporting site

See Plugins report for a list of configured report plugins.

The jdk-toolchain Profile

This POM provides jdk-toolchain profile to activate JDK selection as a toolchain with version requirement configured as minimum java version for the project.

Site Publication

This POM prepares site publication to Apache Maven's site svnpubsub. Every inheriting POM needs to define maven.site.path property with relative path to ${project.artifactId}-LATEST publication uri, and define distributionManagement to avoid automatic inheritance from parent:

  <properties>
    <maven.site.path>xxx-archives/${project.artifactId}-LATEST</maven.site.path>
  </properties>
  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</url>
    </site>
  </distributionManagement>

Once this is configured, the site is published with:

mvn -Preporting site site:stage
mvn scm-publish:publish-scm

See deploying Maven components reference documentation for more information.

Mono Module: site.scm-deploy profile

If the build is mono module, previous 2-steps publication can be simplified by activating site.scm-deploy profile through maven.site.scm-deploy property

  <properties>
    <maven.site.scm-deploy>true</maven.site.scm-deploy>
  </properties>

Once this is configured, the site can be published in only one command:

mvn -Preporting site-deploy

History

As of version 27, this POM sets the Java source and target versions to 1.6. Thus, as any plugin (or other component) moved to version 27+ of this POM, it moves to requiring Java 1.6 (was Java 1.5 since version 21).

Version Release Date
30 (diff) 2016-05-26
27 (diff) 2015-09-23
26 (diff) 2014-11-13
25 (diff) 2014-10-22
24 (diff) 2014-03-27
23 (diff) 2013-01-21
22 (diff) 2012-08-08
21 (diff) 2011-08-18
20 (diff) 2011-06-15
19 (diff) 2011-02-15
18 (diff) 2010-11-26
17 (diff) 2010-11-04