当我运行dependencies
任务时,我看到一个依赖关系图,其中一些条目前面是+---
,而一些条目后面是---
。这两个符号分别是什么意思?
例如,当我为Android应用程序运行gradle :app:dependencies --configuration debugCompileClasspath
时,我看到一个条目如下:
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
| | +--- org.jetbrains:annotations:13.0
| | --- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
| --- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
| --- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
+---
标志着对其旁边条目的内部依赖项列表进行扩展的开始。在您的案例中,它启动了org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
的依赖项列表。正如您所看到的,下一行有点缩进,这是父org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
的第一个依赖项。
---
标志着在该深度上打开的列表的扩展结束。在您的案例中,--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
是org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
列表中的最后一个依赖项。而这种依赖关系只有一个内部依赖关系,即org.jetbrains.kotlin:kotlin-stdlib:1.6.10
。
有很多依赖关系,但我缺少一个更好的词。我希望我不会让你更困惑:D
这是基于字符的艺术作品,表示嵌套级别的提高;符号本身除了视觉外观之外没有任何意义。嵌套项是它所嵌套的项的可传递依赖项。
示例
举个例子:
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
| | +--- org.jetbrains:annotations:13.0
| | --- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
| --- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
| --- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
在本例中,kotlin-stdlib
和kotlin-stdlib-jdk7
都是kotlin-stdlib-jdk8
的传递依赖关系。同样地,annotations
&CCD_ 16是CCD_。CCD_ 18是CCD_。
在标准的HTML列表形式中,这种呈现将与以下内容相同:
- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
- org.jetbrains.kotlin:kotlin stdlib:1.6.10
- org.jetbrains:注释:13.0
- org.jetbrains.kotlin:kotlin-stdlib公共代码:1.6.10
- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
- org.jetbrains.kotlin:kotlin stdlib:1.6.10
- org.jetbrains.kotlin:kotlin stdlib:1.6.10
以下是列表的不同文本呈现,使用基于绘图的字符而不是纯ASCII字符,这可能会使事情变得更清楚:
┌─── org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10
│ │
│ ├─── org.jetbrains.kotlin:kotlin-stdlib:1.6.10
│ │ │
│ │ ├─── org.jetbrains:annotations:13.0
│ │ │
│ │ └─── org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
│ │
│ └─── org.jetbrains.kotlin:kotlin.stdlib-jdk7:1.6.10
│ │
│ └─── org.jetbrains.kotlin:kotlin-stdlib:1.6.10
在本例中,Gradle使用+---
,而不是├───
来指示下面还有其他项的嵌套项;它使用---
而不是└───
来指示最后一个嵌套项。