====== Release-Prozess ======
Anleitung zur Veröffentlichung neuer Versionen der WvdS FPC VSCode Extensions.
===== Versionierung =====
==== Semantic Versioning ====
MAJOR.MINOR.PATCH
│ │ └── Bug Fixes
│ └── Neue Features (abwärtskompatibel)
└── Breaking Changes
Aktuelle Version: **0.1.0** (Pre-Release / Entwicklung)
===== Release-Checkliste =====
PRE-RELEASE:
[ ] Zero errors, zero warnings, zero hints (ci-build.ps1 -Debug -Release)
[ ] Alle Tests bestanden (ci-build.ps1 -Test)
[ ] Dokumentation aktualisiert (DokuWiki)
[ ] Version in allen package.json aktualisiert (SM, PAS2JS, ISS, Tools)
BUILD:
[ ] Release-Build: ci-build.ps1 -Release
[ ] VSIX-Pakete: ci-build.ps1 -Vsix
[ ] Pakete lokal installiert und getestet
PUBLISH:
[ ] Git Tag erstellt
[ ] VSIX-Dateien archiviert
[ ] Marketplace Publishing (wenn bereit)
POST-RELEASE:
[ ] Version bump für nächste Entwicklung
===== Build erstellen =====
==== Vollständiger Release-Build ====
# Alle Extensions: Debug + Release + Test + VSIX + Archiv
powershell -ExecutionPolicy Bypass -File vsce/ci-build.ps1 -Nightly
# Ergebnis:
# D:\Workspace\binaries\{extension}\vscode\Release\*.vsix
# D:\Workspace\binaries\nightly\{yyyy-MM-dd}\*.vsix
==== Einzelne Extension ====
# Nur Solution Manager
cd vsce\wvds-fpc-solution-manager
powershell -ExecutionPolicy Bypass -File build.ps1 -Vsix
===== Lokales Deployment =====
==== Schnell-Deploy (Entwicklung) ====
# Nach Debug-Build: extension.js in installierte Extension kopieren
$base = "$env:USERPROFILE\.vscode\extensions"
# Solution Manager
Copy-Item vsce\wvds-fpc-solution-manager\dist\extension.js `
"$base\wvds.wvds-fpc-solution-manager-0.1.0\dist\"
Copy-Item vsce\wvds-fpc-solution-manager\dist\extension.js.map `
"$base\wvds.wvds-fpc-solution-manager-0.1.0\dist\"
# PAS2JS Studio
Copy-Item vsce\wvds-fpc-pas2js-studio\dist\extension.js `
"$base\wvds.wvds-fpc-pas2js-studio-0.1.0\dist\"
# ISS Designer
Copy-Item vsce\wvds-fpc-iss-designer\dist\extension.js `
"$base\wvds.wvds-fpc-iss-designer-0.1.0\dist\"
# Dann: VSCode → Ctrl+Shift+P → "Developer: Reload Window"
==== VSIX installieren ====
# VSIX direkt in VSCode installieren
code --install-extension D:\Workspace\binaries\wvds-fpc-solution-manager\vscode\Release\*.vsix
===== Nightly-Archiv =====
Der CI-Orchestrator archiviert VSIX-Dateien automatisch:
D:\Workspace\binaries\nightly\
├── 2026-02-28\
│ ├── Debug-wvds-fpc-solution-manager-0.1.0.vsix
│ ├── Release-wvds-fpc-solution-manager-0.1.0.vsix
│ ├── Debug-wvds-fpc-pas2js-studio-0.1.0.vsix
│ └── ...
├── 2026-02-27\
└── ...
Archive älter als 30 Tage werden automatisch gelöscht (''-KeepDays'').
===== Marketplace Publishing =====
Noch nicht aktiv — Extensions sind in Pre-Release (0.1.0).
==== Voraussetzungen ====
* ''vsce'' installiert: ''npm install -g @vscode/vsce''
* Personal Access Token (PAT) mit Marketplace-Scope
* Publisher-Account ''wvds'' registriert
==== Veröffentlichen ====
# Einzelne Extension
cd vsce\wvds-fpc-solution-manager
npx @vscode/vsce publish -p $env:VSCE_PAT
# Alle VSIX aus Nightly
$nightlyDir = "D:\Workspace\binaries\nightly\$(Get-Date -Format 'yyyy-MM-dd')"
Get-ChildItem "$nightlyDir\Release-*.vsix" | ForEach-Object {
npx @vscode/vsce publish --packagePath $_.FullName -p $env:VSCE_PAT
}
===== Extensions und Package-Namen =====
^ Extension ^ Package-Name ^ Publisher ^
| Solution Manager | ''wvds.wvds-fpc-solution-manager'' | wvds |
| PAS2JS Studio | ''wvds.wvds-fpc-pas2js-studio'' | wvds |
| ISS Designer | ''wvds.wvds-fpc-iss-designer'' | wvds |
| FPC Tools (Pack) | ''wvds.wvds-fpc-tools'' | wvds |
===== Siehe auch =====
* [[.:build-pipeline|Build-Pipeline]]
* [[.:testing|Testing]]
* [[.:umgebung|Entwicklungsumgebung]]