Есть ли плагин sbt для получения зависимостей, как в Gemfile?

С помощью инструментов управления зависимостями, таких как rvm, dart's pub и т. Д., Вы можете указать зависимость без конкретной версии. Я получу последние версии каждой зависимости и создам базовый артефакт. Этот артефакт содержит каждую зависимость с их последней версией во время выполнения команды.

С помощью sbt я выполняю этот шаг вручную, просматривая репозиторий Maven. Это плагин sbt, который уже делает это?

Например, с пабом Дартс вы можете сделать это.

pubspec.yaml

...
dependencies:
  args: '>=0.10.0 < 0.11.0'
  analyzer: '>=0.13.0 <0.14.0'
  barback: '>=0.11.1 <0.14.0'
...

pubspec.lock

packages:
  analyzer:
    description: analyzer
    source: hosted
    version: "0.13.6"
  args:
    description: args
    source: hosted
    version: "0.10.0+2"
  barback:
    description: barback
    source: hosted
    version: "0.12.0"
...

2 ответа

Решение

Опираясь на ответ от @darko-cerdic

Вы можете указать latest как номер ревизии. Например:

libraryDependencies += "org.apache.derby" % "derby" % "latest.release"

Для более подробной информации ознакомьтесь с документацией по плющу:

http://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html

Если вы хотите, вы можете указать вручную dependencyOverrides чтобы заставить конкретную версию библиотеки:

dependencyOverrides ++= Seq( "org.apache.derby" % "derby" % "1.0.0")

Обратите внимание, что в SBT 1.+ dependencyOverrides указывается как Seq, тогда как в предыдущих версиях он указывался как Set.

Используя плагин sbt-lock, вы можете заблокировать текущую версию для всех ваших зависимостей, чтобы ваша система CI могла использовать стабильный набор зависимостей. Он генерирует набор dependencyOverrides на основе текущего набора разрешенных libraryDependencies, Это дает вам поведение, похожее на Gemfile.lock.

https://github.com/tkawachi/sbt-lock

Вы можете указать latest как номер ревизии. Например:

libraryDependencies += "org.apache.derby" % "derby" % "latest.release"

Для более подробной информации ознакомьтесь с документацией по плющу:

http://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html

Другие вопросы по тегам