Apache 软件基金会父 POM

该项目由一个 POM 组成,其中包含可能对使用 Maven 构建和发布代码的任何 Apache 项目有用的设置。通过将此项目用作父项目,项目将获得这些设置。

大多数项目都希望覆盖其中的一些设置。

以下是此 POM 中配置的项目列表:

  • 顶级项目属性:
  • pluginManagement:插件管理部分指定插件列表的版本。有关版本的完整列表,请参阅插件管理报告
    • 编译器插件默认设置为Java 1.7maven.compiler.target属性)和 UTF-8 源(project.build.sourceEncoding属性)。
    • jar 插件设置为添加默认规范和实现条目。
    • 资源插件设置为 UTF-8。
    • 发布插件通过 <arguments> 配置元素设置,为所有执行启用apache-release配置文件并禁用 <useReleaseProfiles>。您可以在发布插件的配置中使用一个空的 <arguments/> 元素来删除它。
  • plugins: plugins 部分配置三个执行:
    • org.apache:apache-jar-resource-bundle:1.4 的maven-remote-resources-plugin 。
    • maven 站点插件:附加描述符
    • maven-enforcer-plugin 检查 Maven 和 Java 构建先决条件,通过属性配置:
      • minimalMavenBuildVersion属性:默认值为Maven 3.1.1
      • minimalJavaBuildVersion属性:默认值为Java 1.8
  • Reproducible Builds:从这个父 POM 的版本 22 开始,托管插件版本预计将与Reproducible Builds兼容。

    要在输出存档中选择时间戳,使用此 POM 作为父级的项目应在其根 POM 中定义一个属性:

      <properties>
        <project.build.outputTimestamp>10</project.build.outputTimestamp>
      </properties>

    该值将在发布期间由 Maven 发布插件更新。如果项目想要禁用 Reproducible Builds,只需使用任何单个非数字字符定义属性值。

apache-release简介_

如上所述,此 pom 配置发布插件以启用发布插件apache-release的所有执行的配置文件。

该配置文件包括以下插件:

  • maven-assembly-plugin: org.apache.apache.resources:apache-source-release-assembly-descriptor:1.0.6被添加为依赖项,并配置了source-release-assemblyid 执行。
    该插件配置为descriptorRefsourceReleaseAssemblyDescriptor属性中获取名称,默认情况下设置为(仅 zip):您可以使用(zip 和 tar)或(仅 tar)值source-release覆盖该属性。如果您想避免此默认程序集执行以提供您自己的机制来生成源发布存档,您可以通过为此执行 id配置参数来禁用执行source-release-zip-tarsource-release-tar
    skipAssemblysource-release-assembly
  • maven-deploy-plugin:配置为激活updateReleaseInfo
  • maven-source-plugin:配置为构建和附加源 jar。
  • maven-javadoc-plugin:配置为构建和附加一个 javadoc jar。
  • maven-gpg-plugin:配置为对所有内容进行签名。它希望找到一个密码短语${gpg.passphrase},大概是在你的settings.xml.
  • checksum-maven-plugin:配置为根据Apache 发布分发策略的要求为源发布创建校验和文件。

当使用 maven-release-plugin 进行发布时,这会创建target/checkout/target准备复制到项目的Apache/dist/发布分发目录的文件:

  • ${artifactId}-${version}-source-release.[zip|tar.gz]:源发布档案
  • ${artifactId}-${version}-source-release.[zip|tar.gz].sha512: 他们的校验和
  • ${artifactId}-${version}-source-release.[zip|tar.gz].asc: 他们的签名

这些文件最终也会出现在临时存储库和 Maven Central 中。

设置配置

您可以查看 Apache 网站Publishing Maven Artifacts中的页面。

-Papache-release您可以使用命令行测试您的环境设置。

历史

版本 发布日期
25差异 2022-02-20
24差异 2021-07-13
23差异 2020-01-25
22差异 2020-01-08
21差异 2018-08-21
20差异 2018-07-07
19差异 2018-01-24
18差异 2016-05-18
17差异 2015-04-24
16差异 2014-11-13
15差异 2014-09-24
14差异 2014-03-06
13差异 2013-01-20
12差异 2012-11-01
11差异 2012-08-08
10差异 2011-08-09
9差异 2011-02-15
8差异 2010-11-26
7差异 2009-12-29