# ============================================================ # 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