【发布时间】:2017-11-26 23:19:52
【问题描述】:
如何以编程方式引用作用域键? IE。什么是程序等价物,例如scalafmt::test?
上下文:neo-sbt-scalafmt 定义了一个 TaskKey scalafmt 来格式化你的源,但它也定义了一个名为 test (https://github.com/lucidsoftware/neo-sbt-scalafmt/blob/master/sbt-scalafmt/src/main/scala/com/lucidchart/sbt/scalafmt/ScalafmtCorePlugin.scala#L143) 的范围,它只检查源是否符合预期的格式。
根据 SettingKey,TaskKey scalaFmt 在编译前被调用。我想介绍一个调用 scalafmt::test 的新 SettingKey。以下编译,但始终运行 scalafmt,而不是 scalafmt::test。
if (scalafmtOnCompile.value) scalafmt in resolvedScoped.value.scope
else if (scalafmtTestOnCompile.value) (test in scalafmt) in resolvedScoped.value.scope
我在 sbt gitter 频道上问了这个问题,然后在这里记录下来供下一个人使用。
【问题讨论】: