我有一个项目设置为 SBT 多重构建。看起来像这样:
- project
Dependencies.scala
- core
build.sbt
- server
build.sbt
build.sbt
Run Code Online (Sandbox Code Playgroud)
我想用作Dependencies.scala子项目之间共享的库版本号的容器。
sealed trait Dependencies {
val commonsIo = "2.4"
}
object DependencyVersions extends Dependencies
Run Code Online (Sandbox Code Playgroud)
在根 build.sbt 中,我添加了一个Setting分配给每个子项目的文件。
lazy val dependencies = settingKey[Dependencies]("versions")
val defaultSettings = Defaults.coreDefaultSettings ++ Seq(
dependencies := DependencyVersions)
def projectFolder(name: String, theSettings: Seq[Def.Setting[_]] = Nil) = Project(name, file(name), settings = theSettings)
lazy val core = projectFolder("core", defaultSettings)
Run Code Online (Sandbox Code Playgroud)
我无法访问dependencies中的设置core/build.sbt。
"commons-io" % "commons-io" % dependencies.value.commonsIo, <-- doesn't work
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
| 归档时间: |
|
| 查看次数: |
676 次 |
| 最近记录: |