生成一个报告,试图回答以下问题:
- 为什么这个依赖项会出现在依赖关系图中?
- 具体是哪些依赖项将此依赖项引入了图中?
- 实际使用的依赖项版本(即*选定*版本)是什么?它与*请求*的版本相同吗?
- 为什么依赖项的*选定*版本与*请求*的版本不同?
- 此依赖项有哪些可用的变体?
使用此任务可以深入了解特定的依赖项(如果找到多个匹配项,则为依赖项们),并找出在依赖项解析和冲突解决过程中到底发生了什么。如果依赖项版本被强制或由冲突解决选定,这些信息将在报告中提供。
常规的依赖项报告(DependencyReportTask
)显示了从顶级依赖项向下经过传递依赖项的路径,而依赖项洞察报告则显示了从特定依赖项到将其拉入的依赖项的路径。也就是说,它是常规依赖项报告的反向视图。
该任务需要设置依赖项规范(dependency spec)和配置(configuration)。有关如何配置这些内容的更多信息,请参考 DependencyInsightReportTask.setDependencySpec(java.lang.Object)
和 DependencyInsightReportTask.setConfiguration(java.lang.String)
的文档。
该任务也可以通过命令行进行配置。有关更多信息,请参考 DependencyInsightReportTask.setDependencySpec(java.lang.Object)
、DependencyInsightReportTask.setConfiguration(java.lang.String)
、DependencyInsightReportTask.setShowSinglePathToDependency(boolean)
和 DependencyInsightReportTask.getShowingAllVariants()
。
属性 | 描述 |
configuration | 查找依赖项的配置 |
dependencySpec | 已弃用 选择要显示报告的依赖项(如果找到多个匹配项,则为依赖项们)。 |
showSinglePathToDependency | 指示报告是否应仅显示到每个依赖项的一条路径。 |
showingAllVariants | 孵化中 显示每个显示的依赖项的所有变体。 |
Spec
<DependencyResult
>
dependencySpec
Spec
<DependencyResult
>注意:此属性已弃用,并将在下一个主要版本的 Gradle 中移除。
选择要显示报告的依赖项(如果找到多个匹配项,则为依赖项们)。
- 使用
java
插件时的默认值 - -
注意:此属性处于孵化中,并可能在未来版本的 Gradle 中发生变化。
显示每个显示的依赖项的所有变体。
由于内部限制,此选项仅在 DependencyInsightReportTask.getConfiguration()
在此任务执行前未解析时才有效。
此方法已暴露给命令行界面。示例用法:
gradle dependencyInsight --all-variants
- 使用
java
插件时的默认值 - false