#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SOURCE_DIR="$ROOT_DIR/dist/firefox" SIGNED_DIR="$ROOT_DIR/dist/signed" if [ -f "$ROOT_DIR/.env" ]; then set -a # shellcheck disable=SC1091 . "$ROOT_DIR/.env" set +a fi if [ -z "${AMO_JWT_ISSUER:-}" ] || [ -z "${AMO_JWT_SECRET:-}" ]; then echo "AMO_JWT_ISSUER / AMO_JWT_SECRET 값이 필요합니다." echo "(.env 또는 환경변수에서 읽습니다)" echo "예:" echo " export AMO_JWT_ISSUER=\"\"" echo " export AMO_JWT_SECRET=\"\"" exit 1 fi "$ROOT_DIR/build-firefox.sh" mkdir -p "$SIGNED_DIR" if command -v web-ext >/dev/null 2>&1; then web-ext sign \ --source-dir "$SOURCE_DIR" \ --artifacts-dir "$SIGNED_DIR" \ --api-key "$AMO_JWT_ISSUER" \ --api-secret "$AMO_JWT_SECRET" \ --channel unlisted elif command -v npx >/dev/null 2>&1; then npx --yes web-ext sign \ --source-dir "$SOURCE_DIR" \ --artifacts-dir "$SIGNED_DIR" \ --api-key "$AMO_JWT_ISSUER" \ --api-secret "$AMO_JWT_SECRET" \ --channel unlisted else echo "web-ext 또는 npx가 필요합니다." echo "Nix 사용 시: nix develop -c ./sign-firefox.sh" exit 1 fi echo "Signed XPI generated under: $SIGNED_DIR"