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

时间:2013-02-22 12:58:02

标签: ant licensing

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

使用Maven,很容易,因为Maven Project Info Reports Plugin会自动生成这样的报告。

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

提前致谢!

1 个答案:

答案 0 :(得分:2)

由于这个问题没有得到任何提示,指示甚至答案,我自己攻击了一个解决方案:license-report at github

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

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

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

我会尽快更新项目,它会打印出一份关于找到的许可证的精彩xml和html报告。文档和操作方法也将遵循。

我目前正在使用此Ant任务处理demo project

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

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