通过解析maven项目中的build.gradle,列出gradle项目中使用的远程存储库

通过解析maven项目中的build.gradle,列出gradle项目中使用的远程存储库,maven,gradle,repository,Maven,Gradle,Repository,通过解析maven项目中的build.gradle,我如何列出gradle项目中使用的远程存储库。在maven项目中使用aether,我能够获得依赖项,寻找类似于aether的东西,可用于gradle项目以获取依赖项,项目中使用的远程存储库。build.gradle不是真正解析的,而是解释的,因为每个gradle脚本都是Groovy脚本。当然,您可以尝试解析存储库或依赖项闭包,但您永远无法确定脚本的其他部分甚至其他脚本(如初始化脚本)是否会在背后添加存储库或依赖项 我建议编写收集存储库或依赖项的

通过解析maven项目中的build.gradle,我如何列出gradle项目中使用的远程存储库。在maven项目中使用aether,我能够获得依赖项,寻找类似于aether的东西,可用于gradle项目以获取依赖项,项目中使用的远程存储库。

build.gradle
不是真正解析的,而是解释的,因为每个gradle脚本都是Groovy脚本。当然,您可以尝试解析
存储库
依赖项
闭包,但您永远无法确定脚本的其他部分甚至其他脚本(如初始化脚本)是否会在背后添加存储库或依赖项

我建议编写收集存储库或依赖项的任务,并以可解析的格式/符号(如CSV、JSON或XML)编写它们。如果需要重用该功能,甚至可以将这些任务包装到插件中

要迭代存储库,我可以参考


对于依赖项,您有两种可能:要么自己编写任务,比如为存储库编写任务,要么使用现有类型及其
outputFile
属性。然后,您必须找到一种分析报告格式的方法。

谢谢您提供的信息。我的情况是,我只有build.gradle(不在gradle项目上下文中)文件,我需要收集gradle试图从中解析依赖关系的远程存储库。