在SBT中的git下为RootProject定义scalaVersion设置

时间:2014-02-06 08:50:21

标签: scala sbt

在我的项目中,我想使用GitHub中的一些代码。依赖关系在Build.scala中定义如下:

object BuildSettings {
  val buildVersion      = "1.0-SNAPSHOT"
  val buildScalaVersion = "2.9.1"
  val buildName = "PageAnalyzer"

  val buildSettings = Defaults.defaultSettings ++ Seq (
    organization := buildOrganization,
    version      := buildVersion,
    scalaVersion := buildScalaVersion,
    name         := buildName
  )
}

object PageAnalyzerBuild extends Build {
  lazy val root = Project (
     "root",
     file ("."),
     settings = BuildSettings.buildSettings
  ) dependsOn (depProject)

  val depProject = RootProject(uri("git://github.com/me/some.git"))
}

出于某些原因,我必须使用Scala 2.9.x 构建根项目。在SBT 0.13 中,depProject将使用 2.10.x 构建,并且无法构建依赖项。 root项目尝试查找一些some_2.9.1,但只构建了some_2.10

scalaVersion更改为2.10.x可以正常工作。但我必须使用2.9.x构建根项目。有没有办法为git中克隆的scalaVersion定义depProject

1 个答案:

答案 0 :(得分:4)

scalaVersion in [project-id] := "2.9.0"您应该没问题,其中project-id是来自depProject的项目标识符,或者仅使用depProject作为in。运行projects以了解可用项目的名称,并为in选择合适的项目。

它似乎与Setting javac options for SBT dependencies类似。