我尝试使用Build.scala构建多项目。 这是我的文件目录:
MyMainPro/
app/
controls/
models/
views/
conf/
<some files>
modules/
anotherProject/
app/
controles/
models/
views/
conf/
<some files>
build.sbt
project/
<project build files>
Build.scala
<other directories>
我想从外部Build.scala文件中调用build.sbt中的变量。那可能吗?怎么做。
例如,我的内部build.sbt有一个项目对象:
lazy val pil = (project in file(".")).enablePlugins(PlayScala).settings(scalaVersion := "2.11.2")
如何从我的外部Build.scala文件调用此项目? 我想做类似的事情:
lazy val root = Project(appName, base = file(".")).enablePlugins(play.PlayScala)
.dependsOn(sil)
我只想根据一些OpenSource项目构建我的项目,并希望更改部分源代码。
我读了http://www.scala-sbt.org/0.13/tutorial/Multi-Project.html 它只包含如何从Build.scala到build.sbt获取变种。 我想做相反的动作。这是从buid.sbt到Build.scala的变种。
答案 0 :(得分:2)
不,您无法使用build.sbt
中的值。但是对于这种情况你不需要;写一下
lazy val root = Project(appName, base = file(".")).enablePlugins(play.PlayScala).
dependsOn(RootProject(file("modules/anotherProject")))
(有关源依赖关系的更多信息,请参阅this answer。)