new script for building

This commit is contained in:
Bojan Kucera 2025-06-09 20:46:49 -04:00
parent 8fb1b20ec9
commit 9ebbf6aace
3 changed files with 149 additions and 1 deletions

40
scripts/build-all.bat Normal file
View file

@ -0,0 +1,40 @@
@echo off
REM Build All Script for Stock Bot (Batch version)
REM Builds libraries first, then apps with Turbo, then dashboard with Angular CLI
echo 🚀 Starting complete build process...
REM Store original directory
set "ORIGINAL_DIR=%CD%"
cd /d "g:\repos\stock-bot"
REM Step 1: Build libraries first
echo 📚 Building libraries...
call powershell ./scripts/build-libs.ps1
if %ERRORLEVEL% NEQ 0 (
echo ❌ Library build failed
cd /d "%ORIGINAL_DIR%"
exit /b 1
)
REM Step 2: Build apps with Turbo (excluding dashboard)
echo 🏗️ Building applications with Turbo...
call turbo run build --filter="./apps/data-service" --filter="./apps/execution-service" --filter="./apps/portfolio-service" --filter="./apps/processing-service" --filter="./apps/strategy-service"
if %ERRORLEVEL% NEQ 0 (
echo ❌ Turbo app build failed
cd /d "%ORIGINAL_DIR%"
exit /b 1
)
REM Step 3: Build dashboard with Angular CLI
echo 🎨 Building Angular dashboard...
cd apps\dashboard
call ng build --configuration production
if %ERRORLEVEL% NEQ 0 (
echo ❌ Dashboard build failed
cd /d "%ORIGINAL_DIR%"
exit /b 1
)
cd /d "%ORIGINAL_DIR%"
echo 🎉 Complete build finished successfully!

106
scripts/build-all.ps1 Normal file
View file

@ -0,0 +1,106 @@
# Build All Script for Stock Bot
# Builds libraries first, then apps with Turbo, then dashboard with Angular CLI
param(
[switch]$Clean,
[switch]$Verbose
)
$ErrorActionPreference = "Stop"
Write-Host "🚀 Starting complete build process..." -ForegroundColor Cyan
# Store original location
$originalLocation = Get-Location
Set-Location "g:\repos\stock-bot"
try {
# Step 1: Clean if requested
if ($Clean) {
Write-Host "🧹 Cleaning previous builds..." -ForegroundColor Yellow
& powershell ./scripts/clean.ps1 -dist
if ($LASTEXITCODE -ne 0) {
throw "Clean failed"
}
}
# Step 2: Build libraries first
Write-Host "📚 Building libraries..." -ForegroundColor Green
& powershell ./scripts/build-libs.ps1
if ($LASTEXITCODE -ne 0) {
throw "Library build failed"
}
# Step 3: Build apps with Turbo (excluding dashboard)
Write-Host "🏗️ Building applications with Turbo..." -ForegroundColor Green
# Get list of apps excluding dashboard
$appDirs = Get-ChildItem -Path "apps" -Directory | Where-Object { $_.Name -ne "dashboard" }
$appFilters = $appDirs | ForEach-Object { "./apps/$($_.Name)" }
if ($appFilters.Count -gt 0) {
$filterArg = $appFilters -join " "
$turboCmd = "turbo run build --filter=`"$filterArg`""
if ($Verbose) {
Write-Host "Running: $turboCmd" -ForegroundColor DarkGray
}
Invoke-Expression $turboCmd
if ($LASTEXITCODE -ne 0) {
throw "Turbo app build failed"
}
Write-Host "✅ Apps built successfully: $($appDirs.Name -join ', ')" -ForegroundColor Green
} else {
Write-Host " No non-dashboard apps found to build with Turbo" -ForegroundColor Yellow
}
# Step 4: Build dashboard with Angular CLI
$dashboardPath = "apps/dashboard"
if (Test-Path $dashboardPath) {
Write-Host "🎨 Building Angular dashboard..." -ForegroundColor Green
Set-Location $dashboardPath
# Check if ng is available
try {
ng version | Out-Null
} catch {
Write-Host "❌ Angular CLI not found. Installing..." -ForegroundColor Red
npm install -g @angular/cli
if ($LASTEXITCODE -ne 0) {
throw "Failed to install Angular CLI"
}
}
# Build dashboard
ng build --configuration production
if ($LASTEXITCODE -ne 0) {
throw "Dashboard build failed"
}
Write-Host "✅ Dashboard built successfully" -ForegroundColor Green
Set-Location $originalLocation
} else {
Write-Host "⚠️ Dashboard not found at $dashboardPath" -ForegroundColor Yellow
}
Write-Host "🎉 Complete build finished successfully!" -ForegroundColor Green
Write-Host ""
Write-Host "Build Summary:" -ForegroundColor Cyan
Write-Host " ✅ Libraries built" -ForegroundColor Green
if ($appFilters.Count -gt 0) {
Write-Host " ✅ Apps built: $($appDirs.Name -join ', ')" -ForegroundColor Green
}
if (Test-Path "apps/dashboard") {
Write-Host " ✅ Dashboard built" -ForegroundColor Green
}
} catch {
Write-Host "❌ Build failed: $($_.Exception.Message)" -ForegroundColor Red
Set-Location $originalLocation
exit 1
} finally {
Set-Location $originalLocation
}