10
A
回答
13
快速:
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := "2.12.2-bin-abcd123"
在第二行
较长版本:
斯卡拉队无更长的版本发布了-SNAPSHOT
版本的Scala。 (再次可能是社区贡献;请参阅this ticket。)
但是,团队确实每晚都会发布构建版本,每个版本都有自己的固定版本号。每晚的版本号看起来像例如2.12.1-bin-abcd123
。 (-bin-
信号二进制兼容性SBT 2.13还没有稳定的二进制兼容性还没有,所以版本有-pre-
而非-bin-
。)
告诉SBT使用这些的Nightlies版一个,你需要做三件事情。
首先,添加在被Nightlies版保持解析器:
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
二,指定斯卡拉版本:
scalaVersion := "2.12.2-bin-abcd123"
但是,这是不是一个真正的版本号。用scala/scala repository替换包含提交的7个字符的SHA的版本号,为其发布夜间版本。你可以看看最新发布的版本:2.13或2.12或2.11)。
如果您有多项目构建,请确保在所有项目中设置这些设置。如果你在sbt shell中以交互方式设置它们,++2.12.2-bin-abcd123
可以做到这一点。
附录:
如果你不想惹查找一个版本号,如果你不介意让你的构建不可再生的,你可以把这个在您的build.sbt
:
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := {
val url = "https://scala-ci.typesafe.com/job/scala-2.12.x-integrate-bootstrap/lastStableBuild/artifact/jenkins.properties/*view*/"
val props = new java.util.Properties
props.load(new URL(url).openStream)
props.getProperty("version")
}
我记住这一个,否则空SBT项目,在一个方便的位置,所以我总是可以快速运行sbt console
有测试的最新-夜间REPL的东西。
另请参阅https://github.com/typelevel/scala/issues/135 ...以支持您希望使用'CrossVersion.patch'的编译器插件,并且当您处于此状态时,您可能也会使用'scalaOrganization.value'来获得Typelevel Scala的兼容性。 –
如果您希望经常这样做,还可以在您的全局SBT配置中有条件地添加额外的解析器(例如https://gist.github。COM /返璞词/ 61bfa9585a303cdaa204b5916124bf0c) – retronym