alisharelink/build.sh

45 lines
1.0 KiB
Bash

#!/bin/zsh
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
DIST_DIR="$ROOT_DIR/dist"
mkdir -p "$DIST_DIR"
# Clean old artifacts
rm -f "$DIST_DIR"/*.zip 2>/dev/null || true
# Copy source to temp dirs for packaging
WORK_CHROME=$(mktemp -d)
WORK_FIREFOX=$(mktemp -d)
cleanup() {
rm -rf "$WORK_CHROME" "$WORK_FIREFOX" 2>/dev/null || true
}
trap cleanup EXIT
# Common files
for f in manifest.json popup.html popup.js background.js; do
cp "$ROOT_DIR/$f" "$WORK_CHROME/"
cp "$ROOT_DIR/$f" "$WORK_FIREFOX/"
done
# Ensure Firefox manifest has browser_specific_settings with a stable id
# If already present, keep as-is.
# Nothing to change for Chrome; MV3 is fine.
pushd "$WORK_CHROME" >/dev/null
zip -r "$DIST_DIR/ali-sharelink-chrome.zip" . >/dev/null
popd >/dev/null
pushd "$WORK_FIREFOX" >/dev/null
zip -r "$DIST_DIR/ali-sharelink-firefox.zip" . >/dev/null
popd >/dev/null
echo "Build complete:"
echo " Chrome: $DIST_DIR/ali-sharelink-chrome.zip"
echo " Firefox: $DIST_DIR/ali-sharelink-firefox.zip"