如何更改设置应用于sbt子项目的顺序?

时间:2017-12-05 20:21:51

标签: scala sbt

给出一个简单的项目结构:

+ lib1/
|   + build.sbt
+ build.sbt

,其中

./lib1/build.sbt是:

name := "Library 1"

./build.sbt是:

lazy val lib1 = 
  project.in(file("lib1")).settings(name := "Blah blah", version := "1.2.3")

./lib1/build.sbt中的设置会覆盖build.sbt中指定的同一项目的设置,因为lib1/name解析为“图书馆1”而不是“Blah blah”而lib1/version 1}}从sbt控制台解析为“1.2.3”。

我有什么方法可以反过来这样做,以便我可以覆盖./lib1/build.sbt./build.sbt中指定的某些设置吗?

修改

同样,如果./lib1/build.sbt只是上面设置的简单列表,我可以在主build.sbt中执行此操作:

lazy val lib1 = project.in(file("lib1"))
lazy val lib2 = project.in(file("lib2")).dependsOn(lib1)

我可以通过在控制台中检查show lib2/internalDependencyClasspath来查看它的工作原理,但如果./lib1/build.sbt

lazy val lib1 = project.in(file(".")).settings(name := "Library 1")

我无法再在主dependsOn

中使用build.sbt

相关

SBT: Override setting in multi-build dependsOn/aggregate project

0 个答案:

没有答案