blob: 3fa256b342dd955b1b236db58b36fac2d8e5229c [file] [log] [blame]
-----
Apache Software Foundation Parent POM
-----
Benson Margulies
Hervé Boutemy
Karl Heinz Marbaise
-----
2016-05-09
-----
~~ 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.
~~ NOTE: For help with the syntax of this file, see:
~~ https://maven.apache.org/doxia/references/apt-format.html
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:
** <<license>>: Apache License, version 2.0.
** <<organization>>: The Apache Software Foundation
** <<url>>: {{<<<https://www.apache.org/>>>}}. You should override this.
** <<repositories>>: The pom adds the Apache snapshot
repository ({{<<<https://repository.apache.org/snapshots>>>}})
** <<distributionManagement>>: The POM sets up for releases to the Apache Nexus
instance at
{{<<<https://repository.apache.org/service/local/staging/deploy/maven2>>>}}
and snapshots to
{{<<<https://repository.apache.org/content/repositories/snapshots>>>}}. Note
that there are POM parameters (<<<distMgmtSnapshotsName>>> and <<<distMgmtSnapshotsUrl>>>)
that you can override to change the snapshot location.
** <<mailingLists>>: The POM sets up generic Apache announcement
lists. You should override this.
* <<pluginManagement>>: The plugin management section specifies versions
of a list of plugins. See the {{{./plugin-management.html}Plugin Management report}} for
the complete list with versions.
** The compiler plugin is set to default to Java $context.get("maven.compiler.source") and $context.get("project.build.sourceEncoding") source.
** the jar plugin is set to add default specification and implementation entries.
** the resources plugin is set for $context.get("project.build.sourceEncoding").
** 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 one execution:
** maven-remote-resources-plugin for {{{/apache-resource-bundles/}org.apache:apache-jar-resource-bundle:1.4}}.
** maven-site-plugin:attach-descriptor
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:
{{{/apache-resource-bundles/}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
* 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>>>.
Settings Configuration
You can have a look at the page in Apache website
{{{https://www.apache.org/dev/publishing-maven-artifacts.html}Publishing Maven Artifacts}}.
You can test your environment setup using <<<-Papache-release>>> with the command line.
History
#if( $project.version.endsWith( "SNAPSHOT" ) )
master: {{{https://github.com/apache/maven-apache-parent/tree/master/pom.xml}$project.version}}
({{{https://gitbox.apache.org/repos/asf?p=maven-apache-parent.git;a=blobdiff;f=pom.xml;hb=master;hpb=apache-19}diff}},
{{{https://github.com/apache/maven-apache-parent/compare/apache-19...master}commits}})
#end
#macro ( display $version $date )
#**##set( $prev = $version - 1 )
| {{{https://github.com/apache/maven-apache-parent/tree/apache-$version/pom.xml}$version}}
| ({{{https://gitbox.apache.org/repos/asf?p=maven-apache-parent.git;a=blobdiff;f=pom.xml;hb=apache-$version;hpb=apache-$prev}diff}},
| {{{https://github.com/apache/maven-apache-parent/compare/apache-$prev...apache-$version}commits}}) | $date |
#end
*--------------+------------+
|| <<Version>> || <<Release Date>> ||
*--------------+------------+
#display( 20, '2018-07-07' )
*--------------+------------+
#display( 19, '2018-01-24' )
*--------------+------------+
#display( 18, '2016-05-18' )
*--------------+------------+
#display( 17, '2015-04-24' )
*--------------+------------+
#display( 16, '2014-11-13' )
*--------------+------------+
#display( 15, '2014-09-24' )
*--------------+------------+
#display( 14, '2014-03-06' )
*--------------+------------+
#display( 13, '2013-01-20' )
*--------------+------------+
#display( 12, '2012-11-01' )
*--------------+------------+
#display( 11, '2012-08-08' )
*--------------+------------+
#display( 10, '2011-08-09' )
*--------------+------------+
#display( 9, '2011-02-15' )
*--------------+------------+
#display( 8, '2010-11-26' )
*--------------+------------+
#display( 7, '2009-12-29' )
*--------------+------------+