23 lines
726 B
Bash
Executable File
23 lines
726 B
Bash
Executable File
#!/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"
|