【发布时间】:2020-04-02 18:00:01
【问题描述】:
我有一个多项目 sbt 构建并希望创建多个发布命令来发布项目的不同子集。
为了速度,我通常只想发布两个 Scala 版本的项目 a 和 b,但偶尔(例如,当一个版本被剪切时)我想发布所有依赖项,包括项目 @987654325 @ 和 d。
build.sbt:
val scala212 = "2.12.10"
val scala211 = "2.11.8"
val supportedScalaVersions = Seq(scala212, scala211)
...
lazy val global = project
.in(file("."))
.settings(crossScalaVersions := Nil, ...)
.aggregate(a, b)
lazy val a = project(...)
lazy val b = project(...)
lazy val c = project(...)
lazy val d = project(...)
...
请注意,建议在聚合项目中将 crossScalaVersion 设置为 nil in the sbt reference
sbt +publish 将只发布项目a 和b 跨两个缩放版本。如果我需要发布所有依赖项,我会从 sbt 控制台单独发布它们。
sbt> +publish; +c/publish; +d/publish
如何创建一个命令 (+publishAll) 来发布两个 Scala 版本中的所有子项目,同时保持默认的 publish 命令仅发布 a 和 b?
【问题讨论】: