Import Upstream version 25

This commit is contained in:
zhouganqing 2022-11-18 10:11:21 +08:00
commit 8db97fa3e6
13 changed files with 1328 additions and 0 deletions

24
.asf.yaml Normal file
View File

@ -0,0 +1,24 @@
#
# 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.
#
# see https://s.apache.org/asfyaml
github:
description: "Apache Software Foundation Parent POM"
homepage: https://maven.apache.org/pom/asf/
labels:
- java
- build-management
- maven

24
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,24 @@
#
# 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.
#
version: 2
updates:
- package-ecosystem: maven
directory: "/"
schedule:
interval: daily
time: '04:00'
open-pull-requests-limit: 10

27
.github/workflows/maven-verify.yml vendored Normal file
View File

@ -0,0 +1,27 @@
# 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.
name: Verify
on:
push:
pull_request:
jobs:
build:
name: Verify
uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
target/
.project
.classpath
.settings/
.svn/
bin/
# Intellij
*.ipr
*.iml
.idea
out/
.DS_Store
/bootstrap
/dependencies.xml
.java-version

View File

@ -0,0 +1,17 @@
<!---
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.
-->
This is just a marker file to make sure that profile "enforce-output-timestamp-property" is not active for builds of this project.

20
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,20 @@
/**
* 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.
*/
asfMavenTlpStdBuild(jdks:['8'])

96
README.md Normal file
View File

