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",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "turbo run dev",
|
"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",
|
"build:libs": "powershell ./scripts/build-libs.ps1",
|
||||||
"test": "turbo run test",
|
"test": "turbo run test",
|
||||||
"test:watch": "bun test --watch",
|
"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