这似乎不起作用。我想要的主要原因是在多个多项目中共享“publishTo”或“凭证”等常用设置。
拥有像这样的项目结构
root
|--L1
|--L2
我想在L1中定义设置并在L2中使用它们以及在root中定义设置并在L1和L2中使用它们。
答案 0 :(得分:0)
通常,您可以在任何子项目的构建级别共享设置,方法是在项目根目录的in ThisBuild
文件中指定build.sbt
,如http://www.scala-sbt.org/release/docs/Getting-Started/Multi-Project.html#sharing-settings中所述
但这只能在所有项目中分享价值。
在您的情况下,如果您已在Build.scala
import sbt._
import Keys._
object MyBuild extends Build {
lazy val root = Project(id = "root",
base = file("."))
lazy val L1 = Project(id = "L1",
base = file("L1"))
lazy val L2 = Project(id = "L2",
base = file("L1/L2"))
}
如果您想重用publishTo
中L1
中定义的密钥(例如L2
),则会在L2
{{1}中写下以下一行}}
build.sbt
您可以使用sbt中的publishTo <<= publishTo in L1
命令检出键值及其设置方式。
inspect