XML 模式发布说明

本节介绍如何发布项目的 XML 模式(即 XSD 文件)。

准备工作

在发布 XML 模式时,理解以下几点至关重要

项目和 XML 模式具有不同的生命周期

项目的全新发布并不一定意味着其 XML 模式的全新发布。XML 模式可能保持不变,或者可能包含微小的更改,而项目本身可能包含重大更改等。因此,项目版本和 XML 模式版本大多数情况下是不同的。请检查 XML 模式是否确实存在更改。如果有,请相应地设置其版本。

请考虑以下示例

  • Log4j Tools 0.2.0 包含 Log4j Changelog XSD 的第一个版本,即 log4j-changelog-0.1.0.xsd

  • Log4j Tools 的下一个版本对 Log4j Changelog XSD 做了少量更改。因此,Log4j Tools 0.3.0 发布了 log4j-changelog-0.1.1.xsd。也就是说,项目从 0.2.0 升级到 0.3.0(注意次要版本号的提升),而 XSD 从 0.1.0 升级到 0.1.1(注意补丁版本的提升)。

  • Log4j Tools 0.6.0 对 Log4j Changelog XSD 没有进行任何更改。因此,它不会发布 XSD。

Log4j XSD 在编译时自动生成。使用 @Plugin 等注释的成员将直接影响生成的 XSD。强烈建议您将新的 XSD 与早期版本进行比较(通过 xmldiff?),以验证更改并确定 XSD 版本。

XML 模式通常比发布更早发布

包含 XML 模式的项目大多数情况下需要在它们的源代码、测试等中引用这些文件。因此,需要先发布 XML 模式,以便项目本身可以引用它们。

XML 模式通常直接发布到生产(即非暂存)站点

一旦在源代码中使用 URL 引用了 XML 模式,发布的项目工件将按原样包含这些引用。也就是说,如果源代码引用了 https://logging.staged.apache.org/xml/ns/foo.xml,我们无法在发布的工件中神奇地将它们切换到 https://logging.apache.org/xml/ns/foo.xml。因此,XML 模式通常直接发布到生产站点。

说明

以下共享了发布 XML 模式的说明

  1. 检出 logging-site 存储库的 main 分支

  2. 更新 xml/ns 文件夹的内容

    1. 遵守现有内容中遵循的约定

    2. 确保新 XSD 文件中的根元素包含正确的 version 属性

  3. 提交并推送您的更改

  4. 验证您的更改是否在 logging.staged.apache.org/xml/ns 中可见

    在幕后,ASF INFRA 将编译 Jekyll 站点,提交并推送其更改到 asf-staging 分支。稍后,ASF INFRA 将从 asf-staging 分支中获取这些更改,并将其放置到关联的 Apache HTTP Server 文件夹中。

  5. 检出 asf-site 分支

  6. asf-staging(即 git rebase origin/asf-staging)重新设置其基线,并将其推送

  7. 验证您的更改是否在 logging.apache.org/xml/ns 中可见