0

我正在为 gradle 开发一个插件,它将检查许可证类型的依赖关系。我在插件 API 中没有找到任何如何获取项目的依赖项列表然后检索它的元数据(如许可证类型)的内容。

可以在gradle中使用吗?

4

1 回答 1

3

Configuration对于一般分析依赖关系,请查看Gradle 构建语言参考,特别是Configuration.resolvedConfigurationConfiguration.incoming.

也就是说,Gradle 的依赖模型不会捕获许可证。除非您有一些可以查询此信息的外部服务,否则另一个选项是解析 Maven/Ivy 模块描述符。

Gradle 目前不提供对 Maven/Ivy 模块描述符的直接访问。相反,您将创建一个分离的配置,使用指向描述符的依赖项动态填充它,解析配置,并自己解析描述符(例如,使用 Groovy 的优秀XmlSlurper)。这不是微不足道的,而是可行的。

另一种方法是使用存储库管理器的许可证报告功能,例如ArtifactoryBlack Duck结合使用。

于 2013-08-15T13:08:35.147 回答