Я хочу проверить свой код на соответствие новейшим ночным играм Scala.
Ответ для Scala 2.10 больше не работает.
Что я делаю?
Я хочу проверить свой код на соответствие новейшим ночным играм Scala.
Ответ для Scala 2.10 больше не работает.
Что я делаю?
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
вручную замените первые 7 символов SHA последней зеленой сборки в ветки 2.13.x или 2.12.x на Travis-CI.
Команда Scala больше не публикует -SNAPSHOT
версии Scala. (Начиная это снова может быть вклад сообщества; см. Этот билет.)
Но команда публикует ночные сборки, каждая со своим фиксированным номером версии. Номер версии 2.13.1-bin-abcd123
выглядит, например, как 2.13.1-bin-abcd123
. (-bin-
сигнализирует двоичную совместимость с sbt; все версии 2.13.x, начиная с 2.13.0, двоично совместимы друг с другом.)
Старый ответ Дженкинса, который раньше был здесь, больше не работает, так как мы (в 2018 году) перенесли публикацию ночных еженедельников с Дженкинса на Travis-CI.
Чтобы сказать sbt использовать одну из этих ночных команд, вам нужно сделать три вещи.
Сначала добавьте распознаватель, где хранятся ночные нити:
resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
Во-вторых, укажите версию Scala:
scalaVersion := "2.13.1-bin-abcd123"
Но это не настоящий номер версии. Вручную подставьте номер версии, содержащий 7-символьный SHA последнего коммита в репозитории scala/scala, для которого была опубликована ночная сборка. Посмотрите на https://travis-ci.org/scala/scala/branches, и вы увидите SHA в верхнем правом углу раздела 2.13.x (или 2.12.x). Например:
Как только выйдет 2.13.1, номер версии в ночном режиме повысится до 2.13.2 и так далее.
Если у вас многопроектная сборка, убедитесь, что вы установили эти параметры во всех проектах при изменении определения сборки. Или вы можете временно установить их в оболочке sbt с помощью ++2.13.1-bin-abcd123
(sbt 0.13.x) или ++2.13.1-bin-abcd123!
(sbt 1.x; добавленный восклицательный знак необходим для принудительного использования версии, не включенной в crossScalaVersions
).
В идеале, мы бы предложили автоматизированный способ запросить у Travis-CI правильный SHA. Это возможно, возможно, через Travis-CI API, но (насколько мне известно) никто еще не изучал это. (Есть волонтер?)
По состоянию на июль 2019 года в репо Scala еще не было ветки 2.14.x, но после этого будут применяться следующие инструкции:
Как и выше, но посмотрите на ветку 2.14.x для SHA, и номер версии начинается с 2.14.0-pre-
(примечание -pre-
not -bin-
, так как двоичная совместимость еще не заморожена для 2.14).
Так, например, 2.14.0-pre-abcd123
.
Хотя дальнейшие выпуски 2.11.x остаются возможными, ни один из них не запланирован, поэтому мы (команда Scala в Lightbend) больше не публикуем ночные версии 2.11.