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