2016-11-16 90 views

回答

13

快速

resolvers += "scala-integration" at 
    "https://scala-ci.typesafe.com/artifactory/scala-integration/" 
scalaVersion := "2.12.2-bin-abcd123" 
在第二行

,从詹金斯替换版本号(2.132.122.11

较长版本:

斯卡拉队无更长的版本发布了-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.132.122.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的东西。

+0

另请参阅https://github.com/typelevel/scala/issues/135 ...以支持您希望使用'CrossVersion.patch'的编译器插件,并且当您处于此状态时,您可能也会使用'scalaOrganization.value'来获得Typelevel Scala的兼容性。 –

+0

如果您希望经常这样做,还可以在您的全局SBT配置中有条件地添加额外的解析器(例如https://gist.github。COM /返璞词/ 61bfa9585a303cdaa204b5916124bf0c) – retronym