这个问题与我的烦恼有关,sbt-scapegoat但我想在全球范围内了解这件事。
因此,sbt-scapegoat定义了一个设置scapegoatVersion和配置scapegoat。此处提供简短而完整的源代码。
当我设置scapegoatVersion in ThisBuild := "1.3.0"它被忽略:
> scapegoat:scapegoatVersion
[info] frontend/scapegoat:scapegoatVersion
[info] 1.0.0
[info] backend/scapegoat:scapegoatVersion
[info] 1.0.0
[info] {.}/scapegoat:scapegoatVersion
[info] 1.3.0
我理解是这样,因为scapegoatVersion := "1.0.0"从autoImport对象中为每个项目导入,并且这样的设置比scapegoatVersion in ThisBuild覆盖它更精确。
我的问题是:如何在插件中定义这样的默认值以允许使用ThisBuildor进行全局覆盖Global。
@edit:
我发现version设置 iDefaults.scala是使用:==而不是:=. 这是我要找的把戏吗?遗憾的是,它没有记录在案,而且它是私有的sbt。