59 lines
1.4 KiB
Batchfile
59 lines
1.4 KiB
Batchfile
@echo off
|
|
:: Levanta Flintstones en Docker y abre el navegador automaticamente.
|
|
setlocal
|
|
|
|
set APP_DIR=releng\flintstones.application.product\target\products\RCP product\linux\gtk\x86_64
|
|
set IMAGE=flintstones-develop-run
|
|
set URL=http://localhost:6080/vnc.html?autoconnect=true^&resize=scale
|
|
|
|
:: 1. Compilar si no existe el binario
|
|
if not exist "%APP_DIR%\eclipse" (
|
|
echo =^> Proyecto no compilado. Compilando (esto tarda la primera vez)...
|
|
docker compose run --rm build
|
|
if errorlevel 1 goto error
|
|
)
|
|
|
|
:: 2. Construir imagen de ejecucion si no existe
|
|
docker image inspect %IMAGE% >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo =^> Construyendo imagen Docker de ejecucion (solo la primera vez)...
|
|
docker compose build run
|
|
if errorlevel 1 goto error
|
|
)
|
|
|
|
:: 3. Arrancar el contenedor
|
|
docker compose ps run | findstr "running" >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo =^> Arrancando Flintstones...
|
|
docker compose up -d run
|
|
if errorlevel 1 goto error
|
|
) else (
|
|
echo =^> Flintstones ya esta en marcha.
|
|
)
|
|
|
|
:: 4. Esperar a que noVNC este listo
|
|
echo =^> Esperando conexion...
|
|
:wait
|
|
curl -s http://localhost:6080 >nul 2>&1
|
|
if errorlevel 1 (
|
|
timeout /t 1 /nobreak >nul
|
|
goto wait
|
|
)
|
|
|
|
:: 5. Abrir el navegador
|
|
echo =^> Abriendo %URL%
|
|
start "" "%URL%"
|
|
|
|
echo.
|
|
echo Para parar: docker compose stop run
|
|
echo Para los logs: docker compose logs -f run
|
|
goto end
|
|
|
|
:error
|
|
echo.
|
|
echo ERROR: algo ha fallado. Revisa los logs con: docker compose logs run
|
|
exit /b 1
|
|
|
|
:end
|
|
endlocal
|