是否有 gradle 依赖项的选项来仅显示库列表
Posted
技术标签:
【中文标题】是否有 gradle 依赖项的选项来仅显示库列表【英文标题】:Is there an option for gradle dependencies to show just the list of libraries 【发布时间】:2021-03-02 07:14:19 【问题描述】:有简短的表格吗?除了依赖项,我们可以只看到使用的库的平面列表吗?
./gradlew -help
没有显示任何内容。比如:
org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.3.7
com.android.support:recyclerview-v7:28.0.0
...
【问题讨论】:
嗯,这很复杂,有不同的构建变体、常规与测试代码、传递依赖等。./gradlew app:dependencies
将打印app
模块的依赖报告,但我不确定是否这就是你想要的。
即使使用./gradlew app:dependencies
,它也会打印一个依赖树。我正在寻找的是一个去重的平面列表。对我来说,用例是查看两个提交之间是否添加了新的依赖项。不确定是否有其他方法可以做到这一点。
【参考方案1】:
打印您需要比较的类路径 - 在更改之前和之后一次 - 然后您可以进行差异化
task runCP()
doLast
def runList = configurations.runtimeClasspath.asList()
def compileOnlyList = configurations.compileOnly.asList()
println(runList.join("\n"))
println("----")
println(compileOnlyList.join("\n"))
println("====")
【讨论】:
【参考方案2】:如果 ./gradlew app:dependencies 对您不起作用,Gradle Enterprise 确实提供了用于比较 2 个构建的仪表板(例如,如果您有 2 个来自不同提交的构建)。从仪表板中,您可以查看版本是否已更改,或者是否添加了新库。它还显示所有配置类型,例如annotationProcessorClasspath、compileClasspath、RuntimeClasspath 等 但它不是免费的。
【讨论】:
以上是关于是否有 gradle 依赖项的选项来仅显示库列表的主要内容,如果未能解决你的问题,请参考以下文章