Files
auto-pickup-v2/build.sh
T

52 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "============================================"
echo " PickupAuto Build Script (HTTP mode)"
echo "============================================"
echo
# Check dependencies
command -v python3 >/dev/null 2>&1 || { echo "[ERROR] Python 3.10+ required"; exit 1; }
command -v node >/dev/null 2>&1 || { echo "[ERROR] Node.js 18+ required"; exit 1; }
command -v npm >/dev/null 2>&1 || { echo "[ERROR] npm required"; exit 1; }
# Check uv
if ! command -v uv &>/dev/null; then
echo "[INFO] Installing uv..."
pip install uv
fi
echo "[1/4] Installing Python dependencies..."
uv sync
echo "[2/4] Installing token bridge dependencies..."
cd token_bridge
npm install
cd ..
echo "[3/4] Cleaning old build..."
rm -rf dist build
echo "[4/4] Building with PyInstaller..."
uv run pyinstaller \
--onefile \
--windowed \
--name "PickupAuto" \
--add-data "config.json:." \
--add-data "pickup.ico:." \
--add-data "token_bridge:token_bridge" \
--hidden-import=openpyxl \
--hidden-import=requests \
main.py
echo
echo "============================================"
echo " Build complete!"
echo " Output: dist/PickupAuto"
echo
echo " Requirements for end users:"
echo " - Node.js 18+ (for security token computation)"
echo " - Access to internal network (10.4.188.1)"
echo "============================================"