Premiere commit - Omika

This commit is contained in:
2026-10-23 18:46:50 +02:00
commit 8ea76c1b24
2155 changed files with 984301 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
<#
OMIKA - Compilation de l'application (mode test local)
=======================================================
Compile les 3 composants de l'application :
1. Omika.Api (API)
2. Omika.Worker (synchronisation)
3. Omika.App.Desktop (application de bureau Avalonia)
Par defaut en Debug. Avant de compiler, arrete les processus Omika en
cours (ils verrouillent les DLL de sortie -> erreur MSB3027) sauf si
-NoStop est passe.
Utilisation :
powershell -NoProfile -ExecutionPolicy Bypass -File .\docs\build_omika_test.ps1
.\docs\build_omika_test.ps1 -Release # compiler en Release
.\docs\build_omika_test.ps1 -NoStop # ne pas arreter les processus
Pour lancer apres compilation :
.\docs\start_omika_test.ps1 -NoBuild
#>
[CmdletBinding()]
param(
[switch]$Release,
[switch]$NoStop
)
$ErrorActionPreference = 'Stop'
# Racine du depot = parent du dossier docs/ contenant ce script.
$root = Split-Path -Parent $PSScriptRoot
$config = if ($Release) { 'Release' } else { 'Debug' }
function Banner([string]$Text) {
Write-Host ''
Write-Host '============================================================' -ForegroundColor Cyan
Write-Host " $Text" -ForegroundColor Cyan
Write-Host '============================================================' -ForegroundColor Cyan
}
Banner "OMIKA - Compilation ($config)"
# ---------- Arret des processus en cours (liberation des DLL) ----------
if ($NoStop) {
Write-Host ''
Write-Host 'Arret des processus ignore (-NoStop).' -ForegroundColor DarkGray
Write-Host ' Attention : si l''application est en cours d''execution, la compilation echouera (DLL verrouillees).' -ForegroundColor Yellow
}
else {
Write-Host ''
Write-Host 'Arret des processus Omika en cours (pour liberer les DLL)...' -ForegroundColor Yellow
$desktop = Get-Process -Name 'Omika.App.Desktop' -ErrorAction SilentlyContinue
if ($desktop) {
$desktop | Stop-Process -Force -ErrorAction SilentlyContinue
Write-Host ' Application de bureau arretee.' -ForegroundColor Green
}
$dotnetProcs = Get-CimInstance Win32_Process -Filter "Name='dotnet.exe'" -ErrorAction SilentlyContinue |
Where-Object { $_.CommandLine -like '*Omika.Api*' -or $_.CommandLine -like '*Omika.Worker*' }
if ($dotnetProcs) {
foreach ($proc in $dotnetProcs) {
Stop-Process -Id $proc.ProcessId -Force -ErrorAction SilentlyContinue
Write-Host " dotnet (PID $($proc.ProcessId)) arrete." -ForegroundColor Green
}
}
if (-not $desktop -and -not $dotnetProcs) {
Write-Host ' Aucun processus Omika en cours.' -ForegroundColor DarkGray
}
}
# ---------- Compilation ----------
$projects = @(
(Join-Path $root 'src\Omika.Api\Omika.Api.csproj'),
(Join-Path $root 'src\Omika.Worker\Omika.Worker.csproj'),
(Join-Path $root 'src\Omika.App.Desktop\Omika.App.Desktop.csproj')
)
$failed = $false
foreach ($project in $projects) {
Write-Host ''
Write-Host " > $project ($config)" -ForegroundColor Yellow
# CONTOURNEMENT TEMPORAIRE : --no-restore -m:1 evite l'echec MSB4276 lie au
# workload Android/iOS corrompu de cette machine (resolution SDK parallele).
# A retirer apres 'dotnet workload repair'.
dotnet build $project -c $config --nologo --no-restore -m:1
if ($LASTEXITCODE -ne 0) {
Write-Host " [ERREUR] Echec de compilation : $project" -ForegroundColor Red
$failed = $true
break
}
}
# ---------- Resultat ----------
Banner 'Resultat'
if ($failed) {
Write-Host ' ECHEC de la compilation.' -ForegroundColor Red
exit 1
}
Write-Host " Compilation ($config) terminee avec succes." -ForegroundColor Green
Write-Host ''
Write-Host ' Binaires generes :' -ForegroundColor Cyan
Write-Host " API : src\Omika.Api\bin\$config\net10.0\Omika.Api.dll" -ForegroundColor Cyan
Write-Host " Worker : src\Omika.Worker\bin\$config\net10.0\Omika.Worker.dll" -ForegroundColor Cyan
Write-Host " Desktop : src\Omika.App.Desktop\bin\$config\net10.0\Omika.App.Desktop.exe" -ForegroundColor Cyan
Write-Host ''
Write-Host ' Pour lancer : .\docs\start_omika_test.ps1 -NoBuild' -ForegroundColor Cyan