@ -0,0 +1,96 @@
<!---
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.
-->
Contributing to [Apache Software Foundation Parent POM](https://maven.apache.org/pom/asf/)
======================
[![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MPOM.json)][jira]
[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
[![Maven Central](https://img.shields.io/maven-central/v/org.apache/apache.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache/apache)
[![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-apache-parent/job/master.svg)][build]
Have you found a bug or have an idea for a cool new feature? Contributing
code is a great way to give something back to the open source community. Before
you dig right into the code, there are a few guidelines that we need
contributors to follow so that we can have a chance of keeping on top of
things.
Getting Started
---------------
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature, please discuss your changes
on the [developer mailing list][ml-list] first.
This way you can make sure you're not wasting your time on something that isn't
considered to be in Apache Maven's scope.
+ Submit a ticket for your issue, assuming one does not already exist.
+ Clearly describe the issue, including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Fork the repository on GitHub.
Making and Submitting Changes
--------------
We accept Pull Requests via GitHub. The [developer mailing list][ml-list] is the
main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
+ Create a topic branch from where you want to base your work (this is usually the master branch).
Push your changes to a topic branch in your fork of the repository.
+ Make commits of logical units.
+ Respect the original code style: by using the same [codestyle][code-style],
patches should only highlight the actual difference, not being disturbed by any formatting issues:
+ Only use spaces for indentation.
+ Create minimal diffs - disable on save actions like reformat source code or organize imports.
If you feel the source code should be reformatted, create a separate PR for this change.
+ Check for unnecessary whitespace with `git diff --check` before committing.
+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
```
[MPOM-XXX] - Subject of the JIRA Ticket
Optional supplemental description.
```
+ Make sure you have added the necessary tests (JUnit/IT) for your changes.
+ Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken.
+ Submit a pull request to the repository in the Apache organization.
+ Update your JIRA ticket and include a link to the pull request in the ticket.
If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla].
Making Trivial Changes
----------------------
For changes of a trivial nature to comments and documentation, it is not always
necessary to create a new ticket in JIRA. In this case, it is appropriate to
start the first line of a commit with '(doc)' instead of a ticket number.
Additional Resources
--------------------
+ [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch)
+ [Apache Maven POMs JIRA project page][jira]
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
+ [Apache Maven Twitter Account](https://twitter.com/ASFMavenProject)
+ #Maven IRC channel on freenode.org
[jira]: https://issues.apache.org/jira/projects/MPOM/
[license]: https://www.apache.org/licenses/LICENSE-2.0
[ml-list]: https://maven.apache.org/mailing-lists.html
[code-style]: https://maven.apache.org/developers/conventions/code.html
[cla]: https://www.apache.org/licenses/#clas
[maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index
[build]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-apache-parent/job/master/

536
pom.xml Normal file
View File

@ -0,0 +1,536 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- for more information, see the documentation of this POM: http://maven.apache.org/pom/asf/ -->
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>25</version>
<packaging>pom</packaging>
<name>The Apache Software Foundation</name>
<description>
The Apache Software Foundation provides support for the Apache community of open-source software projects.
The Apache projects are characterized by a collaborative, consensus based development process, an open and
pragmatic software license, and a desire to create high quality software that leads the way in its field.
We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
and users.
</description>
<url>https://www.apache.org/</url>
<organization>
<name>The Apache Software Foundation</name>
<url>https://www.apache.org/</url>
</organization>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<mailingLists>
<mailingList>
<name>Apache Announce List</name>
<subscribe>announce-subscribe@apache.org</subscribe>
<unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
<post>announce@apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/www-announce/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</developerConnection>
<url>https://github.com/apache/maven-apache-parent/tree/${project.scm.tag}</url>
<tag>apache-25</tag>
</scm>
<distributionManagement>
<repository>
<id>apache.releases.https</id>
<name>Apache Release Distribution Repository</name>
<url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
</repository>
<snapshotRepository>
<id>apache.snapshots.https</id>
<name>${distMgmtSnapshotsName}</name>
<url>${distMgmtSnapshotsUrl}</url>
</snapshotRepository>
</distributionManagement>
<properties>
<distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName>
<distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl>
<organization.logo>https://www.apache.org/images/asf_logo_wide_2016.png</organization.logo>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor>
<gpg.useagent>true</gpg.useagent>
<minimalMavenBuildVersion>3.1.1</minimalMavenBuildVersion>
<minimalJavaBuildVersion>1.8</minimalJavaBuildVersion>
<maven.compiler.source>${maven.compiler.target}</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<surefire.version>2.22.2</surefire.version><!-- for surefire, failsafe and surefire-report -->
<maven.plugin.tools.version>3.6.4</maven.plugin.tools.version><!-- for m-plugin-p and maven-plugin-annotations -->
<assembly.tarLongFileMode>posix</assembly.tarLongFileMode>
<project.build.outputTimestamp>2022-02-17T22:08:13Z</project.build.outputTimestamp>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven.plugin.tools.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>apache.snapshots</id>
<name>Apache Snapshot Repository</name>
<url>https://repository.apache.org/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshot Repository</name>
<url>https://repository.apache.org/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
<pluginManagement>
<plugins>
<!-- set versions of common plugins for reproducibility, ordered alphabetically -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-docck-plugin</artifactId>
<version>1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<gpgArguments>
<arg>--digest-algo=SHA512</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<archive>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<notimestamp>true</notimestamp><!-- avoid noise for svn/gitpubsub -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${maven.plugin.tools.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<pluginManagementExcludes>
<exclude>org.eclipse.m2e:lifecycle-mapping</exclude>
</pluginManagementExcludes>
</configuration>
</plugin>
<!-- START SNIPPET: release-plugin-configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<releaseProfiles>apache-release</releaseProfiles>
</configuration>
</plugin>
<!-- END SNIPPET: release-plugin-configuration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.7.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.12.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.11.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${surefire.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- We want to package up license resources in the JARs produced -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resource-bundles</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${minimalMavenBuildVersion}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>${minimalJavaBuildVersion}</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- START SNIPPET: release-profile -->
<profile>
<id>apache-release</id>
<build>
<plugins>
<!-- Create a source-release artifact that contains the fully buildable
project directory source structure. This is the artifact which is
the official subject of any release vote. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.apache.resources</groupId>
<artifactId>apache-source-release-assembly-descriptor</artifactId>
<version>1.0.6</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>source-release-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<descriptorRefs>
<descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
</descriptorRefs>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
</execution>
</executions>
</plugin>
<!-- We want to deploy the artifact to a staging location for perusal -->
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- calculate checksums of source release for Apache dist area -->
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
<version>1.11</version>
<executions>
<execution>
<id>source-release-checksum</id>
<goals>
<goal>artifacts</goal>
</goals>
<!-- execute prior to maven-gpg-plugin:sign due to https://github.com/nicoulaj/checksum-maven-plugin/issues/112 -->
<phase>post-integration-test</phase>
<configuration>
<algorithms>
<algorithm>SHA-512</algorithm>
</algorithms>
<!-- https://maven.apache.org/apache-resource-bundles/#source-release-assembly-descriptor -->
<includeClassifiers>source-release</includeClassifiers>
<excludeMainArtifact>true</excludeMainArtifact>
<csvSummary>false</csvSummary>
<!-- attach SHA-512 checksum as well to upload to Maven Staging Repo,
as this eases uploading from stage to dist and doesn't do harm in Maven Central -->
<attachChecksums>true</attachChecksums>
</configuration>
</execution>
</executions>
</plugin>
<!-- We want to sign the artifact, the POM, and all attached artifacts (except for SHA-512 checksum) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-release-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- END SNIPPET: release-profile -->
<profile>
<id>only-eclipse</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!-- Disable execution of some plugins in m2e (https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html) -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version><!-- as this is an artificial artifact only use in a profile (https://bugs.eclipse.org/bugs/show_bug.cgi?id=367870#c18) -->
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<!-- no native m2e support yet (https://issues.apache.org/jira/browse/MRRESOURCES-85) -->
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<versionRange>[0,1.8.0)</versionRange>
<goals>
<goal>process</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>

113
site-pom.xml Normal file
View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>25</version>
<relativePath>./pom.xml</relativePath>
</parent>
<artifactId>apache.</artifactId>
<packaging>pom</packaging>
<name>Apache Software Foundation Parent POM</name>
<description>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 2/3.</description>
<url>https://maven.apache.org/pom/asf/</url>
<mailingLists>
<mailingList>
<name>Apache Release Discuss</name>
<subscribe>mailto:release-discuss-subscribe@apache.org</subscribe>
<unsubscribe>mailto:release-discuss-unsubscribe@apache.org</unsubscribe>
<post>mailto:release-discuss@apache.org</post>
<archive>https://lists.apache.org/list.html?release-discuss@apache.org</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-apache-parent.git</developerConnection>
<url>https://github.com/apache/maven-apache-parent/tree/${project.scm.tag}</url>
<tag>apache-${project.version}</tag>
</scm>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/issues/?jql=project%3DMPOM+AND+component%3Dasf</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-parent/</url>
<notifiers>
<notifier>
<type>mail</type>
<configuration>
<address>notifications@maven.apache.org</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
<distributionManagement>
<site>
<id>apache.website</id>
<url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
</site>
</distributionManagement>
<properties>
<maven.site.cache>${user.home}/maven-sites</maven.site.cache>
<maven.site.path>pom-archives/asf-LATEST</maven.site.path>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<siteDirectory>${basedir}/src/site-docs</siteDirectory>
<skipDeploy>true</skipDeploy><!-- don't deploy site with maven-site-plugin -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<configuration>
<content>${project.reporting.outputDirectory}</content><!-- mono-module doesn't require site:stage -->
<checkoutDirectory>${maven.site.cache}/${maven.site.path}</checkoutDirectory>
<tryUpdate>true</tryUpdate>
</configuration>
<executions>
<execution>
<id>scm-publish</id>
<phase>site-deploy</phase><!-- deploy site with maven-scm-publish-plugin -->
<goals>
<goal>publish-scm</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,215 @@
-----
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. By using this project as a parent,
a project gets these settings.
Most projects 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 properties (<<<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.target")>> (<<<maven.compiler.target>>> property)
and $context.get("project.build.sourceEncoding") source (<<<project.build.sourceEncoding>>> property).
** 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 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 three executions:
** maven-remote-resources-plugin for {{{/apache-resource-bundles/}org.apache:apache-jar-resource-bundle:1.4}}.
** maven-site-plugin:attach-descriptor
** maven-enforcer-plugin to check Maven and Java build prerequisites, configured via properties:
*** <<<minimalMavenBuildVersion>>> property: default value is <<Maven $context.get("minimalMavenBuildVersion")>>
*** <<<minimalJavaBuildVersion>>> property: default value is <<Java $context.get("minimalJavaBuildVersion")>>
[]
* <<Reproducible Builds>>: since version 22 of this parent POM, managed plugins versions are expected to be compliant with {{{https://reproducible-builds.org/}Reproducible Builds}}.
To choose the timestamp in output archives, projects using this POM as parent should define a property in their root POM:
+------+
<properties>
<project.build.outputTimestamp>10</project.build.outputTimestamp>
</properties>
+------+
The value will be updated by Maven Release Plugin during releases. If a project wants to disable Reproducible Builds, just define
the property value with any single non-numeric character.
[]
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 added as dependency, and an execution is configured with <<<source-release-assembly>>> id.\
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.\
If you want to avoid this default assembly execution to provide your own mechanism to produce the source release archive,
you can disable the execution by configuring <<<skipAssembly>>> parameter for this <<<source-release-assembly>>> execution id
* 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 {{{http://www.apache.org/dev/release-distribution#sigs-and-sums}Apache release distribution policy}}.
[]
When doing a release with maven-release-plugin, this creates files in <<<target/checkout/target>>> ready
to be copied to projects' {{{http://www.apache.org/dev/release-distribution}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)
[]
Those files also end up in the staging repository and Maven Central.
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://github.com/apache/maven-apache-parent/compare/apache-25...master}diff}})
#end
#macro ( display $version $date )
#**##set( $prev = $version - 1 )
| {{{https://github.com/apache/maven-apache-parent/tree/apache-$version/pom.xml}$version}}
| ({{{https://github.com/apache/maven-apache-parent/compare/apache-$prev...apache-$version}diff}}) | $date |
#end
*--------------+------------+
|| <<Version>> || <<Release Date>> ||
*--------------+------------+
#display( 25, '2022-02-20' )
*--------------+------------+
#display( 24, '2021-07-13' )
*--------------+------------+
#display( 23, '2020-01-25' )
*--------------+------------+
#display( 22, '2020-01-08' )
*--------------+------------+
#display( 21, '2018-08-21' )
*--------------+------------+
#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' )
*--------------+------------+

View File

@ -0,0 +1,22 @@
#!/bin/sh
#
# 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.
#
# Just call the standard mirrors.cgi script. It will use download.html
# as the input template.
exec /www/www.apache.org/dyn/mirrors/mirrors.cgi $*

93
src/site-docs/site.xml Normal file
View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/DECORATION/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd">
<bannerLeft>
<name>${project.name}</name>
<src>https://maven.apache.org/images/apache-maven-project.png</src>
<href>https://www.apache.org/</href>
</bannerLeft>
<bannerRight>
<src>https://maven.apache.org/images/maven-logo-black-on-white.png</src>
<href>https://maven.apache.org/</href>
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
<version>1.10.0</version>
</skin>
<edit>${project.scm.url}</edit>
<googleAnalyticsAccountId>UA-140879-1</googleAnalyticsAccountId>
<publishDate position="right" />
<version position="right" />
<body>
<breadcrumbs>
<item name="Apache" href="https://www.apache.org/" />
<item name="Maven" href="https://maven.apache.org/index.html" />
<item name="Parent POMs" href="https://maven.apache.org/pom/index.html" />
<item name="ASF" href="https://maven.apache.org/pom/asf/index.html" />
</breadcrumbs>
<menu name="Overview">
<item name="Introduction" href="index.html"/>
<!-- According to https://issues.apache.org/jira/browse/MNGSITE-152 -->
<item name="License" href="https://www.apache.org/licenses/"/>
<item name="Download" href="download.html"/>
</menu>
<menu ref="reports" />
<!-- Copied from Maven parent's site.xml, removing inherit="bottom" -->
<menu name="Maven Projects">
<item name="Archetype" href="https://maven.apache.org/archetype/index.html" />
<item name="Artifact Resolver" href="https://maven.apache.org/resolver/index.html" />
<item name="Doxia" href="https://maven.apache.org/doxia/index.html" />
<item name="Extensions" href="https://maven.apache.org/extensions/index.html" />
<item name="JXR" href="https://maven.apache.org/jxr/index.html" />
<item name="Maven" href="https://maven.apache.org/ref/current" />
<item name="Parent POMs" href="https://maven.apache.org/pom/index.html" />
<item name="Plugins" href="https://maven.apache.org/plugins/index.html" />
<item name="Plugin Testing" href="https://maven.apache.org/plugin-testing/index.html" />
<item name="Plugin Tools" href="https://maven.apache.org/plugin-tools/index.html" />
<item name="Resource Bundles" href="https://maven.apache.org/apache-resource-bundles/index.html" />
<item name="SCM" href="https://maven.apache.org/scm/index.html" />
<item name="Shared Components" href="https://maven.apache.org/shared/index.html" />
<item name="Skins" href="https://maven.apache.org/skins/index.html" />
<item name="Surefire" href="https://maven.apache.org/surefire/index.html" />
<item name="Wagon" href="https://maven.apache.org/wagon/index.html" />
</menu>
<menu name="ASF">
<item name="How Apache Works" href="https://www.apache.org/foundation/how-it-works.html"/>
<item name="Foundation" href="https://www.apache.org/foundation/"/>
<item name="Sponsoring Apache" href="https://www.apache.org/foundation/sponsorship.html"/>
<item name="Thanks" href="https://www.apache.org/foundation/thanks.html"/>
</menu>
</body>
</project>

View File

@ -0,0 +1,126 @@
<?xml version="1.0"?>
<!--
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.
-->
<document>
<properties>
<title>Download ${project.name} Source</title>
</properties>
<body>
<section name="Download ${project.name} ${project.version} Source">
<p>${project.name} ${project.version} is distributed in source format. Use a source archive if you intend to build
${project.name} yourself. Otherwise, simply use the ready-made binary artifacts from central repository.</p>
<p>You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24
hours to reach all mirrors.<p/>
<p>In order to guard against corrupted downloads/installations, it is highly recommended to
<a href="https://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
of the release bundles against the public <a href="https://www.apache.org/dist/maven/KEYS">KEYS</a> used by the Apache Maven
developers.</p>
<p>${project.name} is distributed under the <a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
<p></p>We <b>strongly</b> encourage our users to configure a Maven repository mirror closer to their location, please read <a href="/guides/mini/guide-mirror-settings.html">How to Use Mirrors for Repositories</a>.</p>
<a name="mirror"/>
<subsection name="Mirror">
<p>
[if-any logo]
<a href="[link]">
<img align="right" src="[logo]" border="0"
alt="logo"/>
</a>
[end]
The currently selected mirror is
<b>[preferred]</b>.
If you encounter a problem with this mirror,
please select another mirror.
If all mirrors are failing, there are
<i>backup</i>
mirrors
(at the end of the mirrors list) that should be available.
</p>
<form action="[location]" method="get" id="SelectMirror">
Other mirrors:
<select name="Preferred">
[if-any http]
[for http]
<option value="[http]">[http]</option>
[end]
[end]
[if-any ftp]
[for ftp]
<option value="[ftp]">[ftp]</option>
[end]
[end]
[if-any backup]
[for backup]
<option value="[backup]">[backup] (backup)</option>
[end]
[end]
</select>
<input type="submit" value="Change"/>
</form>
<p>
You may also consult the
<a href="https://www.apache.org/mirrors/">complete list of
mirrors.</a>
</p>
</subsection>
<subsection name="${project.name} ${project.version}">
<p>This is the current stable version of ${project.name}.</p>
<table>
<thead>
<tr>
<th></th>
<th>Link</th>
<th>Checksum</th>
<th>Signature</th>
</tr>
</thead>
<tbody>
<tr>
<td>${project.name} ${project.version} (Source zip)</td>
<td><a href="[preferred]maven/pom/apache-${project.version}-source-release.zip">maven/pom/apache-${project.version}-source-release.zip</a></td>
<td><a href="https://www.apache.org/dist/maven/pom/apache-${project.version}-source-release.zip.sha512">maven/pom/apache-${project.version}-source-release.zip.sha512</a></td>
<td><a href="https://www.apache.org/dist/maven/pom/apache-${project.version}-source-release.zip.asc">maven/pom/apache-${project.version}-source-release.zip.asc</a></td>
</tr>
</tbody>
</table>
</subsection>
<subsection name="Previous Versions">
<p>Older non-recommended releases can be found on our <a href="https://archive.apache.org/dist/maven/pom/">archive site</a>.</p>
</subsection>
</section>
</body>
</document>