2013-01-21 96 views
19

我想編寫一個插件「MyPlugin」,該插件取決於另一個插件 (「io.spray」%%「sbt-twirl」%「0.6.0」)。SBT插件如何依賴於另一個插件

只需在庫中添加sbt-twirlDependencies將不起作用, 因爲插件會以不同於標準庫的路徑方案 發佈。

我還不能宣佈SBT-扳手作爲一個插件依賴關係爲myplugin 項目,因爲爲myplugin不直接使用SBT-捻, 它是使用爲myplugin將間接地使用它的項目。

MyPlugin提供了一個任務,意圖在sbt-twirl 生成它的源代碼(在sourceManaged中)和編譯之後運行。

一個簡單但不理想的解決辦法是要求使用 爲myplugin也宣佈SBT-扳手作爲一個插件依賴性的項目,但它不是 幹,因爲這兩個插件將分享一些設置(目錄,版本,等), ,他們將不得不重複和兼容。

回答

27

應該是相同的定義使用插件的插件,但它會在build.sbtproject/Build.scala代替project/plugins.sbt

addSbtPlugin("io.spray" % "sbt-twirl" % "0.6.0") 
+3

我所做的:.settings(addSbtPlugin(「io.spray」 %「sbt-twirl」%「0.6.0」)),它就起作用了。謝謝 –

+2

這對我來說很難找到,但解決方案非常簡單! –

+0

tks :)它的工作 –