我目前在不同的项目中使用 Ant 和 Maven。为了遵守某些规定,我负责列出每个项目中使用的所有许可证。
使用 Maven,这很容易,因为Maven 项目信息报告插件会自动生成这样的报告。
由于我不喜欢为我在项目中使用的所有 JAR 搜索许可证,我想知道是否有 Ant 插件来执行此任务。
提前致谢!
我目前在不同的项目中使用 Ant 和 Maven。为了遵守某些规定,我负责列出每个项目中使用的所有许可证。
使用 Maven,这很容易,因为Maven 项目信息报告插件会自动生成这样的报告。
由于我不喜欢为我在项目中使用的所有 JAR 搜索许可证,我想知道是否有 Ant 插件来执行此任务。
提前致谢!
由于这个问题没有任何提示、指针甚至答案,我自己破解了一个解决方案: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
通过license-report-demo
. 它打印出生成的 XML 文件的位置。我还将包含一个 XSLT 来将 XML 转换为一个漂亮的 HTML 报告。我想这会在几天后出现。
我为进一步处理创建了一个 XML 文件(例如,像 Hudson/Jenkins 这样的 CI 系统)。这将有助于在中央系统中生成跨项目的所有许可证列表。