让build.sbt定义对另一个本地库的依赖

时间:2014-11-23 08:19:54

标签: scala dependencies sbt

在同一目录中排列了两个模块,我想让一个模块依赖另一个模块。我知道如何在项目目录中的Scala文件中执行此操作,但是,我希望build.sbt与自身执行相同的工作。这是一个无法运行的代码,希望能告诉你我的意思:

name := "foo"

libraryDependencies += ProjectRef(file("../bar"), "bar")

错误说:

  

没有隐含的Append.Value [Seq [sbt.ModuleID],sbt.ProjectRef],因此sbt.ProjectRef无法附加到Seq [sbt.ModuleID]。

1 个答案:

答案 0 :(得分:2)

我倾向于选择project/Build.scala中的构建定义,而不是build.sbt。但是对象Build中的以下代码也应该用于标准build.sbt

//Build.scala
import sbt._

object Build extends Build {
  lazy val projectA = project.in(file("a"))
  lazy val projectB = project.in(file("b")).dependsOn(projectA)
}

或:

//your root build.scala
name := "test"

version := "1.0"

scalaVersion := "2.11.4"

val projectA = project.in(file("a"))
val projectB = project.in(file("b")).dependsOn(projectA)