#!/usr/bin/env bash # Writes a release manifest from built archives, one platform per line. # Usage: install/manifest.sh -.tar.gz or .zip> set -euo pipefail VERSION=$1 DIR=$2 BASE=${ONSET_DOWNLOADS:-https://downloads.coline.dev/onset} printf '{\n "version": "%s",\n "platforms": {\n' "$VERSION" first=1 for f in "$DIR"/onset-"$VERSION"-*.tar.gz "$DIR"/onset-"$VERSION"-*.zip; do [ -e "$f" ] || continue platform=$(basename "$f") platform=${platform%.tar.gz} platform=${platform%.zip} platform=${platform#onset-"$VERSION"-} sha=$(sha256sum "$f" | cut -d' ' -f1) [ "$first" = 1 ] || printf ',\n' first=0 printf ' "%s": {"url": "%s/%s/%s", "sha256": "%s"}' "$platform" "$BASE" "$VERSION" "$(basename "$f")" "$sha" done printf '\n }\n}\n'