#!/usr/bin/env bash

set -euo pipefail

if [ ! -z "$MODULE" ]; then
    MODULE="-p $MODULE"
fi

if [ -z "${PARAMS-}" ]; then
    PARAMS=""
fi

case $CMD in
    build)
        $CARGO build $MODULE $PARAMS
        ;;
    lint)
        $CARGO clippy $MODULE $PARAMS -- -Dwarnings
        ;;
    test)
        $CARGO test $MODULE $PARAMS
        ;;
    run)
        $CARGO run $MODULE $PARAMS
        ;;
    release)
        $CARGO clippy $MODULE $PARAMS -- -Dwarnings
        $CARGO build --release $MODULE $PARAMS
        $CARGO test --release $MODULE $PARAMS
        ;;
    clean)
        $CARGO clean $MODULE
        ;;
    "")
        echo "No command specified. Use build | lint | test | run | release | clean"
        ;;
    *)
        echo "$CMD is unknown. Use build | lint | test | run | release | clean"
        ;;
esac

