我有几个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