51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
OUT_ROOT="dist/release"
|
|
WIN_OUT="${OUT_ROOT}/_win_portable"
|
|
MAC_OUT="${OUT_ROOT}/_mac"
|
|
COMBINED_OUT="${OUT_ROOT}/combined"
|
|
|
|
echo "[build-combined] Cleaning output folders..."
|
|
rm -rf "$WIN_OUT" "$MAC_OUT" "$COMBINED_OUT"
|
|
mkdir -p "$WIN_OUT" "$MAC_OUT" "$COMBINED_OUT"
|
|
|
|
echo "[build-combined] Building renderer..."
|
|
NODE_OPTIONS=--no-warnings npx vite build
|
|
|
|
echo "[build-combined] Building Windows x64 portable..."
|
|
NODE_OPTIONS=--no-warnings npx electron-builder \
|
|
--win --x64 \
|
|
--config.win.target=portable \
|
|
--config.directories.output="$WIN_OUT"
|
|
|
|
echo "[build-combined] Packing Windows portable zip..."
|
|
zip -j -o "${WIN_OUT}/Telegram-Invite-Automation-win-portable-x64.zip" \
|
|
"${WIN_OUT}"/Telegram-Invite-Automation-win-x64-*.exe
|
|
|
|
echo "[build-combined] Building macOS..."
|
|
NODE_OPTIONS=--no-warnings npx electron-builder \
|
|
--mac \
|
|
--config.directories.output="$MAC_OUT"
|
|
|
|
echo "[build-combined] Collecting artifacts into ${COMBINED_OUT}..."
|
|
find "$WIN_OUT" -maxdepth 1 -type f \( \
|
|
-name "*.exe" -o \
|
|
-name "*.zip" -o \
|
|
-name "*.blockmap" -o \
|
|
-name "*.yml" \
|
|
\) -exec cp {} "$COMBINED_OUT"/ \;
|
|
|
|
find "$MAC_OUT" -maxdepth 1 -type f \( \
|
|
-name "*.dmg" -o \
|
|
-name "*.zip" -o \
|
|
-name "*.blockmap" -o \
|
|
-name "*.yml" \
|
|
\) -exec cp {} "$COMBINED_OUT"/ \;
|
|
|
|
echo "[build-combined] Done."
|
|
echo "[build-combined] Artifacts: ${COMBINED_OUT}"
|