在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