Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imp/cargo-multi

Extends cargo to execute the given command on multiple crates - upstream is at
https://github.com/imp/cargo-multi

Last synced: 3 months ago
JSON representation

Extends cargo to execute the given command on multiple crates - upstream is at

Awesome Lists containing this project

README

        

# cargo-multi
[![Crates.io](https://img.shields.io/crates/v/cargo-multi.svg?style=plastic)](http://crates.io/crates/cargo-multi)
[![Coverage Status](https://coveralls.io/repos/github/imp/cargo-multi/badge.svg?branch=master)](https://coveralls.io/github/imp/cargo-multi?branch=master)

GitLab CI:
master: [![build status](https://gitlab.com/imp/cargo-multi/badges/master/build.svg)](https://gitlab.com/imp/cargo-multi/commits/master)
develop: [![build status](https://gitlab.com/imp/cargo-multi/badges/develop/build.svg)](https://gitlab.com/imp/cargo-multi/commits/develop)

Travis:
master: [![Build Status](https://img.shields.io/travis/imp/cargo-multi/master.svg?style=plastic)](https://travis-ci.org/imp/cargo-multi)
develop: [![Build Status](https://img.shields.io/travis/imp/cargo-multi/develop.svg?style=plastic)](https://travis-ci.org/imp/cargo-multi)

Extends cargo to execute the given command on multiple crates. Inspired by `git multi`.
First `cargo-multi` checks current directory for cargo workspaces and if found executes a given command in each workspace. Alternatively `cargo-multi` executes a given command in each crate found in the current directory.

## Installation
Use `cargo` to install this subcommand
```
cargo install cargo-multi
```

## Usage
Run `cargo multi ` in the directory where you keep your crates.
```
cargo multi update
```
```
cargo multi build
```
```
cargo multi test
```

## Example
```
$ cargo multi update
----------------------
Executing cargo update
----------------------
cargo:
Updating registry `https://github.com/rust-lang/crates.io-index`
Updating git2 v0.3.5 -> v0.3.4
Removing libgit2-sys v0.4.0
Updating nom v1.2.0 -> v1.2.1
Updating num_cpus v0.2.10 -> v0.2.11
Updating regex v0.1.52 -> v0.1.54
Updating regex-syntax v0.2.3 -> v0.2.5
Updating tar v0.4.3 -> v0.4.4
Removing unicode-bidi v0.2.3
Removing unicode-normalization v0.1.2
Removing url v0.5.5

cargo-multi:
Updating registry `https://github.com/rust-lang/crates.io-index`

elm:
Updating registry `https://github.com/rust-lang/crates.io-index`

gitlab-rs:
Updating registry `https://github.com/rust-lang/crates.io-index`

hyper:
Updating registry `https://github.com/rust-lang/crates.io-index`
Updating num_cpus v0.2.10 -> v0.2.11
Updating regex v0.1.52 -> v0.1.54
Updating regex-syntax v0.2.3 -> v0.2.5
Updating serde v0.6.14 -> v0.6.15
Updating unicase v1.2.1 -> v1.3.0

json:
Updating registry `https://github.com/rust-lang/crates.io-index`
Updating serde v0.6.14 -> v0.6.15

rass:
Updating registry `https://github.com/rust-lang/crates.io-index`

requests-rs:
Updating registry `https://github.com/rust-lang/crates.io-index`
Updating num_cpus v0.2.10 -> v0.2.11
Updating serde v0.6.14 -> v0.6.15
Updating unicase v1.2.1 -> v1.3.0

syncthing-rs:
Updating registry `https://github.com/rust-lang/crates.io-index`
Updating regex v0.1.53 -> v0.1.54
Updating regex-syntax v0.2.4 -> v0.2.5

trust:
Updating registry `https://github.com/rust-lang/crates.io-index`
Removing aho-corasick v0.5.1
Removing docopt v0.6.78
Removing memchr v0.1.10
Removing regex v0.1.54
Removing regex-syntax v0.2.5
Removing rustc-serialize v0.3.18
Removing strsim v0.3.0
Removing utf8-ranges v0.1.3
```