<# .SYNOPSIS Publiceert MijnBesluit.Uitroller (het venster op je eigen pc) naar D:\MijnBesluitTools\pc, met behoud van je eigen instellingen en geheimen. .DESCRIPTION D:\publish is van de uitrolPAKKETTEN (de zip's voor site/socketserver/apk) en blijft daarvoor gereserveerd. De uitroller zelf krijgt, net als RenH.Uitroller met D:\RenHTools, zijn eigen map: D:\MijnBesluitTools\pc\ - de exe en alles wat dotnet publish neerzet D:\MijnBesluitTools\uitroller.json - server, geheim, projectmap, testadres, enz. D:\MijnBesluitTools\uitroller.secrets.json - het Gitea-token (los bestand, buiten git) De twee bestanden hierboven staan een map BOVEN de exe, dus een publish (die alleen de pc-submap ververst) kan ze niet wissen - dat is precies waarom Instellingen.cs en Uitrollergeheimen.cs ze daar zoeken (net als RenH.Uitroller bij D:\RenHTools). .EXAMPLE cd D:\MijnBesluit .\tools\Uitroller-publiceren.ps1 #> [CmdletBinding()] param( [string] $Doel = 'D:\MijnBesluitTools' ) $ErrorActionPreference = 'Stop' $Projectmap = Split-Path $PSScriptRoot -Parent $Pcmap = Join-Path $Doel 'pc' New-Item -ItemType Directory -Force -Path $Doel | Out-Null New-Item -ItemType Directory -Force -Path $Pcmap | Out-Null Write-Host '' Write-Host "MijnBesluit.Uitroller -> $Pcmap" -ForegroundColor Cyan dotnet publish (Join-Path $Projectmap 'src\MijnBesluit.Uitroller') -c Release -o $Pcmap --nologo if ($LASTEXITCODE -ne 0) { throw 'Publiceren van MijnBesluit.Uitroller is mislukt.' } # uitroller.json en uitroller.secrets.json staan in $Doel zelf (een map boven de exe) en worden # door dotnet publish dus niet aangeraakt - alleen $Pcmap wordt ververst. Bestaat # uitroller.secrets.json daar nog nergens (eerste keer publiceren), dan hier een lege maar # geldige versie neerzetten, anders moet je 'm de eerste keer met de hand aanmaken voordat de # Gitea-knoppen iets kunnen. $geheimenPad = Join-Path $Doel 'uitroller.secrets.json' if (-not (Test-Path $geheimenPad)) { Set-Content -Path $geheimenPad -Value "{`n `"Gitea`": { `"Token`": `"`" }`n}`n" -NoNewline -Encoding UTF8 Write-Host " uitroller.secrets.json aangemaakt (leeg) - vul je Gitea-token in op:" -ForegroundColor Yellow Write-Host " $geheimenPad" -ForegroundColor Yellow } $instellingenPad = Join-Path $Doel 'uitroller.json' if (-not (Test-Path $instellingenPad)) { Write-Host " Let op: er staat nog geen uitroller.json in $Doel." -ForegroundColor Yellow Write-Host " Bij de eerste start kopieert het venster 'm zelf over vanuit $Pcmap." -ForegroundColor Yellow } Write-Host '' Write-Host 'Klaar.' -ForegroundColor Green Write-Host " $Pcmap\MijnBesluit.Uitroller.exe" Write-Host ''