#!/bin/bash set -e rustup component add clippy cargo clippy if [[ "$TARGET" != "" ]]; then rustup target install $TARGET; fi if [[ "$TARGET" == "wasm32-"* && "$TARGET" != "wasm32-wasi" ]]; then cargo-web --version || cargo install cargo-web cargo web test --no-default-features $FLAGS --target=$TARGET cargo web test $FLAGS --target=$TARGET cargo web test --all-features $FLAGS --target=$TARGET elif [[ "$TARGET" == *"-linux-android"* ]]; then export PATH=/usr/local/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH pushd linux-android cargo build --no-default-features --target=$TARGET $FLAGS cargo build --target=$TARGET $FLAGS cargo build --all-features --target=$TARGET $FLAGS # Don't test, can't run android emulators successfully on travis currently popd elif [[ "$TARGET" == *"-apple-ios" || "$TARGET" == "wasm32-wasi" ]]; then cargo build --no-default-features --target=$TARGET $FLAGS cargo build --target=$TARGET $FLAGS cargo build --all-features --target=$TARGET $FLAGS # Don't test # iOS simulator setup/teardown is complicated # cargo-web doesn't support wasm32-wasi yet, nor can wasm-pack test specify a target elif [[ "$TARGET" == *"-unknown-linux-gnueabihf" ]]; then #sudo apt-get update #sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf pushd generic-cross cargo build --no-default-features --target=$TARGET $FLAGS cargo build --target=$TARGET $FLAGS cargo build --all-features --target=$TARGET $FLAGS # Don't test popd elif [[ "$TARGET" != "" ]]; then pushd generic-cross cargo test --no-default-features --target=$TARGET $FLAGS cargo test --target=$TARGET $FLAGS cargo test --all-features --target=$TARGET $FLAGS popd else # Push nothing, target host CPU architecture cargo test --no-default-features $FLAGS cargo test $FLAGS cargo test --all-features $FLAGS fi