qvw-preserve-interface/templates/Reload_wrapped.bat

44 lines
1.8 KiB
Batchfile
Raw Permalink Normal View History

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
REM ============================================================
REM Reload wrapped with pre/post git commits + rolling QVW backup.
REM Substitute PROJECT_ROOT and APP_PATH for your project.
REM ============================================================
SET "PROJECT_ROOT=<<PROJECT_ROOT>>"
SET "APP_PATH=%PROJECT_ROOT%\4.Apps.QVW\<<APP_NAME>>.qvw"
SET "LOG_DIR=%PROJECT_ROOT%\10.QQlog"
IF NOT EXIST "%LOG_DIR%" MKDIR "%LOG_DIR%"
SET "LOG_FILE=%LOG_DIR%\QQreload_monitor_<<APP_NAME>>.txt"
FOR /F %%a IN ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') DO SET "TS=%%a"
REM --- Pre-reload: snapshot current -prj state to git ---
PUSHD "%PROJECT_ROOT%"
git add -A >> "%LOG_FILE%" 2>&1
git commit -m "pre-reload %TS% (user edits captured)" --allow-empty >> "%LOG_FILE%" 2>&1
POPD
REM --- Rolling QVW backup (fallback safety net) ---
powershell -ExecutionPolicy Bypass -File "%~dp0Backup_QVW.ps1" -QvwPath "%APP_PATH%" -Keep 20 >> "%LOG_FILE%" 2>&1
SET "QV_EXE="
FOR /F "tokens=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\QlikTech\QlikView" /v InstallDir 2^>nul') DO SET "QV_EXE=%%B\qv.exe"
IF NOT DEFINED QV_EXE IF EXIST "C:\Program Files\QlikView\qv.exe" SET "QV_EXE=C:\Program Files\QlikView\qv.exe"
IF NOT DEFINED QV_EXE (ECHO qv.exe not found >> "%LOG_FILE%" & EXIT /B 2)
ECHO ============================================================ >> "%LOG_FILE%"
ECHO [%date% %time%] reload start >> "%LOG_FILE%"
"%QV_EXE%" /r "%APP_PATH%"
SET "RC=%ERRORLEVEL%"
ECHO [%date% %time%] reload end rc=%RC% >> "%LOG_FILE%"
REM --- Post-reload: capture script-side -prj changes to git ---
PUSHD "%PROJECT_ROOT%"
git add -A >> "%LOG_FILE%" 2>&1
git commit -m "post-reload %TS% (rc=%RC%)" --allow-empty >> "%LOG_FILE%" 2>&1
POPD
EXIT /B %RC%