6 releases
| 0.0.6 | Jun 17, 2019 |
|---|---|
| 0.0.5 |
|
| 0.0.3 | May 31, 2019 |
#1609 in Development tools
24KB
508 lines
Dargo
Some useful third-party tools based Cargo.
WARNING: Early stage, almost no documentation and unit testing.
Install
Latest released: cargo install -f dargo
Latest branched: cargo install -f dargo --git https://github.com/DCjanus/dargo.git
PS: Recommend to use cargo-update to keep all tools up to date.
Commands
dargo upgrade
Upgrade version requirements in Cargo.toml to latest, more usage: dargo upgrade -h.
Version requirements like 1.2.3, 0.1.2, always updated to the latest version.
Version requirements like ^1.2.3, ~2.0.1, =0.3.0, 1.2, 1.*, >0.1.0 would not be upgraded (unless with --force). If you want to exclude some dependencies from dargo upgrade, those kinds of version requirements could be used.
dargo add
Add dependencies to your Cargo.toml, more usage: dargo add -h.
Without version specified like dargo add failure libc, add latest version dependencies to Cargo.toml.
With version requirement like dargo add futures-preview@>=0.3.0-alpha.12 libc@^1.0.1, add dependencies with specified version requirement.
dargo rm
Remove dependencies from your Cargo.toml, more usage: dargo rm -h.
Tips
dargo upgradeanddargo addwould not update local registry index, unless run with flag--update.
Position
There are some useful CLI tools for Rust developers, for example, cargo-edit, cargo-outdated.
They are fabulous, but for some reason, some designs are not suitable for my needs, for example: for compile speed, cargo-edit doesn't rely on cargo, and query latest version of crate via HTTP API, which is so slow in China. So I have to write dargo for myself and query latest version from local registry index.
Ref: cargo-edit#311
TODO
dargo outdated
Check dependencies in Cargo.lock
remove cargo dependency
When I'm familiar with cargo, I'd like to parse everything by hand rather than cargo, it would be helpful to reduce compilation time.(cargo_metadata?)
Dependencies
~54MB
~1M SLoC