Gemfile.lock for sbt
Clone or download
Latest commit 37396f0 Aug 10, 2018

README.md

sbt-lock Build Status Stories in Ready

Codacy Badge

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 dependencyOverrides.

Usage

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 project/plugins.sbt.

addSbtPlugin("com.github.tkawachi" % "sbt-lock" % "0.5.0")
  • lock to create lock.sbt file. lock.sbt includes dependencyOverrides for all dependent library versions. Manage it with version control system.
  • unlock to delete lock.sbt file.

Settings

  • excludeDependencies could 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"
  )
)