Keep build_and_deploy.ps1 deploying to %LOCALAPPDATA%, document upstream cherry-picks

Cherry-picked commits from Julian Appel's dev/jappel branch changed the
default deploy target to $projectDir\dist\VersaPadViewer. Revert just
that to %LOCALAPPDATA%\VersaPadViewer, which is where the actually
installed/running instance on this machine lives -- switching would
orphan the existing install and any shortcuts pointing at it. Document
the cherry-pick provenance and what was deliberately left out
(.mcp.json's hardcoded path, the docs/ tree) in AGENTS.md.
This commit is contained in:
cjjohn 2026-08-14 23:55:41 +02:00
parent 02d6c0c5e9
commit 9f0ae12794
3 changed files with 24 additions and 3 deletions

View file

@ -133,6 +133,24 @@ Dokumentation und Verifikation unten für die Größeneinschätzung).
Namen jetzt immer aus der kombinierten JSON (`combined["profile_names"]` Namen jetzt immer aus der kombinierten JSON (`combined["profile_names"]`
bzw. `versapad_combined.read_profile_names()`), eine einzige Quelle der bzw. `versapad_combined.read_profile_names()`), eine einzige Quelle der
Wahrheit für alle Frontends. Wahrheit für alle Frontends.
- **Herkunft der drei Punkte oben + Tab-Umbenennen-Fix:** per Cherry-Pick aus
Julian Appels eigenem `dev/jappel`-Branch (`git.jappel.io/jappel/
VersaGUI-py`) übernommen, der sich zeitgleich mit unserem eigenen
COM-Port-Fix entwickelt hat (kein Fork-Sync-Automatismus -- manuell
gegengelesen und übernommen, siehe Sessionlog). **Eine Abweichung vom
Original:** dort landet der Build jetzt in `$projectDir\dist\
VersaPadViewer` statt `%LOCALAPPDATA%\VersaPadViewer` -- hier bewusst
NICHT übernommen, weil das die tatsächlich installierte/genutzte Instanz
wäre und bestehende Verknüpfungen sonst ins Leere zeigen würden.
`build_and_deploy.ps1` hier weiterhin `%LOCALAPPDATA%\VersaPadViewer`.
Bestehende `versapad_config_all.json` vom alten Desktop-Pfad wurde einmalig
nach `%LOCALAPPDATA%\VersaPadViewer\` migriert (kopiert, Original bleibt).
Nicht übernommen: die `.mcp.json`-Registrierung (hartkodierter Pfad auf
Julians Maschine, `C:\Users\Julian\...`) -- dafür stattdessen ein Issue in
seinem Repo (git.jappel.io/jappel/VersaGUI-py) angelegt, damit relative/
portable Pfadauflösung dort nachgezogen werden kann; die drei
`docs/*.md`-Referenzdateien (unser eigener Dokumentationsstandard hält für
dieses Tool bewusst bei README + AGENTS.md ohne vollen `docs/`-Baum).
- **Bug behoben 2026-08-08:** `server.py` (`vp.load_profile()`) und - **Bug behoben 2026-08-08:** `server.py` (`vp.load_profile()`) und
`desktop_viewer.py` (`_current_profile_view()`) lasen im Nur-Lese-Modus `desktop_viewer.py` (`_current_profile_view()`) lasen im Nur-Lese-Modus
hart von den Desktop-JSONs -- fehlten sie (z.B. User loescht sie), gab es hart von den Desktop-JSONs -- fehlten sie (z.B. User loescht sie), gab es

View file

@ -75,7 +75,7 @@ Maschine/Python-Version unterschiedlich). Selbst bauen:
Das Skript installiert/aktualisiert selbst alle nötigen Pakete aus Das Skript installiert/aktualisiert selbst alle nötigen Pakete aus
`requirements.txt` (kein manuelles `pip install` vorher nötig), baut dann `requirements.txt` (kein manuelles `pip install` vorher nötig), baut dann
mit PyInstaller (`--onedir --windowed`, eigenes Icon) und kopiert das mit PyInstaller (`--onedir --windowed`, eigenes Icon) und kopiert das
Ergebnis nach `dist\VersaPadViewer\VersaPadViewer.exe` im Projektordner. Ergebnis nach `%LOCALAPPDATA%\VersaPadViewer\VersaPadViewer.exe`.
Bricht ein Schritt ab (fehlendes Python, PyInstaller-Fehler, ...), zeigt das Bricht ein Schritt ab (fehlendes Python, PyInstaller-Fehler, ...), zeigt das
Skript eine klare Fehlermeldung und wartet auf einen Tastendruck, statt sich Skript eine klare Fehlermeldung und wartet auf einen Tastendruck, statt sich
bei Doppelklick im Explorer kommentarlos zu schließen (`-NoPause` bei Doppelklick im Explorer kommentarlos zu schließen (`-NoPause`

View file

@ -1,5 +1,8 @@
# Baut VersaPadViewer.exe (PyInstaller --onedir) und kopiert das Ergebnis # Baut VersaPadViewer.exe (PyInstaller --onedir) und kopiert das Ergebnis
# nach $projectDir\dist\VersaPadViewer. # nach %LOCALAPPDATA%\VersaPadViewer (nicht $projectDir\dist wie im
# jappel-Upstream -- hier bereits die tatsaechlich installierte/genutzte
# Instanz, siehe Speicher-Notiz "VersaPad Viewer Tool"; ein Pfadwechsel
# wuerde bestehende Verknuepfungen/Autostart-Eintraege brechen).
# #
# WICHTIG: Sowohl Bauen als auch Laufen muessen lokal passieren, NICHT auf # WICHTIG: Sowohl Bauen als auch Laufen muessen lokal passieren, NICHT auf
# dem Netzlaufwerk (Z:\Git\...): # dem Netzlaufwerk (Z:\Git\...):
@ -27,7 +30,7 @@ param(
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
$projectDir = $PSScriptRoot $projectDir = $PSScriptRoot
$buildSrc = "$env:TEMP\versapad_build_src" $buildSrc = "$env:TEMP\versapad_build_src"
$localDir = "$projectDir\dist\VersaPadViewer" $localDir = "$env:LOCALAPPDATA\VersaPadViewer"
$requirementsFile = "$projectDir\requirements.txt" $requirementsFile = "$projectDir\requirements.txt"
function Assert-LastExitCode([string]$step) { function Assert-LastExitCode([string]$step) {