new script for building
This commit is contained in:
parent
8fb1b20ec9
commit
9ebbf6aace
3 changed files with 149 additions and 1 deletions
|
|
@ -6,7 +6,9 @@
|
|||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "turbo run dev",
|
||||
"build": "turbo run build",
|
||||
"build": "powershell ./scripts/build-all.ps1",
|
||||
"build:all:clean": "powershell ./scripts/build-all.ps1 -Clean",
|
||||
"build:all:verbose": "powershell ./scripts/build-all.ps1 -Verbose",
|
||||
"build:libs": "powershell ./scripts/build-libs.ps1",
|
||||
"test": "turbo run test",
|
||||
"test:watch": "bun test --watch",
|
||||
|
|
|
|||
40
scripts/build-all.bat
Normal file
40
scripts/build-all.bat
Normal 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
106
scripts/build-all.ps1
Normal 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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue