非常接近这篇SO帖子,并在评论中询问,但没有明确。
$ git clone https://github.com/k9mail/k-9.git
$ cd k-9/mail/protocols/smtp
$ ../../../gradlew dependencies | grep "4.7.1 (*)|4.7.1 (c)|4.7.1 (n)" | sort -u
+--- com.jakewharton.timber:timber:4.7.1 (*)
+--- com.jakewharton.timber:timber:4.7.1 (n)
+--- com.jakewharton.timber:timber:{strictly 4.7.1} -> 4.7.1 (c)
(c)
和(n)
后缀是什么意思?
//编辑2023年8月:实际意义已记录在案-输出注释
遗憾的是,Gradle的文档没有涵盖这个主题,所以它有点令人困惑。
发布gradlew dependencies | tail
会显示一个图例,解释打印后缀的含义。
(c) - dependency constraint
(*) - dependencies omitted (listed previously)
(n) - Not resolved (configuration is not meant to be resolved)
- 除非其他依赖项将约束拉入,否则不会拉入约束
- 传递依赖关系只列出一次,然后省略
- 声明只是为了保存/列出依赖项,而不是将其解析为图。对于实现或api之类的配置,情况就是这样