是否有可能使用Gradle生成一个什么依赖什么的树?
我有一个项目,想要找出所有的依赖,所以我可以用前向声明等修剪它一点。
是否有可能使用Gradle生成一个什么依赖什么的树?
我有一个项目,想要找出所有的依赖,所以我可以用前向声明等修剪它一点。
当前回答
你可以使用gradle dependencies命令来呈现依赖树。有关更多信息,请查看在线用户指南中列出项目中的依赖项一节。
其他回答
双击并在gradle视图的帮助下运行依赖项
在Gradle中,事情已经向前发展了,所以我相信这个问题值得另一个答案。 从Gradle 4.3开始,就引入了“构建扫描”。所有相关信息都可以在Gradle文档(1,2)中找到。对我来说,这似乎是现在最简单的方法,以一种清晰、有组织的方式检查你的依赖关系(通常是你的构建)。
它们很容易创建,只需执行即可:
gradle build --scan
(或。/gradlew build -scan如果你使用包装)
This produces a randomly generated link where you can see your scan. When opening that link, you enter your email and gain full control of the link: eg. share it or delete it. It has got a lot of info about your build, not just dependencies. You can see your dependencies, their hierarchies, the repository used to obtain them but also a lot of other stuff about your build, namely, its performance (which is of interest in big complex builds), your tests, even your console output and your system configuration, which JDK and JVM was used, max heap size etc.
这是一个模拟项目的截屏:
构建扫描是一个可共享的构建记录,它提供了对发生了什么以及为什么发生的洞察。您可以在scans.gradle.com上免费创建构建扫描。
但是请注意,构建过程的信息将被发送到Gradle服务器。当您完成检查后,您可以完全控制删除它。
最后,你也可以在4.3之前的Gradle版本中使用构建扫描,你只需要手动在你的构建脚本中添加扫描插件。
编辑: 结合一些来自评论的反馈,一些额外的注释: 1)很难因为错误或者不了解你的构建的一些信息会在线(对你来说是私有的,可以删除,但仍然在线)而这样做。
当执行gradle build -scan时,会出现以下消息:
Publishing a build scan to scans.gradle.com requires accepting the Gradle
Terms of Service defined at https://gradle.com/terms-of-service. Do you
accept these terms? [yes, no]
你必须显式地写yes,然后消息继续:
Publishing build scan...
https://gradle.com/s/a12en0dasdu
2)在Gradle企业版中,你可以在自己的服务器上运行Gradle构建扫描。然而,我在这方面没有经验,我建议的方法是关于标准的Gradle发行版,使用Gradle的服务器进行构建扫描。
3) Gradle本身将构建扫描作为处理大多数构建问题的方法。
没有模块:
gradle dependencies
为Android:
gradle app:dependencies
使用gradle包装:
./gradlew app:dependencies
注意:将app替换为项目模块名。
此外,如果你想检查某个东西是否依赖于compile vs. testCompile vs. androidTestCompile,以及是什么把它拉进来的:
./gradlew :app:dependencyInsight --configuration compile --dependency <name>
./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>
对于Android,在终端中输入这个
gradlew app:dependencies
它将列出所有的依赖项和更新版本的依赖项,供您升级
com.android.support:customtabs:26.1.0 -> 27.1.1 (*)
你可以使用gradle dependencies命令来呈现依赖树。有关更多信息,请查看在线用户指南中列出项目中的依赖项一节。