telegram-invite-automation/scripts/build-win-mac-combined.sh
2026-03-03 15:06:31 +04:00

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}"