34c27876e0
- New helper: deploy_wails_exe_to_windows_bash_infra - taskkill + cp build/bin/<app>.exe to Desktop/apps/<app>/ - cmd.exe /c start RELAUNCHES the app post-deploy (key diff vs cpp) - preserves local_files/, copies appicon.ico if present - New pipeline: compile_wails_app_bash_pipelines - resolve_cpp_app_dir (reused) + wails build -platform windows/amd64 - auto -tags goolm if app declares matrix_crypto_init - delegates deploy + relaunch to deploy_wails_exe_to_windows - /compile skill dispatches by framework: - wails.json present -> compile_wails_app (relaunches) - CMakeLists.txt present -> compile_cpp_app (no relaunch) Refs: matrix_client_pc + matrix_admin_panel (issues 0147, 0163)
3.6 KiB
3.6 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, params, output
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | tested | tests | test_file_path | file_path | params | output | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| compile_wails_app | pipeline | bash | pipelines | 0.1.0 | impure | compile_wails_app(app_name_or_empty: string) -> void | Pipeline que resuelve la app Wails desde el nombre o CWD, la compila para Windows con wails build -platform windows/amd64 (detectando -tags goolm automaticamente si la app usa E2EE Matrix), y despliega el .exe al escritorio de Windows + relanza el proceso. Equivalente a compile_cpp_app pero para apps Wails (Go + WebView2). |
|
|
false | error_go_core | false | bash/functions/pipelines/compile_wails_app.sh |
|
Compila el .exe con wails build, lo despliega al escritorio de Windows y relanza el proceso. Imprime progreso por steps a stderr y resumen final con ls -lh del .exe resultante. |
Ejemplo
# Desde el directorio de la app (deduce nombre automaticamente)
cd projects/element_agents/apps/matrix_client_pc
./fn run compile_wails_app
# Desde la raiz del registry, con nombre explicito
cd /home/lucas/fn_registry
./fn run compile_wails_app matrix_admin_panel
# Directo sin fn run
bash bash/functions/pipelines/compile_wails_app.sh matrix_client_pc
Cuando usarla
Usar cuando quieras rebuild + redeploy + relanzar una app Wails con un solo comando durante iteracion activa de desarrollo. Equivale al slash command /compile aplicado a targets Wails. El pipeline detecta automaticamente si la app necesita -tags goolm (apps Matrix con E2EE).
Gotchas
- Requiere
wailsCLI instalado en PATH y mingw-w64 configurado para cross-compile (GOARCH=amd64 GOOS=windowsvia toolchain Wails). - Si la app usa
-tags goolm(E2EE Matrix), esta pipeline lo detecta automaticamente: buscamatrix_crypto_initenapp.mdo"build:tags": "goolm"enwails.json. Si la deteccion falla, pasar la variableTAGSo editar elwails.json. - El relanzar despues del deploy es la diferencia clave con
compile_cpp_app: las apps Wails son single-binary (no DLLs adicionales) y arrancan en <1s, lo que hace iteracion muy rapida. - Si el build falla con
no required module provides package, ejecutargo mod tidyen el directorio de la app antes de volver a compilar. matrix_client_pctiene helpers eninternal/infra/que son copias vendored defunctions/infra/del registry padre. Si actualizas un helper en el registry padre, debes copiarlo manualmente a la app antes de compilar — el build de Wails no ve el modulo padre.- El deploy mata el proceso anterior con
taskkill.exe /F(pre-autorizado) antes de copiar el .exe, para evitar "Permission denied" de Windows al sobreescribir un binario en uso. - Variable de entorno
WIN_DESKTOP_APPScontrola el destino; default/mnt/c/Users/lucas/Desktop/apps.
Flujo
resolve_cpp_app_dir— deduce nombre y directorio absoluto de la app (desde CWD o arg)- Verifica
wails.jsonygo.moden el directorio de la app - Detecta si necesita
-tags goolm(app.md referenciamatrix_crypto_inito wails.json lo declara) wails build -platform windows/amd64 [tags]desde el directorio de la appdeploy_wails_exe_to_windows— mata proceso, copia .exe, relanza y verifica PID- Imprime
ls -lhdel exe final enDesktop/apps/<APP>/