47 lines
1.2 KiB
Bash
Executable file
47 lines
1.2 KiB
Bash
Executable file
#!/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=\"<your-api-key>\""
|
|
echo " export AMO_JWT_SECRET=\"<your-api-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"
|