如果我在Build.scala文件中定义SBT自定义配置,如下所示:
val custom = config("sam")
然后我调用一个内置任务(这是正确的术语吗?),比如
sbt sam:test
自定义配置是否传播到其他继承的任务。例如,sbt sam:test
的意思是吗
sbt sam:compile sam:test
或
sbt compile sam:test
或者两者都没有?
正如SBT Config extend vs DefaultSettings中提到的,您必须将配置显式地包含在要使用的项目中。使用sbt 0.13的多项目语法,它看起来像这样:
val SamConfig = config("sam")
val root = (project in file(".")).
configs(SamConfig).
settings(
// other settings here.
)
然后我调用一个内置任务(这是正确的术语吗?),比如
sbt sam:test
自定义配置是否传播到其他继承的任务。
委托给test:test
的test
是一个内置任务;然而,sam:test
表示作用域为SamConfig
的test
任务,这是未定义的。
root> sam:test
[error] No such setting/task
[error] sam:test
[error] ^
所以那里没有传播。