Смешивание build.sbt с project/Build.scala и агрегатами

Раньше у меня было что-то подобное (упрощенное ), с использованием sbt 0.11.3:

// project/Build.scala
import sbt._
import Keys._

object MyBuild extends Build {
   lazy val standardSettings = Defaults.defaultSettings ++ Seq(
      version      := "0.2",
      scalaVersion := "2.9.2"
   )

   lazy val main = Project(
      id        = "main",
      base      = file( "." ),
      settings  = standardSettings,
      aggregate = Seq( sub )
   )

   lazy val sub = Project(
      id        = "main-sub",
      base      = file( "sub" ),
      settings  = standardSettings
   )
}

Но я хочу сохранить как можно больше информации в простом файле build.sbt. Теперь у меня

// build.sbt
version      := "0.2"

scalaVersion := "2.9.2"

И

// project/Build.scala
import sbt._
import Keys._

object MyBuild extends Build {
   lazy val main = Project(
      id        = "main",
      base      = file( "." ),
      aggregate = Seq( sub )
   )

   lazy val sub = Project(
      id        = "main-sub",
      base      = file( "sub" )
   )
}

Но, похоже, это не смешивается в моих настройках из build.sbtс подпроектами :

> show version
[info] main-sub/*:version
[info]  0.1-SNAPSHOT
[info] main/*:version
[info]  0.2
> show scala-version
[info] main-sub/*:scala-version
[info]  2.9.1
[info] main/*:scala-version
[info]  2.9.2

. Как это исправить? Я также попытался добавить явный settingsв проект sub -, например.

  • settings = Defaults.defaultSettings
  • settings = Project.defaultSettings
  • settings = MyBuild.settings
  • settings = main.settings(уверен, что это нужно делать?!)

... но ни один не работал.

8
задан 0__ 27 July 2012 в 19:19
поделиться