12 releases
Uses old Rust 2015
0.3.0 | Sep 11, 2021 |
---|---|
0.2.0 | Apr 12, 2021 |
0.1.12 | Mar 26, 2021 |
0.1.11 | Sep 29, 2020 |
0.1.5 | May 16, 2019 |
#449 in Build Utils
26KB
316 lines
dependency-refresh
dependency-refresh is meant to update rust dependency versions within Cargo.toml files.
The tool reads the given toml files and checks online at https://crates.io for the latest version of each dependency.
By default dependency-refresh compares the versions according to Semantic versioning (see https://semver.org/) rules the same way Cargo does (see https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html). Therefore, dependency-refresh does not update the version in the local Cargo.toml, if the new crates.io version is a compatible minor update. This behavior usually is desired, because Cargo uses the latest compatible version anyway. To override this, pass the option --exact to dependency-refresh. That will disable Semantic versioning compare and will always trigger an update of the local version.
I am aware that there is room for improvement in my rust code, so feel free to comment or submit small patches.
Example usage with SemVer (default)
$ ./target/debug/dr ./Cargo.toml
Reading file: ./Cargo.toml
Found: structopt
Local version: 0.3.0
Online version: 0.3.21
Found: toml_edit
Local version: 0.2.0
Online version: 0.2.0
Found: reqwest
Local version: 0.11.0
Online version: 0.11.2
Found: serde_json
Local version: 1.0.0
Online version: 1.0.64
Found: semver
Local version: 0.10.0
Online version: 0.11.0
Updating: semver 0.10.0 => 0.11.0
Example usage with exact matching (no SemVer)
$ ./target/debug/dr --exact ./Cargo.toml
Reading file: ./Cargo.toml
Found: structopt
Local version: 0.3.0
Online version: 0.3.21
Found: toml_edit
Local version: 0.2.0
Online version: 0.2.0
Found: reqwest
Local version: 0.11.0
Online version: 0.11.2
Found: serde_json
Local version: 1.0.0
Online version: 1.0.64
Found: semver
Local version: 0.10.0
Online version: 0.11.0
Updating: structopt 0.3.0 => 0.3.21
Updating: serde_json 1.0.0 => 1.0.64
Updating: semver 0.10.0 => 0.11.0
Updating: reqwest 0.11.0 => 0.11.2
Installation
Arch linux | https://aur.archlinux.org/packages/rust-dependency-refresh/ |
---|
Dependencies
~8–20MB
~288K SLoC