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