Display your SBT project's dependency updates.
Update information is obtained from the maven metadata. There is also a limited support for Ivy repositories hosted on BinTray.
If your project uses crossScalaVersions
you will be presented only with updates available for all scala versions.
SBT 0.13.5 and later
Note: use version 0.1.0 for SBT 0.11.x, version 0.1.6 for SBT 0.12.x, version 0.1.7 for SBT 0.13.0-0.13.2.
Add the following line to one of these files:
- The project-specific file at
project/sbt-updates.sbt
- Your global file at
~/.sbt/0.13/plugins/sbt-updates.sbt
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.3.0")
Choose one of versions available on BinTray or the latest one. Add the following lines to one of these files:
- The project-specific file at
project/sbt-updates.sbt
- Your global file at
~/.sbt/0.13/plugins/sbt-updates.sbt
resolvers += Resolver.url("rtimush/sbt-plugin-snapshots", new URL("https://dl.bintray.com/rtimush/sbt-plugin-snapshots/"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.2.1-12+gf85c84a")
Note, that snapshots are not updated automatically.
dependencyUpdates
: show a list of project dependencies that can be updated,dependencyUpdatesReport
: writes a list of project dependencies to a file.
dependencyUpdatesReportFile
: report file location,target/dependency-updates.txt
by default.dependencyUpdatesExclusions
: filter matching dependencies that should be excluded from update reporting.dependencyUpdatesFailBuild
:dependencyUpdates
task will fail a build if updates found.dependencyAllowPreRelease
: when enabled, pre-release dependencies will be reported as well.
You can exclude some modules from update checking:
dependencyUpdatesExclusions := moduleFilter(organization = "org.scala-lang")
You can get updates for SBT plugin by using reload plugins
command:
> reload plugins
...
> dependencyUpdates
[info] Found 2 dependency updates for project
[info] com.timushev.sbt:sbt-updates : 0.3.0 -> 0.3.1
[info] org.scala-lang:scala-library:provided : 2.10.6 -> 2.12.0
> reload return
Only plugins defined in a project are checked, there is currently no way to check updates for global plugins.
sbt-updates
relies on the repository Maven metadata. If you want to get update notifications
for artifacts published by other SBT projects, you should ensure that metadata is updated
correctly. One possible way to achieve this is to use sbt-aether-deploy.
In order from left, the result shows current version, patch update version, minor update version and major update version.
> dependencyUpdates
[info] Found 3 dependency updates for test-project
[info] ch.qos.logback:logback-classic : 0.8 -> 0.8.1 -> 0.9.30 -> 1.0.13
[info] org.scala-lang:scala-library : 2.9.1 -> 2.9.3 -> 2.10.3
[info] org.slf4j:slf4j-api : 1.6.4 -> 1.6.6 -> 1.7.5