Files
Francisco Jesús Martínez Mimbrera 40dda44902 public code v2
2026-05-23 00:39:14 +02:00

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Levanta Flintstones en Docker y abre el navegador automáticamente.
set -e
APP_DIR="releng/flintstones.application.product/target/products/RCP product/linux/gtk/x86_64"
IMAGE="flintstones-develop-run"
URL="http://localhost:6080/vnc.html?autoconnect=true&resize=scale"
# 1. Compilar el proyecto si no existe el binario
if [ ! -f "$APP_DIR/eclipse" ]; then
echo "==> Proyecto no compilado. Compilando (esto tarda la primera vez)..."
docker compose run --rm build
fi
# 2. Construir la imagen de ejecución si no existe
if ! docker image inspect "$IMAGE" > /dev/null 2>&1; then
echo "==> Construyendo imagen Docker de ejecución (solo la primera vez)..."
docker compose build run
fi
# 3. Arrancar el contenedor (o reutilizarlo si ya corre)
if docker compose ps run | grep -q "running"; then
echo "==> Flintstones ya está en marcha."
else
echo "==> Arrancando Flintstones..."
docker compose up -d run
fi
# 4. Esperar a que noVNC esté listo
echo -n "==> Esperando conexión"
for i in $(seq 1 30); do
if curl -s http://localhost:6080 > /dev/null 2>&1; then
echo " lista."
break
fi
echo -n "."
sleep 1
done
# 5. Abrir el navegador
echo "==> Abriendo $URL"
open "$URL"
echo ""
echo " Para parar: docker compose stop run"
echo " Para los logs: docker compose logs -f run"