使用rvm,dart&pub等依赖管理工具,您可以指定没有特定版本的依赖项。我将获得每个依赖项的最新版本,以产生基线工件。此工件在运行命令时包含每个依赖项及其最新版本。
有了sbt,我发现自己通过查看maven repo手动执行此步骤。他们的sbt插件是否已经这样做了?
例如,对于dart的酒吧,您可以这样做。
...
dependencies:
args: '>=0.10.0 < 0.11.0'
analyzer: '>=0.13.0 <0.14.0'
barback: '>=0.11.1 <0.14.0'
...
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"
...
答案 0 :(得分:4)
您可以将latest
指定为修订号。例如:
libraryDependencies += "org.apache.derby" % "derby" % "latest.release"
有关详细信息,请查看常春藤文档:
http://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html#revision
答案 1 :(得分:1)
以@ darko-cerdic的答案为基础
您可以将latest
指定为修订号。例如:
libraryDependencies += "org.apache.derby" % "derby" % "latest.release"
有关详细信息,请查看常春藤文档:
http://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html#revision
如果需要,您可以手动指定dependencyOverrides
以强制使用特定的库版本:
dependencyOverrides ++= Seq( "org.apache.derby" % "derby" % "1.0.0")
请注意,在SBT 1中,dependencyOverrides被指定为Seq,而在以前的版本中,它被指定为Set。
使用sbt-lock插件,您可以锁定所有依赖项的当前版本,以便CI系统可以使用一组稳定的依赖项。它会根据当前已解决的dependencyOverrides
生成一组libraryDependencies
。这为您提供了类似于Gemfile.lock的行为。