#!/usr/bin/env bash
# usage: strip-all.sh <SRC_REPO> <OUT_DIR> <STRIPPER> <BRANCH>...
set -u
src=$1 out=$2 stripper=$3; shift 3
rc=0
for b in "$@"; do
  d="$out/${b//\//_}"
  rm -rf "$d"; mkdir -p "$d"
  git -C "$src" archive "origin/$b" | tar -x -C "$d"
  s=$(python3 -I "$stripper" "$d" 2>&1) || { echo "$b STRIP FAILED: $s"; rc=1; continue; }
  ( cd "$d" && mvn -q -o -DskipTests test-compile > "$d.mvn.log" 2>&1 ) && m=OK || { m=FAIL; rc=1; }
  ( cd "$d/mock-server" && go build -o /dev/null . > "$d.go.log" 2>&1 ) && g=OK || { g=FAIL; rc=1; }
  echo "$b |${s#  comments} | mvn=$m go=$g"
done
exit $rc
