2016-08-25 3 views
1

Я не могу заставить SBT разрешать мои зависимости, когда я использую синтаксис диапазона.диапазоны версий sbt/ivy не разрешаются, но точные версии делают

Так

libraryDependencies ++= Seq(
    //exact version works i.e.  0.5.3+27 
    //but what we want to work is [0.5.3,) 
    //or I've since moved the build number to the 4th component 0.5.3.+ 
    "company"    %% "project"  % "0.5.3.+", 
    //... 
) 

я могу получить точные версии работать нормально, но ни один из синтаксиса версии не указано в https://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html#revision или примеры на http://www.scala-sbt.org/0.13/docs/Library-Management.html работы.

Я огляделся и нашел, что есть что-то вроде этого здесь https://github.com/sbt/sbt/pull/2075, который вошел в sbt 0.13.9, я использую 0.13.11.

Первый диапазон версий - это то, что я использовал из-за того, что Semantic-версия рекомендует для метаданных в точке 10, когда это не сработало, библиотека management docs/Ivy revision docs говорит: «Завершите ревизию с помощью + выберите последнюю подвыборку модуль зависимостей ", поэтому я удалил + в случае возникновения проблемы и добавил 4-й компонент, который является только номером сборки GoCD. Снова точная версия работает, но не подреверсии.

В SBT я могу видеть URL из двух форматов удара:

  1. https://dl.bintray.com/<username>/внутренние-релизы/<namespace>/<project-name> _2.11/[revision]/<project-name> _2.11- [пересмотр] .pom
  2. http://dl.bintray.com/<username>/внутренние-релизы/<namespace>/<project-name> _2.11/[revision] /ivys/ivy.xml

Примечание: [revision] - это буквально в напечатанном URL. Вещи в угловых скобках - это мои замены. Следовательно, почему я думал, что issue 2005 был связан. У меня нет файла репозитория SBT.

Так что, если у вас возник вопрос, я делал что-то неправильно в приведенном выше, как мне получить диапазон версий с синтаксисом min.minor.patch.build i.e 0.x.x.+?

ответ

0

Работал вокруг этого. В каталогах каталогов Bintray нет действительных HTTP-ссылок (усилия против искателя в части Binary). В результате распознаватель Ivy не смог получить список опубликованных версий.

Использование компоновки maven вместо работы Ivy, поскольку формат Maven включает в себя metadata.xml, в котором перечислены все доступные версии. Итак, работа вокруг заключается в том, чтобы переиздавать библиотеки libs, используя maven layout вместо Ivy's, чтобы получить эти метаданные.