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



我目前在不同的项目中使用Ant和Maven。为了遵守一些规定,我负责列出每个项目中使用的所有许可证。

有了Maven,这很容易,因为Maven项目信息报告插件会自动生成这样的报告。

由于我不喜欢为我在项目中使用的所有JAR搜索许可证,我想知道是否有一个Ant插件来执行这项任务。

提前感谢!

由于这个问题没有任何提示、指针甚至答案,我自己破解了一个解决方案:github 的许可证报告

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

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

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

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

我目前正在使用这个Ant任务进行一个演示项目。

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

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

最新更新