2

我想扩展 Maven POM 以包含有关依赖项的元信息。我这样做是为了让律师高兴,并阻止开发人员必须每季度审核一次 POM,以查看我们添加的法律尚未“批准”的 OSS:P

所以我想添加这样的东西:

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <license>Common Public License - v 1.0<license>
        <approved>true</approved>
    </dependency>

然后我可以编写一个 maven 插件或只是一个 groovy 脚本来审核我的条目并告诉我缺少什么。

我找不到任何好的方法来做到这一点?甚至可能吗?如果没有,是否有人对处理此问题的方法提出建议?

4

2 回答 2

3

Sonatype 的 Insight 产品是我见过的这个问题的最佳解决方案。

将它与Nexus Professional提供的采购功能相结合,它可以在您的公司应用程序中实现对 OSS 的监管和审计。

于 2012-05-18T21:01:09.713 回答
2

许可证信息已经在依赖项的 pom 中,因此添加它没有意义。如果您需要更多类似的信息,您应该查看 Sonatype Insight 及其在 Sonatype Nexus 中的集成以及适用于 Hudson 或 Jenkins 的 Insight for CI 插件。它将向您显示声明的许可证以及在代码中找到的许可证以及更多其他数据。

实际上,您可能想查看下周关于 Insight for CI 的网络研讨会以及现在可用的网络研讨会记录。

我一般但是你不能用额外的标签来扩展 pom,因为它会阻止 maven 能够解析它。你能做的最好的就是将它们添加为 xml 注释。

于 2012-05-18T18:59:15.153 回答