From 586d9ee85008c2c1a150438f4ac5614c3fde6d44 Mon Sep 17 00:00:00 2001 From: Rob Walker Date: Sat, 8 Dec 2018 19:14:19 -0800 Subject: [PATCH] fix some nits (#2034) rework maybe_cargo_install(), renamed to cargo_install_unless, updated to take a command to attempt --- book/build.sh | 21 ++++++--------------- ci/audit.sh | 19 ++++++++----------- ci/test-nightly.sh | 18 +++++++----------- 3 files changed, 21 insertions(+), 37 deletions(-) diff --git a/book/build.sh b/book/build.sh index 07d5aef1e6..4d1e3e32c8 100755 --- a/book/build.sh +++ b/book/build.sh @@ -8,25 +8,16 @@ _() { "$@" } -maybe_cargo_install() { - declare cmd=$1 - declare crate=$2 +cargo_install_unless() { + declare crate=$1 + shift - if [[ -z $crate ]]; then - crate=$cmd - fi - - set +e - "$cmd" --help > /dev/null 2>&1 - declare exitcode=$? - set -e - if [[ $exitcode -ne 0 ]]; then + "$@" > /dev/null 2>&1 || \ _ cargo install "$crate" - fi } export PATH=$CARGO_HOME/bin:$PATH -maybe_cargo_install mdbook -maybe_cargo_install svgbob svgbob_cli +cargo_install_unless mdbook mdbook --help +cargo_install_unless svgbob_cli svgbob --help _ make diff --git a/ci/audit.sh b/ci/audit.sh index a23d3d840d..d15a5651f0 100755 --- a/ci/audit.sh +++ b/ci/audit.sh @@ -15,19 +15,16 @@ _() { "$@" } -maybe_cargo_install() { - for cmd in "$@"; do - set +e - cargo "$cmd" --help > /dev/null 2>&1 - declare exitcode=$? - set -e - if [[ $exitcode -eq 101 ]]; then - _ cargo install cargo-"$cmd" - fi - done +cargo_install_unless() { + declare crate=$1 + shift + + "$@" > /dev/null 2>&1 || \ + _ cargo install "$crate" } -maybe_cargo_install audit tree +cargo_install_unless cargo-audit cargo audit --version +cargo_install_unless cargo-tree cargo tree --version _ cargo tree _ cargo audit diff --git a/ci/test-nightly.sh b/ci/test-nightly.sh index 7cdec701b3..31fdaee9f7 100755 --- a/ci/test-nightly.sh +++ b/ci/test-nightly.sh @@ -15,19 +15,15 @@ _() { # Uncomment this to run nightly test suit # _ cargo test --verbose --features=unstable -- --test-threads=1 -maybe_cargo_install() { - for cmd in "$@"; do - set +e - cargo "$cmd" --help > /dev/null 2>&1 - declare exitcode=$? - set -e - if [[ $exitcode -eq 101 ]]; then - _ cargo install cargo-"$cmd" - fi - done +cargo_install_unless() { + declare crate=$1 + shift + + "$@" > /dev/null 2>&1 || \ + _ cargo install "$crate" } -maybe_cargo_install cov +cargo_install_unless cargo-cov cargo cov --help # Generate coverage data and report via unit-test suite. _ cargo cov clean