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.





Reply via email to