SBT: Как определить зависимости подпроектов в файлах build.sbt подпроектов?

Следующий файл build.sbt работает, но он определяет зависимости всех подпроектов:

name := "myproject"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  "org.scalafx" %% "scalafx" % "8.0.60-R9"
)


lazy val aLib = (project in file("lib/a"))
lazy val bLib = (project in file("lib/b"))
  .dependsOn(aLib)
  .dependsOn(cLib)
lazy val cLib = (project in file("lib/c"))
  .dependsOn(aLib)
lazy val myApp = (project in file("myapp"))
  .dependsOn(aLib)
  .dependsOn(bLib)
  .dependsOn(cLib)
  .aggregate(aLib, bLib, cLib)

Поскольку каждый подпроект (каталоги lib / a, lib / b, lib / c, myapp) имеет свой собственный файл build.sbt, я хотел бы использовать эти файлы сборки для определения индивидуальных зависимостей каждого проекта.

Я попытался переместить операторы _2 _ / _ 3_ в файлы сборки подпроектов, но не могу заставить его работать таким образом. Какой способ рекомендуется использовать?


person ideaboxer    schedule 16.05.2016    source источник
comment
Рекомендуемый способ - не иметь файлов build.sbt в подкаталогах.   -  person Dale Wijnand    schedule 19.05.2016
comment
@DaleWijn и не могли бы вы дать ссылку на документацию sbt или что-то еще, подтверждающее ваше утверждение?   -  person Haspemulator    schedule 19.05.2016
comment
Я не уверен, явно ли это в scala-sbt.org/0.13 /docs/Basic-Def.html, но я могу сказать вам, что это рекомендуемый случай, если услышать об ошибках, крайних случаях и неподдерживаемых случаях в нескольких вложенных файлах build.sbt.   -  person Dale Wijnand    schedule 19.05.2016
comment
@DaleWijnand: Рекомендуемый способ - не иметь файлов build.sbt в подкаталогах. Если я удалю один из файлов build.sbt подпроекта, суперпроект больше не будет компилироваться (поскольку версия Scala подпроекта не определена). Следовательно, это не может быть рекомендованным способом ...   -  person ideaboxer    schedule 23.05.2016
comment
Что ж, переход требует большего, чем просто удаление файлов - вам нужно будет перенести содержимое (и, следовательно, определение сборки) этих подпроектов в корневой файл build.sbt.   -  person Dale Wijnand    schedule 23.05.2016