2014-10-04 56 views
1

我嘗試使用Build.scala構建多項目。 這是我的文件目錄:project/Build.scala如何使用build.sbt中定義的值?

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) 

我只是想建立我的項目依賴於一些開源項目,並想改變自己的源代碼的一部分。

我讀了http://www.scala-sbt.org/0.13/tutorial/Multi-Project.html 它只包含如何從Build.scala到build.sbt獲取品種。 我想做相反的動作。這是從buid.sbt到Build.scala的品種。

回答

2

不,您不能使用build.sbt的值。但對於這種情況你不需要;只需編寫

lazy val root = Project(appName, base = file(".")).enablePlugins(play.PlayScala). 
    dependsOn(RootProject(file("modules/anotherProject"))) 

(有關源依賴關係的更多信息,請參閱this answer)。

相關問題