#!/bin/zsh set -euo pipefail PROJECT_DIR="${0:A:h:h}" ARCHIVES_DIR="${1:-$PROJECT_DIR/dist/updates}" DOWNLOAD_PREFIX="${PUTER_UPDATE_DOWNLOAD_PREFIX:-}" PRIVATE_KEY="${PUTER_SPARKLE_PRIVATE_KEY:-}" GENERATOR="$PROJECT_DIR/.build/artifacts/sparkle/Sparkle/bin/generate_appcast" if [[ -z "$DOWNLOAD_PREFIX" || -z "$PRIVATE_KEY" ]]; then print -u2 "Set PUTER_UPDATE_DOWNLOAD_PREFIX and PUTER_SPARKLE_PRIVATE_KEY." exit 2 fi if [[ ! -x "$GENERATOR" ]]; then swift package resolve --package-path "$PROJECT_DIR" fi mkdir -p "$ARCHIVES_DIR" print -rn -- "$PRIVATE_KEY" | "$GENERATOR" \ --ed-key-file - \ --download-url-prefix "$DOWNLOAD_PREFIX" \ "$ARCHIVES_DIR" print "Generated $ARCHIVES_DIR/appcast.xml"