0

我正在与一个拥有大量项目的组织合作,所有项目都由 maven 管理(带有一些自定义插件)并且都带有 pom.xml。

虽然大多数项目是内部开发的,但有些项目是带有自己的 POM 的外部(例如开源)项目。

我的任务是向这些外部项目 POM 添加一些标签,内部项目报告工具(请参阅此问题)可以使用这些标签来报告这些“外部”项目,提供项目网站的 URL 和简短声明关于项目的“健康”(例如,邮件列表处于活动状态,没有迹象表明项目即将死亡)。

对于项目的 URL,我希望我可以使用组织部分中提供的 URL。

我可以在组织部分添加“projectHealth”和“status”标签吗?例如

  <organization>
    <name>Codehaus Mojo</name>
    <url>http://mojo.codehaus.org</url>

    <status>external</status>
    <projectHealth>
      Mailing list at http://archive.codehaus.org/lists/org.codehaus.mojo.dev is 404.
      Mailing list at http://markmail.org/list/org.codehaus.mojo.dev is active.
      Project seems active.
    </projectHealth>

  </organization>

然后我可以通过“状态”标签检测“外部”项目并在我的报告中发布健康声明。

我的意思是,这不会破坏任何其他插件,对吗?

或者是否有首选的现有协议?

4

1 回答 1

1

pom.xml 标记和结构由 xsd 定义(您可以在每个 pom.xml 顶部看到它xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd:)

这个 xsd 非常严格,不允许您随意在此处和此处添加标签而不会破坏某些内容。

标准项目报告插件使用的允许自定义报告的策略是使用捆绑文件(即不是 pom.xml)(此处为示例)。所以我建议你对你的内部报告工具做同样的事情。

另一种方法是将信息以description您的工具能够解析的格式放入项目标签中。我的意思是这样的

<description>
    STATUS:external
    MAILING LIST: http://archive.codehaus.org/lists/org.codehaus.mojo.dev
    MAILING LIST: http://markmail.org/list/org.codehaus.mojo.dev
    COMMENT: Project seems active
</description>

不幸的是,它会污染现有的描述,并且您不会对该内容进行任何静态验证。

于 2013-03-28T11:04:57.607 回答