2016-11-29 16 views
2

我的主項目需要生成一個具有自己的build.sbt的子項目,然後編譯和使用子項目。如果子項目是預先生成的,我可以使用RootProject從主build.sbt中引用它。但是,如果尚未生成子項目,則使用值爲lazy val sub = RootProject(subBaseDir)的任何嘗試都將失敗。可以動態使用生成的子項目的build.sbt

是否可以加載在sbt啓動時不存在的子項目,因此主項目的一些任務取決於子項目?

+0

請注意這個問題是不同的http://stackoverflow.com/questions/30942220/sbt-dynamic-aggregation-of-subproject其中所有子項目確實存在在sbt開始的時刻,只需要被發現。 –

回答

0

是的,應該可以在SBT 0.13.13中使用其稱爲「合成子項目」的新功能。對於這樣的合成項目,您不會有build.sbt文件,因爲它們完全是合成的。但除此之外,它們完全是功能性項目,您應該能夠設置當前項目及其派生項目的任務之間的依賴關係。

聲明:我還沒有嘗試過這個新功能。

+0

是否可以在構建步驟中稍後使用生成的build.sbt替換合成子項目? –

相關問題