首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何告诉sbt使用Scala 2.12或2.13的夜间构建?

如何告诉sbt使用Scala 2.12或2.13的夜间构建?
EN

Stack Overflow用户
提问于 2016-11-16 10:03:03
回答 1查看 2.7K关注 0票数 16

我想用最新的尖端Scala工具来测试我的代码。

answer for Scala 2.10不再工作了。

我做什么好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 10:03:03

Scala 2.12或2.13

快速版本

代码语言:javascript
复制
Global / resolvers += "scala-integration" at
  "https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := "2.13.1-bin-abcd123"

对于2.12夜间版本,用2.12.9代替2.13.1;无论哪种情况,它都是该分支上下一个版本的版本号

对于abcd123,请手动替换最新绿色构建on the 2.13.x or 2.12.x branch on Travis-CI的SHA的前7个字符。

更长的解释

Scala团队不再发布Scala的-SNAPSHOT版本。(重新开始可能是对社区的贡献;请参阅this ticket。)

但该团队确实每晚发布构建,每个构建都有自己的固定版本号。每晚的版本号看起来像2.13.1-bin-abcd123。(-bin-标志着对sbt的二进制兼容性;从2.13.0开始的所有2.13.x版本都是二进制兼容的。)

以前基于Jenkins的答案不再适用,因为我们(在2018年)将夜间新闻的发布从Jenkins转移到了Travis-CI。

要告诉sbt使用这些夜间模式之一,您需要做三件事。

首先,添加保存夜间事件的解析器:

代码语言:javascript
复制
Global / resolvers += "scala-integration" at
  "https://scala-ci.typesafe.com/artifactory/scala-integration/"

其次,指定Scala版本:

代码语言:javascript
复制
scalaVersion := "2.13.1-bin-abcd123"

但这不是真正的版本号。手动替换一个版本号,该版本号包含发布夜间构建的scala/scala repository中最后一次提交的7个字符的SHA值。查看https://travis-ci.org/scala/scala/branches,您将在2.13.x (或2.12.x)部分的右上角看到SHA。例如:

一旦2.13.1发布,夜间的版本号就会跳到2.13.2,以此类推。

如果有多项目生成,请确保在修改生成定义时跨所有项目设置这些设置。或者,您可以在sbt shell中使用++2.13.1-bin-abcd123 (sbt0.13.x)或++2.13.1-bin-abcd123! (sbt1.x;添加的感叹号是强制使用crossScalaVersions中未包含的版本所必需的)来临时设置它们。

理想情况下,我们会建议一种自动方式来要求Travis-CI提供正确的SHA。这可能是通过Travis-CI的API实现的,但(据我所知)还没有人研究过它。(有志愿者吗?)

请注意,我们将这些非正式地称为“夜间”构建,但从技术上讲,这是一个用词不当的说法。所谓的“夜间”是为每个合并的PR构建的。

Scala 2.11

没有计划发布更多的2.11.x版本,所以我们(Lightbend的Scala团队)也不再发布2.11夜间新闻。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40622878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档