cisd/docs/examples/upgrade-package/standard-app/build-package.sh
2026-04-07 09:45:27 +08:00

29 lines
754 B
Bash

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OUTPUT_PATH="${1:-${SCRIPT_DIR}/upgrade-package.zip}"
SIGNATURE_PATH="${SCRIPT_DIR}/signature.sig"
if [[ ! -f "${SIGNATURE_PATH}" ]]; then
echo "missing signature file: ${SIGNATURE_PATH}" >&2
echo "generate a real signature.sig for manifest.json before building the package" >&2
exit 1
fi
tmpdir="$(mktemp -d)"
trap 'rm -rf "${tmpdir}"' EXIT
cp "${SCRIPT_DIR}/manifest.json" "${tmpdir}/manifest.json"
cp "${SIGNATURE_PATH}" "${tmpdir}/signature.sig"
cp -R "${SCRIPT_DIR}/payload" "${tmpdir}/payload"
rm -f "${OUTPUT_PATH}"
(
cd "${tmpdir}"
zip -rq "${OUTPUT_PATH}" manifest.json signature.sig payload
)
echo "package built: ${OUTPUT_PATH}"