added sh versions of the scripts

This commit is contained in:
Boki 2025-06-10 20:05:03 -04:00
parent d6ca9fe93c
commit 746b84883e
8 changed files with 865 additions and 108 deletions

150
scripts/build-all.sh Executable file
View file

@ -0,0 +1,150 @@
#!/bin/bash
# Build All Script for Stock Bot
# Builds libraries first, then apps with Turbo, then dashboard with Angular CLI
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
GRAY='\033[0;37m'
NC='\033[0m' # No Color
# Default options
CLEAN=false
VERBOSE=false
# Parse command line arguments
while [[ $# -gt 0 ]]; do
case $1 in
--clean|-c)
CLEAN=true
shift
;;
--verbose|-v)
VERBOSE=true
shift
;;
--help|-h)
echo "Usage: $0 [--clean] [--verbose]"
echo " --clean, -c Clean previous builds before building"
echo " --verbose, -v Show verbose output"
echo " --help, -h Show this help message"
exit 0
;;
*)
echo "Unknown option: $1"
echo "Use --help for usage information"
exit 1
;;
esac
done
echo -e "${CYAN}🚀 Starting complete build process...${NC}"
# Store original location
ORIGINAL_DIR=$(pwd)
cd "/home/boki/stock-bot"
cleanup() {
cd "$ORIGINAL_DIR"
}
# Set up cleanup on exit
trap cleanup EXIT
# Step 1: Clean if requested
if [ "$CLEAN" = true ]; then
echo -e "${YELLOW}🧹 Cleaning previous builds...${NC}"
./scripts/clean.sh --dist
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Clean failed${NC}"
exit 1
fi
fi
# Step 2: Build libraries first
echo -e "${GREEN}📚 Building libraries...${NC}"
./scripts/build-libs.sh
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Library build failed${NC}"
exit 1
fi
# Step 3: Build apps with Turbo (excluding dashboard)
echo -e "${GREEN}🏗️ Building applications with Turbo...${NC}"
# Get list of apps excluding dashboard
if [ -d "apps" ]; then
app_dirs=$(find apps -maxdepth 1 -type d -name "*" ! -name "dashboard" ! -name "apps" | sort)
if [ -n "$app_dirs" ]; then
# Build each app individually to avoid filter syntax issues
for app_dir in $app_dirs; do
app_name=$(basename "$app_dir")
app_path="./apps/$app_name"
echo -e "${CYAN} Building $app_name...${NC}"
turbo_cmd="turbo run build --filter=$app_path"
if [ "$VERBOSE" = true ]; then
echo -e "${GRAY} Running: $turbo_cmd${NC}"
fi
eval $turbo_cmd
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Failed to build app: $app_name${NC}"
exit 1
fi
done
app_names=$(echo "$app_dirs" | xargs -n1 basename | tr '\n' ', ' | sed 's/,$//')
echo -e "${GREEN}✅ Apps built successfully: $app_names${NC}"
else
echo -e "${YELLOW} No non-dashboard apps found to build with Turbo${NC}"
fi
fi
# Step 4: Build dashboard with Angular CLI
dashboard_path="apps/dashboard"
if [ -d "$dashboard_path" ]; then
echo -e "${GREEN}🎨 Building Angular dashboard...${NC}"
cd "$dashboard_path"
# Check if ng is available
if ! command -v ng &> /dev/null; then
echo -e "${RED}❌ Angular CLI not found. Installing...${NC}"
npm install -g @angular/cli
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Failed to install Angular CLI${NC}"
exit 1
fi
fi
# Build dashboard
ng build --configuration production
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Dashboard build failed${NC}"
exit 1
fi
echo -e "${GREEN}✅ Dashboard built successfully${NC}"
cd "$ORIGINAL_DIR"
else
echo -e "${YELLOW}⚠️ Dashboard not found at $dashboard_path${NC}"
fi
echo -e "${GREEN}🎉 Complete build finished successfully!${NC}"
echo ""
echo -e "${CYAN}Build Summary:${NC}"
echo -e "${GREEN} ✅ Libraries built${NC}"
if [ -n "$app_dirs" ]; then
echo -e "${GREEN} ✅ Apps built: $app_names${NC}"
fi
if [ -d "apps/dashboard" ]; then
echo -e "${GREEN} ✅ Dashboard built${NC}"
fi