#!/usr/bin/env bash set -euo pipefail # Prole debug script — runs a build with logs preserved and prints the most relevant tails # Usage: # ./debug.sh # build for host arch and print log tails # ./debug.sh --universal # build universal and print log tails # # Notes: # - This script forces KEEP_DEPS=1 so dependency artifacts and logs are retained. # - It will not stop on build failure; it captures the exit code and prints logs. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" ROOT_DIR="$SCRIPT_DIR" BUILD_DIR="$ROOT_DIR/.build-cli" DEPS_OUT_DIR="$BUILD_DIR/deps/out" DEPS_LOGS_DIR="$DEPS_OUT_DIR/logs" APP_LOGS_DIR="$BUILD_DIR/logs" cmd="build" if [[ ${1:-} == "--universal" ]]; then cmd="build-universal" shift || true fi echo "[debug] Xcode:" /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version || xcodebuild -version || true echo echo "[debug] Cleaning prior artifacts (but will preserve new deps via KEEP_DEPS=1)" KEEP_DEPS=1 "$SCRIPT_DIR/build.sh" clean || true echo "[debug] Starting ${cmd} with KEEP_DEPS=1" set +e KEEP_DEPS=1 "$SCRIPT_DIR/build.sh" "$cmd" "$@" status=$? set -e echo "[debug] build.sh finished with status: $status" echo "[debug] ===== Dependency logs (RoyalVNCKit) =====" for f in \ "$DEPS_LOGS_DIR/royalvnc-archive-arm64.log" \ "$DEPS_LOGS_DIR/royalvnc-archive-x86_64.log" \ "$DEPS_LOGS_DIR/royalvnc-create-xcframework.log" \ ; do if [[ -f "$f" ]]; then echo "----- tail: ${f} -----" tail -n 200 "$f" || true echo fi done echo "[debug] ===== App compile/link logs =====" for f in \ "$APP_LOGS_DIR/swiftc-arm64.log" \ "$APP_LOGS_DIR/swiftc-x86_64.log" \ ; do if [[ -f "$f" ]]; then echo "----- tail: ${f} -----" tail -n 200 "$f" || true echo fi done echo "[debug] ===== Summary =====" if [[ -d "$DEPS_LOGS_DIR" ]]; then echo "Dependency logs directory: $DEPS_LOGS_DIR" fi if [[ -d "$APP_LOGS_DIR" ]]; then echo "App logs directory: $APP_LOGS_DIR" fi echo "build.sh exit status: $status (0 means success)" exit $status