#!/usr/bin/env bash set -euo pipefail ROOT=$(cd "$(dirname "$0")/.." && pwd) PACKAGE_SCRIPT="$ROOT/Scripts/package_app.sh" RELEASE_SCRIPT="$ROOT/Scripts/sign-and-notarize.sh" FUNCTIONS_FILE=$(mktemp "${TMPDIR:-/tmp}/codexbar-package-signing-functions.XXXXXX") trap 'rm -f "$FUNCTIONS_FILE"' EXIT python3 - "$PACKAGE_SCRIPT" "$FUNCTIONS_FILE" <<'PY' import sys from pathlib import Path script = Path(sys.argv[1]).read_text() start = script.index('resolve_package_signing_mode() {') end = script.index('\n}\n', start) + 3 Path(sys.argv[2]).write_text(script[start:end]) PY source "$FUNCTIONS_FILE" unset CODEXBAR_SIGNING SIGNING_MODE= resolve_package_signing_mode [[ "$SIGNING_MODE" == "adhoc" ]] CODEXBAR_SIGNING=identity resolve_package_signing_mode [[ "$SIGNING_MODE" == "identity" ]] CODEXBAR_SIGNING=invalid if resolve_package_signing_mode 2>/dev/null; then echo "Invalid package signing mode unexpectedly succeeded" >&2 exit 1 fi grep -Fq 'CODEXBAR_SIGNING=identity ./Scripts/package_app.sh release' "$RELEASE_SCRIPT" echo "Package signing tests passed."