我正在为gradle开发一个插件,它将检查依赖项的许可证类型。我没有在插件API中找到任何内容如何获取项目的依赖项列表,然后检索它的元数据(如许可证类型)。
有可能在gradle中吗?
答案 0 :(得分:2)
要分析一般的依赖关系,请查看Gradle Build Language Reference中的Configuration
,特别是Configuration.resolvedConfiguration
和Configuration.incoming
。
也就是说,Gradle的依赖模型不会捕获许可证。除非您有一些可以查询此信息的外部服务,否则另一个选项是解析Maven / Ivy模块描述符。
Gradle目前不能直接访问Maven / Ivy模块描述符。相反,您将创建一个分离的配置,使用指向描述符的依赖项动态填充它,解析配置,并自己解析描述符(例如,使用Groovy的优秀XmlSlurper
)。这不是微不足道的,但可行。
另一种方法是使用存储库管理器的许可证报告功能,例如Artifactory和Black Duck。