#!/bin/sh
# Usage: prepare.sh BASE_CHECKOUT HEAD_CHECKOUT SCRATCH_DIRECTORY
# Run vp i in both checkouts first. No source changes except synthetic version labels.
set -eu
base_checkout=$1
head_checkout=$2
scratch_dir=$3
(cd "$base_checkout/apps/server" && vp run build:bundle)
cp -R "$base_checkout/apps/server/dist" "$scratch_dir/old-bundle"
ln -s "$base_checkout/apps/server/node_modules" "$scratch_dir/old-bundle/node_modules"
for checkout in "$base_checkout" "$head_checkout"; do
  python3 - "$checkout/apps/server/package.json" <<'PY'
import json,pathlib,sys
p=pathlib.Path(sys.argv[1]);d=json.loads(p.read_text());d['version']='0.1.10';p.write_text(json.dumps(d,indent=2)+'\n')
PY
  (cd "$checkout/apps/server" && vp run build:bundle)
  git -C "$checkout" show HEAD:apps/server/package.json > "$checkout/apps/server/package.json"
done
python3 "$scratch_dir/driver.py" before "$base_checkout"
python3 "$scratch_dir/driver.py" after "$head_checkout"
