You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@griffin.apache.org by William GUO <gu...@outlook.com> on 2017/06/07 01:02:01 UTC
apache parent pom
Hi all,
I find some incubating projects in GitHub are not correctly use release process.
Actually, many properties, plugins and profiles are inherited from apache parent pom.
http://maven.apache.org/pom/asf/
Sadly, we cannot copy from others without deep thinking.
William
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: http://www.apache.org/<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 report<http://maven.apache.org/pom/asf/plugin-management.html> for the complete list with versions.
* The compiler plugin is set to default to Java 1.6 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 one execution:
* maven-remote-resources-plugin for org.apache:apache-jar-resource-bundle:1.4<http://maven.apache.org/apache-resource-bundles/>.
* 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: org.apache.apache.resources:apache-source-release-assembly-descriptor:1.0.6<http://maven.apache.org/apache-resource-bundles/> 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 Publishing Maven Artifacts<https://www.apache.org/dev/publishing-maven-artifacts.html>.
You can test your environment setup using -Papache-release with the command line.