【问题标题】:How can project/Build.scala use value defined in build.sbt?project/Build.scala 如何使用 build.sbt 中定义的值?
【发布时间】:2014-11-29 06:06:46
【问题描述】:

我尝试使用 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)

我只是想构建我的项目依赖于一些开源项目,并想更改它们的部分源代码。

我读了http://www.scala-sbt.org/0.13/tutorial/Multi-Project.html 它仅包含如何从 Build.scala 获取变体到 build.sbt。 我想做相反的动作。也就是从 buid.sbt 到 Build.scala 获取品种。

【问题讨论】:

    标签: scala dependencies sbt


    【解决方案1】:

    不,您不能使用来自build.sbt 的值。但是对于这种情况,您不需要;随便写

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

    (有关源依赖关系的更多信息,请参阅this answer)。

    【讨论】:

      猜你喜欢
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多