#!/usr/bin/env sh
set -eu

SOURCE="$0"
while [ -L "$SOURCE" ]; do
  DIR="$(CDPATH= cd -- "$(dirname -- "$SOURCE")" && pwd)"
  TARGET="$(readlink "$SOURCE")"
  case "$TARGET" in
    /*) SOURCE="$TARGET" ;;
    *) SOURCE="$DIR/$TARGET" ;;
  esac
done

SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$SOURCE")" && pwd)"
ROOT_DIR="$(CDPATH= cd -- "$SCRIPT_DIR/../.." && pwd)"
BINARY="$ROOT_DIR/target/debug/auditkit"

if [ ! -x "$BINARY" ]; then
  cargo build --manifest-path "$ROOT_DIR/Cargo.toml" >/dev/null
fi

exec "$BINARY" "$@"
