如何编译显示Ant使用的所有许可证的报告?

gue*_*rda 5 ant licensing

我目前在不同的项目中使用Ant和Maven.为了符合某些规定,我负责列出每个项目中使用的所有许可证.

使用Maven,很容易,因为Maven项目信息报告插件会自动生成这样的报告.

因为我不喜欢为我在项目中使用的所有JAR搜索许可证,所以我想知道是否有一个Ant插件,执行此任务.

提前致谢!

gue*_*rda 2

由于这个问题没有任何提示、指针甚至答案,我自己破解了一个解决方案:github上的license-report

license-report是一个 Ant 任务,它确定大多数 jar 文件的许可证。目前,它在以下文件中搜索信息:

  • META-INF/MANIFEST.MF
  • META-INF/LICENSE
  • LICENSE.txt
  • LICENSE
  • license/LICENSE.txt
  • license/LICENSE

这些文件可以在几个常见的开源/自由软件库中找到。有些库不提供任何有关其许可证的信息(例如 Spring 框架)。
对于这些库,任务没有找到任何信息。

我将尽快更新该项目,它会打印出有关找到的许可证的漂亮 xml 和 html 报告。文档和操作方法也将随之而来。

我目前正在使用此 Ant 任务开发一个演示项目

演示项目现在创建一个包含所有库信息的 XML 文件。ant build.xml只需通过的根文件夹启动它(安装了 Ant)即可license-report-demo。它打印出生成的 XML 文件的位置。我还将包含一个 XSLT,用于将 XML 转换为漂亮的 HTML 报告。我想这将在几天后到来。

我创建一个 XML 文件以进行进一步处理(例如 Hudson/Jenkins 等 CI 系统)。这将有助于在中央系统中生成跨项目的所有许可证的列表。