#!/bin/bash SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) PROJECT_DIR=$(cd "$SCRIPT_DIR/.." && pwd) # Spinner function spinner() { local pid=$1 local delay=0.1 local spinstr='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏' while ps -p $pid > /dev/null 2>&1; do local temp=${spinstr#?} printf " [%c] " "$spinstr" local spinstr=$temp${spinstr%"$temp"} sleep $delay printf "\b\b\b\b\b\b" done printf " \b\b\b\b" } echo "Building Hero Supervisor Workspace" echo "" # Build core and client printf "📦 Core & Client... " cd "$PROJECT_DIR" if RUSTFLAGS="-A warnings" cargo build --release --workspace > /tmp/supervisor-build-core.log 2>&1 & spinner $!; wait $!; then echo "✅" else echo "❌" echo " Error: Build failed. Run 'cd $PROJECT_DIR && cargo build --release --workspace' for details" exit 1 fi # # Build UI # printf "📦 UI (WASM)... " # cd "$PROJECT_DIR/ui" # if ! command -v trunk &> /dev/null; then # echo "⚠️ (trunk not installed)" # echo " Install with: cargo install trunk" # else # if trunk build --release > /tmp/supervisor-build-ui.log 2>&1 & spinner $!; wait $!; then # echo "✅" # else # echo "❌" # echo " Error: Build failed. Run 'cd $PROJECT_DIR/ui && trunk build --release' for details" # exit 1 # fi # fi echo "" echo "✅ All builds completed"