Как настроить зависимость в библиотеке sbt для версии типа `1.0.0-M10` и выше - PullRequest
1 голос
/ 19 сентября 2019

Я хочу написать библиотеку, которая должна работать с артефактом "org" %% "scanamo" версия 1.0.0-M10 и выше, например, 1.0.0-M11, 1.0.0-RC1, 1.0.1.Но версия должна выбирать пользователя библиотеки.

Я устал "org" %% "scanamo" % "1.0.+" в sbt, но он не может найти какие-либо версии.

Как настроить пользовательскую зависимость в библиотеке с правилом "1.0.0-M10 и выше"

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

Sbt по умолчанию использует Ivy для защиты зависимостей.Ivy поддерживает концепцию version matchers.

В зависимости от ваших потребностей, может понадобиться что-то простое, например, latest.milestone вместо номера версии, и он всегда будет следить за тем, чтобы последний этап был всегдавытащил.

например:

"org" %% "scanamo" % "latest.milestone"

Примечание: sbt 1.3 по умолчанию использует Coursier вместо Ivy.

Редактировать: При использовании sbt 1.3 кажется, что у Coursier также есть аналогичныефункциональность.См. Обработка версии Курсье .

0 голосов
/ 19 сентября 2019

Нет такой функции.

В качестве библиотеки вы указываете нужную вам версию.Только одна конкретная версия.

Если пользователь библиотеки решит использовать другую версию (или другую версию зависимости получит другая версия), будет выбрана самая высокая версия.

Эта более высокая версия можетили может не работать с вашей библиотекой.Если SBT считает (согласно правилам семантического управления версиями), что версия может быть несовместимой, он напечатает предупреждение.Но пользователь должен выяснить, сработает он или нет.

Это немного беспорядок.Особенно в Скалаленде, где часто встречаются несовместимые обновления библиотеки.

Как настроить пользовательскую зависимость в библиотеке с правилом "1.0.0-M10 и выше"

Вы зависите от org" %% "scanamo" % "1.0.0-M10".Вы надеетесь, что более поздние версии останутся совместимыми с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...