如何通过从maven项目中解析build.gradle来列出gradle项目中使用的远程存储库。使用aether进行maven项目我能够让依赖项查找类似于以太网的东西,可以在gradle项目上使用获取依赖项,项目中使用的远程存储库。
答案 0 :(得分:0)
build.gradle
并未真正解析,而是解释,因为每个Gradle脚本都是一个Groovy脚本。当然,您可以尝试解析repositories
或dependencies
闭包,但您永远无法确定,脚本的其他部分甚至其他脚本(如初始化脚本)都会在您的背后添加存储库或依赖项。
我建议编写收集存储库或依赖项的任务,并以可解析的格式/符号(如CSV,JSON或XML)编写它们。如果您需要重用该功能,您甚至可以将这些任务包装在插件中。
要迭代存储库,我可以参考this similar question。
对于依赖项,您有两种可能性:您可以自己编写任务,例如存储库,也可以使用现有类型DependencyReportTask
及其outputFile
属性。然后你必须找到一种解析报告格式的方法。