我有幾個SBT 0.13/Play 2.2項目(網站)。它們都是多模塊的,因爲它們共享一些共同的功能。這使得他們的項目配置文件既複雜又幾乎相同,但不完全相同。如何在SBT(Play)多項目中使用共享配置?
我希望能夠在項目中儘可能多地分享這些配置文件(頻繁的播放更新可以讓5個以上的網站保持最新的皇家痛苦,更不用說所有幾乎完全相同但卻完全相同的內容)不斷髮展的項目依賴列表)。
build.properties和plugins.sbt在各個項目中是相同的,並且可以被簡單的腳本覆蓋。大。
Build.scala是麻煩 - 我想向大家介紹一個共享的基類,像這樣:
abstract class MyBuildBase extends Build { ... }
,在Build.scala做:
object ApplicationBuild extends MyBuildBuild { ... }
爲了這個作任何完全可以理解,MyBuildBase.scala需要跨項目共享。這可以通過svn:external來完成,它在目錄上運行。這意味着我需要以某種方式在編譯Build.scala時訪問此共享目錄(否則大聲抱怨)。
閱讀http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Classpaths.html和http://www.scala-sbt.org/0.13.0/docs/Getting-Started/Full-Def.html這似乎應該是可能的。
但是,我真的不知道要在項目/項目/ Build.scala文件中真正實現這個目標 - 我無法找到一個的示例「sbt構建文件,旨在構建sbt構建文件並在構建中包含一些額外的源文件「。
有什麼建議嗎?
優秀的建議。結果SVN可以處理外部文件,而不僅僅是自v1.6以來的目錄,所以我用這種方式解決了它,因爲它在我的特殊情況下更容易。但是,您的回答涵蓋了我實際詢問的問題,因此將其標記爲如此。 – Jxtps