Apache Software Foundation Parent POM
This project consists of a POM that contains settings that are likely to be useful to any Apache project that is building and releasing code with Maven 3 (Maven 2.x is not supported any more since version 17). By using this project as a parent, a project gets these settings.
Most project will want to override some of these settings.
The following is a list of the items configured in this POM:
- Top-level project properties:
- pluginManagement: The plugin management section specifies versions of a list of plugins. See the Plugin Management report for the complete list with versions.
- The compiler plugin is set to default to Java 1.7 and UTF-8 source.
- the jar plugin is set to add default specification and implementation entries.
- the resources plugin is set for UTF-8.
- the release plugin: the release plugin is set, via the <arguments> configuration element, to enable the apache-release profile for all executions and to disable <useReleaseProfiles>. You can remove this with an empty <arguments/> element in the configuration of the release plugin.
- plugins: The plugins section configures two executions:
The apache-release Profile
As noted above, this pom configures the release plugin to enable the apache-release profile for all executions of the release plugin.
The profile includes the following plugins:
- maven-assembly-plugin: org.apache.apache.resources:apache-source-release-assembly-descriptor:1.0.6 is in the dependencies, and an execution is configured. The plugin is configured to take a descriptorRef name from the sourceReleaseAssemblyDescriptor property, which by default is set to source-release (zip only): you can override the property with source-release-zip-tar (both zip and tar) or source-release-tar (tar only) values.
- maven-deploy-plugin: configured to activate updateReleaseInfo
- maven-source-plugin: configured to build and attach a source jar.
- maven-javadoc-plugin: configured to build and attach a javadoc jar.
- maven-gpg-plugin: configured to sign everything. It expects to find a passphrase in ${gpg.passphrase}, presumably in your settings.xml.
- checksum-maven-plugin: configured to create a checksum file(s) for source release as required by Apache release distribution policy.
When doing a release with maven-release-plugin, this will create files in target/checkout/target ready to be copied to projects' Apache /dist/ release distribution directory:
- ${artifactId}-${version}-source-release.[zip|tar.gz]: the source release archive(s)
- ${artifactId}-${version}-source-release.[zip|tar.gz].sha512: their checksum(s)
- ${artifactId}-${version}-source-release.[zip|tar.gz].asc: their signature(s)
Settings Configuration
You can have a look at the page in Apache website Publishing Maven Artifacts.
You can test your environment setup using -Papache-release with the command line.
History
Version |
Release Date |
21 (diff, commits) |
2018-08-21 |
20 (diff, commits) |
2018-07-07 |
19 (diff, commits) |
2018-01-24 |
18 (diff, commits) |
2016-05-18 |
17 (diff, commits) |
2015-04-24 |
16 (diff, commits) |
2014-11-13 |
15 (diff, commits) |
2014-09-24 |
14 (diff, commits) |
2014-03-06 |
13 (diff, commits) |
2013-01-20 |
12 (diff, commits) |
2012-11-01 |
11 (diff, commits) |
2012-08-08 |
10 (diff, commits) |
2011-08-09 |
9 (diff, commits) |
2011-02-15 |
8 (diff, commits) |
2010-11-26 |
7 (diff, commits) |
2009-12-29 |