A sbt 0.13 plugin to create
lock.sbt file which explicitly specifies versions of all dependent libraries.
Your application or dependent libraries might contain loose version dependencies, like
[1.0,) (means version 1.0 or later),
latest.release, etc. In this case, builds might become different by a newer release of dependent libraries.
This plugin strictly specifies versions by
Add the following line to
~/.sbt/0.13/plugins/sbt-lock.sbt for sbt 0.13.x,
~/.sbt/1.0/plugins/sbt-lock.sbt for sbt 1.0.x or
addSbtPlugin("com.github.tkawachi" % "sbt-lock" % "0.7.0")
dependencyOverridesfor all dependent library versions. Manage it with version control system.
checkLockUpdateto print whether the lock file needs an update.
excludeDependenciescould be used to exclude some dependencies from locking. This could be required for platform-specific dependencies (e.g. Netty native)
import com.github.tkawachi.sbtlock._ val settings: Seq[Setting[_]] = Seq( excludeDependencies in SbtLockKeys.lock := Seq( "org.reactivemongo" % "reactivemongo-shaded-native" ) )
sbtLockIgnoreOverridesOnStaleHash := true(default:
libraryDependencieschanges to take effect on reload, even without a
Enabling is useful to match expectations of 1. update library dependencies, 2. reload, 3. see changes immediately.