Files
hakorune/tools/clean_root_artifacts.sh

48 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
# Non-destructive cleaner for stray build artifacts in repo root.
# Dry-run by default; pass --apply to actually remove.
ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd)
APPLY=0
[[ "${1:-}" == "--apply" ]] && APPLY=1
cd "$ROOT_DIR"
patterns=(
"app_*" # e.g., app_parity_*, app_stage3_loop, etc.
"*_app" # e.g., test_filebox_app
"*.o" # stray .o files
)
echo "[clean-root] scanning..."
found=()
for pat in "${patterns[@]}"; do
while IFS= read -r -d $'\0' f; do
# skip directories and keep inside tools/, src/, apps/, etc.
[[ -d "$f" ]] && continue
case "$f" in
src/*|apps/*|examples/*|tools/*|docs/*|tests/*|crates/*|plugins/*) continue ;;
esac
found+=("$f")
done < <(find . -maxdepth 1 -name "$pat" -print0 2>/dev/null || true)
done
if (( ${#found[@]} == 0 )); then
echo "[clean-root] nothing to clean"
exit 0
fi
printf "[clean-root] candidates (%d):\n" "${#found[@]}"
printf ' %s\n' "${found[@]}"
if (( APPLY )); then
echo "[clean-root] removing..."
rm -f -- "${found[@]}"
echo "[clean-root] done"
else
echo "[clean-root] dry-run (no files removed). Use --apply to remove."
fi