⬆️ SBT plugin that can check Maven and Ivy repositories for dependency and plugin updates
Clone or download
Latest commit f4cdaab Dec 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project Release 1.1.10 Oct 10, 2018
src Changed the file open options Dec 17, 2018
.gitignore Init commit Dec 22, 2016
.scalariform.conf Release 1.1.10 Oct 10, 2018
.travis.yml Fixed ci Mar 2, 2018
LICENSE Init commit Dec 22, 2016
README.md Update README.md Dec 17, 2018
build.sbt Release 1.1.10 Oct 10, 2018
scalastyle-config.xml Using global lock Apr 10, 2018
version.sbt Setting version to 1.1.14-SNAPSHOT Dec 17, 2018

README.md

sbt-dependency-updates

Build Status Latest Version

Display your SBT project's dependency updates.

Dome

Installation

Add the following line to one of these files:

  • The project-specific file at project/plugins.sbt
  • Your global file at ~/.sbt/1.0/plugins/plugins.sbt for sbt 1.0
addSbtPlugin("org.jmotor.sbt" % "sbt-dependency-updates" % "1.1.13")

or ~/.sbt/0.13/plugins/plugins.sbt for sbt 0.13

addSbtPlugin("org.jmotor.sbt" % "sbt-dependency-updates" % "1.0.7")

Tasks

  • dependencyUpdates: show a list of project dependencies and plugins that can be updated
  • dependencyUpgrade: Experimental upgrade of project dependencies and plugins that can be updated

dependencyUpgrade

  • Add project/Dependencies.scala in your root project
  • Dependencies.scala as the following:
import sbt._

object Dependencies {

  // define versions, The variable name must be camel case by module name
  object Versions {
    val fansi = "0.2.5"
    val slf4j = "1.7.25"
    val guava = "24.0-jre"
    val scalatest = "3.0.5"
    val scala212 = "2.12.4"
    val scala211 = "2.11.11"
    val scalariform = "0.2.6"
    val scalaLogging = "3.7.2"
  }

  object Compile {
    val fansi = "com.lihaoyi" %% "fansi" % Versions.fansi
    val guava = "com.google.guava" % "guava" % Versions.guava
    val slf4jSimple = "org.slf4j" % "slf4j-simple" % Versions.slf4j
    val scalariform = "org.scalariform" %% "scalariform" % Versions.scalariform
  }

  object Test {
    val scalaTest: ModuleID = "org.scalatest" %% "scalatest" % Versions.scalatest % "test"
  }

  import Compile._

  lazy val dependencies = Seq(fansi, guava, slf4jSimple, scalariform, Test.scalaTest)

}

You can download an example project with this layout here:

Settings

  • dependencyUpgradeModuleNames: a setting to customize the mapping of module name

E.g. in build.sbt you can change configuration settings like this:

  dependencyUpgradeModuleNames := Map(
    "slf4j-simple" -> "slf4j",
    "undertow.*" -> "undertow"
  )