在SBT我创建一个新的配置,称为katebush
如下:扩展的配置有什么作用?
lazy val KateBush: Configuration = config("katebush")
当我尝试运行katebush:compile
我得到一个错误。这就是我所期望的。
> katebush:compile
[error] No such setting/task
[error] katebush:compile
[error] ^
现在,我在配置定义扩展Compile
,我希望从继承的范围拿起编译。
lazy val KateBush: Configuration = config("katebush") extend Compile
除非它不工作:
> katebush:compile
[error] No such setting/task
[error] katebush:compile
[error] ^
但是,如果我在默认添加到配置(在build.sbt
),所以它看起来如下:
lazy val KateBush: Configuration = config("katebush") extend Compile
inConfig(KateBush)(Defaults.compileSettings)
它的工作原理细:
> katebush:compile
[info] Updating {file:/Users/jacek/sandbox/so-25596360/}so-25596360...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[success] Total time: 0 s, completed Aug 31, 2014 11:35:47 PM
S o,我的问题是,extend
对于配置究竟做了什么?
意想不到的答复表示感谢。相反,这是所有的延伸失望。 – monkjack 2014-08-31 22:43:19
你还会期待什么?设置是sbt,而配置来自Ivy。也许sbt会做得更多,但它们是不同的概念 - 配置(Ivy /依赖)vs范围(sbt /命名空间)。 – 2014-08-31 22:48:16
我会期望一个配置从父配置继承任务/设置。这是SBT - 我不在乎引擎盖下的常春藤做什么,我也不应该。 – monkjack 2014-08-31 22:52:29