Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tkawachi/sbt-lock
Gemfile.lock for sbt
https://github.com/tkawachi/sbt-lock
Last synced: 2 months ago
JSON representation
Gemfile.lock for sbt
- Host: GitHub
- URL: https://github.com/tkawachi/sbt-lock
- Owner: tkawachi
- Archived: true
- Created: 2014-03-03T00:57:46.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2021-08-27T16:09:56.000Z (over 3 years ago)
- Last Synced: 2024-08-03T01:39:21.235Z (6 months ago)
- Language: Scala
- Homepage:
- Size: 113 KB
- Stars: 75
- Watchers: 8
- Forks: 12
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sbt-lock [![Build Status](https://travis-ci.com/tkawachi/sbt-lock.svg?branch=master)](https://travis-ci.com/tkawachi/sbt-lock)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/6f20cdcdf27d4e8a9cbbe47385382c44)](https://www.codacy.com/app/tkawachi/sbt-lock?utm_source=github.com&utm_medium=referral&utm_content=tkawachi/sbt-lock&utm_campaign=Badge_Grade)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.8.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.
* `checkLockUpdate` to print whether the lock file needs an update.## 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"
)
)
```* `sbtLockIgnoreOverridesOnStaleHash := true` (default: `false`) makes `libraryDependencies`
changes to take effect on reload, even without a `;unlock;reload;lock` cycle.
Enabling is useful to match expectations of 1. update library dependencies, 2. reload, 3. see changes immediately.