答案 0 :(得分:21)
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := "2.12.7-bin-abcd123"
对于abcd123
,,手动替换最新绿色版本on the 2.12.x branch on Travis-CI的SHA的前7个字符。
Scala团队不再发布Scala的-SNAPSHOT
版本。 (再次开始可能是社区贡献;请参阅this ticket。)
但该团队确实发布了夜间版本,每个版本都有自己的固定版本号。每晚的版本号看起来像例如2.12.7-bin-abcd123
。 (-bin-
表示与sbt的二进制兼容性;自2.12.0以来的所有2.12.x版本都是二进制兼容的。)
由于我们最近(2018年3月)将詹金斯的夜魇发布到Travis-CI上,因此以前在这里的旧詹金斯答案已经不再适用了。
告诉sbt使用其中一个夜莺,你需要做三件事。
首先,添加保存夜莺的解析器:
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
其次,指定Scala版本:
scalaVersion := "2.12.7-bin-abcd123"
但这不是真正的版本号。手动替换包含发布每晚构建的scala/scala repository中最后一次提交的7个字符SHA的版本号。查看https://travis-ci.org/scala/scala/branches,您将看到2.12.x部分右上角的SHA。例如:
一旦发布2.12.7,每晚的版本号将达到2.12.8,依此类推。
如果您有多项目构建,请确保在修改构建定义时在所有项目中设置这些设置。或者,您可以使用++2.12.7-bin-abcd123
(sbt 0.13.x)或++2.12.7-bin-abcd123!
(sbt 1.x)在sbt shell中临时设置它们;添加的感叹号是强制未包含在{{{{ 1}}待用)。
理想情况下,我们建议以自动方式向Travis-CI询问正确的SHA。这可能是通过Travis-CI的API实现的,但(据我所知)还没有人研究过它。 (有志愿者吗?)
如上所述,但请查看2.13.x branch
对于SHA,版本号以crossScalaVersions
开头(注意2.13.0-pre-
而不是-pre-
,
因为对于2.13而言,二进制兼容性尚未被冻结。
例如,-bin-
。
虽然仍然可以进一步发布2.11.x版本,但没有计划,所以我们(Lightbend的Scala团队)不再发布2.11晚了。