69 lines
1.2 KiB
Bash
Executable file
69 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
## Build/ Test/ Clippy all supported feature permutations
|
|
set -eu
|
|
|
|
mode=${1:-help}
|
|
wasm_target="--chrome --headless"
|
|
extended=${2:-false}
|
|
|
|
|
|
features_base=(
|
|
#cam,denm,uart
|
|
spat,gnss,screen
|
|
)
|
|
features_more=(
|
|
spat,gnss,screen,cam,denm
|
|
)
|
|
features_test=(
|
|
spat
|
|
spat,cam,denm
|
|
)
|
|
|
|
|
|
runBuild () {
|
|
for feat in "${features[@]}"; do
|
|
echo "cargo build for $feat ..."
|
|
cargo build --release --no-default-features -F esp,$feat
|
|
done
|
|
}
|
|
|
|
runTest () {
|
|
for feat in "${features_test[@]}"; do
|
|
echo "cargo test for $feat ..."
|
|
cargo test --target host-tuple --bin test --no-default-features -F std,$feat
|
|
done
|
|
}
|
|
|
|
runClippy () {
|
|
for feat in "${features[@]}"; do
|
|
echo "clippy for $feat ..."
|
|
cargo clippy --no-default-features -F esp,$feat -- -Wclippy::pedantic
|
|
done
|
|
}
|
|
|
|
if [ $extended == "--more" ]; then
|
|
echo "running with extended feature list"
|
|
features=( "${features_base[@]}" "${features_more[@]}" )
|
|
else
|
|
echo "running standard feature list"
|
|
features=( "${features_base[@]}" )
|
|
fi
|
|
|
|
case $mode in
|
|
build)
|
|
runBuild
|
|
;;
|
|
clippy)
|
|
runClippy
|
|
;;
|
|
test)
|
|
runTest
|
|
;;
|
|
all)
|
|
runBuild
|
|
runClippy
|
|
runTest
|
|
;;
|
|
*)
|
|
echo "Usage: $0 [build | clippy | test | all] [--more]"
|
|
esac
|