54 lines
2.3 KiB
PowerShell
54 lines
2.3 KiB
PowerShell
# ============================================================
|
|
# Omika — Validation Phase 5 (poste développeur, 100 % Windows)
|
|
# ============================================================
|
|
# N'exécute QUE les projets nécessaires — jamais de build solution
|
|
# complet (évite NETSDK1139 android/ios, hors périmètre §7).
|
|
#
|
|
# Usage :
|
|
# .\scripts\validate-phase5-dev.ps1 # build parallèle standard
|
|
# .\scripts\validate-phase5-dev.ps1 -SingleNode # force -m:1 (CI / sandbox sans nœuds MSBuild parallèles)
|
|
#
|
|
# NB : AVALONIA_TELEMETRY_OPTOUT=1 désactive la télémétrie build Avalonia
|
|
# (requis dans certains environnements restreints ; sans effet sinon).
|
|
|
|
param(
|
|
[switch]$SingleNode
|
|
)
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
$env:AVALONIA_TELEMETRY_OPTOUT = '1'
|
|
|
|
$extra = @()
|
|
if ($SingleNode) { $extra = @('-m:1') }
|
|
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
|
|
# Gate 1 + Gate 2 (§8) : adapter OpenTelemetry, API, Worker
|
|
$steps = @(
|
|
@('build', "$root\src\Omika.Observability.External\Omika.Observability.External.csproj", '-c', 'Debug'),
|
|
@('build', "$root\src\Omika.Api\Omika.Api.csproj", '-c', 'Debug'),
|
|
@('build', "$root\src\Omika.Worker\Omika.Worker.csproj", '-c', 'Debug'),
|
|
# Gate 3 (§63) : tests Observability verts
|
|
@('test', "$root\tests\Omika.Tests\Omika.Tests.csproj", '-c', 'Debug', '--filter', 'FullyQualifiedName~Observability'),
|
|
# Diagnostic Center (Phase 5, §50)
|
|
@('build', "$root\src\Omika.Diagnostics.Core\Omika.Diagnostics.Core.csproj", '-c', 'Debug'),
|
|
@('build', "$root\src\Omika.Diagnostics.Data\Omika.Diagnostics.Data.csproj", '-c', 'Debug'),
|
|
@('build', "$root\src\Omika.Diagnostics.Worker\Omika.Diagnostics.Worker.csproj", '-c', 'Debug'),
|
|
@('build', "$root\src\Omika.Diagnostics.Web\Omika.Diagnostics.Web.csproj", '-c', 'Debug'),
|
|
# Tests Diagnostic Center SANS PostgreSQL réel (§51)
|
|
@('test', "$root\tests\Omika.Diagnostics.Tests\Omika.Diagnostics.Tests.csproj", '-c', 'Debug')
|
|
)
|
|
|
|
foreach ($step in $steps) {
|
|
$cmdArgs = $step + $extra
|
|
Write-Host "> dotnet $($cmdArgs -join ' ')" -ForegroundColor Cyan
|
|
& dotnet $cmdArgs
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "ÉCHEC : dotnet $($cmdArgs -join ' ') (exit $LASTEXITCODE)"
|
|
exit $LASTEXITCODE
|
|
}
|
|
}
|
|
|
|
Write-Host ''
|
|
Write-Host 'PHASE 5 — VALIDATION OK' -ForegroundColor Green
|