我正在尝试发布为 Scala v2.11 和 v2.12 交叉构建的https://github.com/guardian/marley版本。所有代码依赖项都得到满足,并且都+test
按+publishLocalSigned
预期工作,后者肯定会为 Scala v2.11 和 v2.12 生成工件。不幸sbt release
的是,使用sbt-sonatype
插件执行只会上传Scala v2.12 的工件 - 它不会尝试将 Scala v2.11 的工件上传到 sonatype 临时存储库。
以下是build.sbt
文件中的相关 sbt 设置(GitHub 上的 repo 中的完整版本):
scalaVersion in ThisBuild := "2.12.4"
crossScalaVersions in ThisBuild := Seq(scalaVersion.value, "2.11.12")
import ReleaseTransformations._
releaseCrossBuild := true // true if you cross-build the project for multiple Scala versions
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
inquireVersions,
runClean,
runTest,
setReleaseVersion,
commitReleaseVersion,
tagRelease,
releaseStepCommand("publishSigned"),
setNextVersion,
commitNextVersion,
releaseStepCommand("sonatypeReleaseAll"),
pushChanges
)
sbt release
这是命令输出的完整副本: https ://gist.github.com/rtyley/5f9f832fabe2bdcfc2d561a36c29f993 - 即使[info] Setting scala version to 2.11.12
发生(两次),您也可以看到 - 仅上传了 Scala 2.12 工件。