我试图回忆是否是test:compile
, test::compile
or test/compile
当我在 SBT 上做一些事情时,我突然意识到,虽然我对使用哪个分隔符做什么有一些直觉,但我对每个分隔符的用途并不清楚。
因此,当在 sbt 控制台上输入任务时,我何时/为何使用:
, ::
and /
?
不同的分隔符 https://www.scala-sbt.org/1.x/docs/Inspecting-Settings.html#Task-specific+Settings被用于不同的范围轴 https://www.scala-sbt.org/1.x/docs/Scopes.html#Scope+axes:
- 单冒号
:
遵循配置轴
- 双冒号
::
遵循任务轴
- slash
/
遵循子项目轴
然而,这些已被统一斜杠语法: sbt shell 表示法和 build.sbt DSL 的统一 https://contributors.scala-lang.org/t/unification-of-sbt-shell-notation-and-build-sbt-dsl/913讨论导致统一 sbt shell 和 build.sbt 语法(范围路径语法)#3434 https://github.com/sbt/sbt/pull/3434发布于1.1.0 https://github.com/sbt/sbt/releases/tag/v1.1.0斜杠语法
<project-id>/<config-ident>/intask/key
对应于
<project-id>/config:intask::key
因此,例如,
show root/Compile/compile/scalacOptions
对应于
show root/compile:compile::scalacOptions
相关问题:sbt 中的一个冒号是什么意思 https://stackoverflow.com/a/48324113/5205022
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)