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 模式的说明
-
检出
logging-site
存储库的main
分支 -
更新
xml/ns
文件夹的内容-
遵守现有内容中遵循的约定
-
确保新 XSD 文件中的根元素包含正确的
version
属性
-
-
提交并推送您的更改
-
验证您的更改是否在 logging.staged.apache.org/xml/ns 中可见
在幕后,ASF INFRA 将编译 Jekyll 站点,提交并推送其更改到
asf-staging
分支。稍后,ASF INFRA 将从asf-staging
分支中获取这些更改,并将其放置到关联的 Apache HTTP Server 文件夹中。 -
检出
asf-site
分支 -
从
asf-staging
(即git rebase origin/asf-staging
)重新设置其基线,并将其推送 -
验证您的更改是否在 logging.apache.org/xml/ns 中可见