sbt-updates alternatives and similar packages
Based on the "Sbt plugins" category.
Alternatively, view sbt-updates alternatives based on common mentions on social networks and blogs.
-
sbt-assembly
Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt) -
sbt-dependency-graph
sbt plugin to create a dependency graph for your project -
sbt-jmh
"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness) -
sbt-revolver
An SBT plugin for dangerously fast development turnaround in Scala -
better-monadic-for
Desugaring scala `for` without implicit `withFilter`s -
sbt-microsites
An sbt plugin to create awesome microsites for your project -
sbt-mima-plugin
A tool for catching binary incompatibility in Scala -
sbt-ensime
Generates .ensime config files for SBT projects http://ensime.org/build_tools/sbt -
sbt-sonatype
A sbt plugin for publishing Scala/Java projects to the Maven central. -
sbt-ci-release
sbt plugin to automate Sonatype releases from GitHub Actions -
sbt-dependency-check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow: -
sbt-header
sbt-header is an sbt plugin for creating file headers, e.g. copyright headers -
sbt-play-scalajs
SBT plugin to use Scala.js along with any sbt-web server. -
sbt-api-mappings
An Sbt plugin that fills apiMappings for common Scala libraries. -
sbt-unidoc
sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects. -
sbt-sublime
An sbt plugin for generating Sublime Text projects with library dependencies sources -
sbt pom reader plugin
Translates xml -> awesome. Maven-ish support for sbt. -
sbt-ide-settings
SBT plugin for tweaking various IDE settings -
sbt-scala-js-map
A Sbt plugin that configures source mapping for Scala.js projects hosted on Github -
sbt-versions
Plugin that checks for updated versions of your project's dependencies. -
sbt-hepek
Sbt plugin for rendering Scala objects to files. And more! -
sbt-pantarhei
sbt plugin building and publishing release notes from github pull requests -
sbt-classfinder
SBT plugin for retrieving runtime information about the classes and traits in a project
Static code analysis for 29 languages.
Do you think we are missing an alternative of sbt-updates or a related project?
README
sbt-updates
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.
Requirements
sbt 0.13.9 and later. sbt 1.x is supported since version 0.3.1.
Installation
Stable version
Create a ~/.sbt/1.0/plugins/sbt-updates.sbt
file (for sbt 1.x series), or ~/.sbt/0.13/plugins/sbt-updates.sbt
(for sbt 0.13.x series) with the following content:
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "x.x.x")
Snapshot version
Choose one of versions available on Sonatype. Then create a ~/.sbt/1.0/plugins/sbt-updates.sbt
file (for sbt 1.x series), or ~/.sbt/0.13/plugins/sbt-updates.sbt
(for sbt 0.13.x series) with the following content:
resolvers += Resolver.sonatypeRepo("snapshots")
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "x.x.x-y+gzzzzzzz-SNAPSHOT")
Note, that snapshots are not updated automatically.
Tasks
dependencyUpdates
: show a list of project dependencies that can be updated,dependencyUpdatesReport
: writes a list of project dependencies to a file.
Settings
dependencyUpdatesReportFile
: report file location,target/dependency-updates.txt
by default.dependencyUpdatesFilter
: filter matching dependencies that should be included to update reporting.dependencyUpdatesFailBuild
:dependencyUpdates
task will fail a build if updates found.dependencyAllowPreRelease
: when enabled, pre-release dependencies will be reported as well.
Deprecated Settings
dependencyUpdatesExclusions
: filter matching dependencies that should be excluded from update reporting.
Exclusions
You can exclude some modules from update checking:
dependencyUpdatesFilter -= moduleFilter(organization = "org.scala-lang")
sbt plugin updates
If sbt-updates
is installed in your global file you can get updates for sbt plugins by using the reload plugins
command:
> reload plugins
...
> dependencyUpdates
[info] Found 2 dependency updates for project
[info] com.timushev.sbt:sbt-updates : 0.3.0 -> 0.3.4 -> 0.4.3
[info] org.scala-lang:scala-library:provided : 2.10.6 -> 2.12.4
> reload return
Only plugins defined in a project are checked, there is currently no way to check updates for global plugins.
You can also check updates for dependencies and sbt plugins with:
sbt ";dependencyUpdates; reload plugins; dependencyUpdates"
Usage as project plugin
It is preferred to use sbt-updates as a global plugin. Nevertheless, there might be cases when you want to use sbt-updates
as a project plugin. In that case, add the plugin definition to project/sbt-updates.sbt
. You can then use dependencyUpdates
target to find updates for your project. But this way you won't be able to check sbt plugin updates. In order to check both
dependency updates and sbt plugin updates, add the plugin to both project and meta project i.e project/sbt-updates.sbt
and project/project/sbt-updates.sbt
and run:
sbt ";dependencyUpdates; reload plugins; dependencyUpdates; reload return"
Publishing
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.
Example
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