列出所有子项目的 gradle 个依赖项

list gradle dependencies for all subprojects

我可以使用 ./gradlew -q dependencies.

查询 Gradle 项目的依赖关系树

我还可以 运行 使用 ./gradlew service:dependencies 查询 service 子项目。

如何在不修改gradle.properties文件的情况下从命令行自动列出所有子项目的依赖项?

提前致谢。

我相信 Gradle 中没有内置方法来实现这一点(无需调整构建配置)——除非您手动列出所有子项目的 dependencies 任务,如:

./gradlew sub1:dependencies sub2:dependencies sub1:subsub:dependencies

但是,如果您经常需要此功能,则可以为它创建一个 shell 别名。 bash 中的示例(例如,将其放入您的 ~/.bashrc 文件中):

alias gradle-all-deps='./gradlew dependencies $(./gradlew -q projects \
    | grep -Fe ---\ Project \
    | sed -Ee "s/^.+--- Project '"'([^']+)'/:dependencies/"'")'

然后只需从根项目目录调用 gradle-all-deps

在根项目的 build.gradle 文件中添加以下任务

subprojects {
    task allDeps(type: DependencyReportTask) {}
}

并从根项目执行以下命令

./gradlew allDeps 

这将列出所有子项目的依赖项。

此外,如果您想根据类型(compileClasspath、testRuntime ...)缩小依赖关系图,请参考this