How can I find libraries which have newer versions with sbt.
For Ruby bundler, it can be done with bundle outdated
. I want to do similar thing with sbt.
Solution. You can use both managed and unmanaged dependencies in your SBT projects. If you have JAR files (unmanaged dependencies) that you want to use in your project, simply copy them to the lib folder in the root directory of your SBT project, and SBT will find them automatically.
The libraryDependencies key Most of the time, you can simply list your dependencies in the setting libraryDependencies . It's also possible to write a Maven POM file or Ivy configuration file to externally configure your dependencies, and have sbt use those external configuration files.
By default, sbt uses the standard Ivy home directory location ${user.
There is sbt-updates which gives you latest stable and snapshot versions. Not sure how reliable it is, though.
Example run:
my-project $ sbt [info] Set current project to my-project > dependencyUpdates [info] Found 14 dependency updates for my-project [info] com.typesafe.akka:akka-actor : 2.2.1 -> 2.2.3 [info] com.typesafe.akka:akka-agent : 2.2.1 -> 2.2.3 [info] com.typesafe.akka:akka-dataflow : 2.2.1 -> 2.2.3 [info] com.typesafe.akka:akka-slf4j : 2.2.1 -> 2.2.3 [info] com.typesafe.akka:akka-testkit : 2.2.1 -> 2.2.3 [info] com.typesafe.akka:akka-zeromq : 2.2.1 -> 2.2.3 [info] org.scala-lang.plugins:continuations:plugin->default(compile) : 2.10.2 -> 2.10.3 [info] org.scala-lang:scala-library : 2.10.2 -> 2.10.3 [info] org.scalaz:scalaz-concurrent : 7.0.3 -> 7.0.5 [info] org.scalaz:scalaz-core : 7.0.3 -> 7.0.4 [info] org.scalaz:scalaz-effect : 7.0.3 -> 7.0.5 [info] org.scalaz:scalaz-iteratee : 7.0.3 -> 7.0.5 [info] org.scalaz:scalaz-typelevel : 7.0.3 -> 7.0.5 [info] org.scalaz:scalaz-xml : 7.0.3 -> 7.0.5
You can use "SBT > dependencyUpdates" in the command line. Just like described above. That will work. But that is now automated.
You can use VersionEye to monitor your build.sbt file on GitHub/Bitbucket. VersionEye will notify you about out-dated dependencies in your project, automatically via email. In that way it is completely automated and you don't have to remember to execute commands in the shell. It's like a CI Server for versions ;-)
By the way, I'm the dude who started VersionEye. Let me know if you have questions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With