问题描述
我可以使用 ./gradlew -q dependencies
查询 Gradle 项目的依赖关系树。
我还可以使用 service
运行 ./gradlew service:dependencies
子项目的查询。
如何在不修改 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 '"'([^']+)'/\1:dependencies/"'")'
然后只需从项目根目录调用 gradle-all-deps
。