- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
88 lines
3.1 KiB
Bash
Executable File
88 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Tigre (codeclass) - Deploy do servidor web novo em Swift
|
|
# Sobe um nivel: o script vive em admin/, o projeto e a pasta pai.
|
|
#
|
|
# Uso:
|
|
# admin/deploy-codeclass.command # porta 5050 (padrão)
|
|
# admin/deploy-codeclass.command 8080 # porta customizada
|
|
#
|
|
# O que faz:
|
|
# 1) localiza a toolchain Swift (Xcode) e compila o codeclass (swift build)
|
|
# 2) derruba qualquer instancia antiga na porta de destino
|
|
# 3) sobe o servidor novo em background (TigreApp serve) com as classes
|
|
# novas (TranscriptionService + AppleVisionAnalyzer)
|
|
# 4) abre o navegador quando o servidor responder
|
|
#
|
|
# Diferente de deploy.command (legado Python/Flask em code/app.py), este
|
|
# script sobe o servidor do codeclass/ (100% Swift). Na porta 5050 eles se
|
|
# conflitam: rode APENAS UM deles por vez.
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
PORT="${1:-5050}"
|
|
CLASSDIR="$PROJECT_DIR/codeclass"
|
|
|
|
echo "============================================================"
|
|
echo " Tigre (codeclass) :: Deploy do servidor web novo (Swift)"
|
|
echo " Pasta: $PROJECT_DIR"
|
|
echo " Porta: $PORT"
|
|
echo "============================================================"
|
|
echo
|
|
|
|
# 1) Toolchain Swift (Xcode 26 / swift 6.3). Respeita PATH se ja configurado.
|
|
SWIFT="$(command -v swift || true)"
|
|
if [ -z "$SWIFT" ] && [ -x "/Volumes/Merongo/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift" ]; then
|
|
export PATH="/Volumes/Merongo/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$PATH"
|
|
SWIFT="swift"
|
|
fi
|
|
if [ -z "$SWIFT" ]; then
|
|
echo "ERRO: swift nao encontrado no PATH nem no Xcode padrao."
|
|
echo " Instale Xcode 26+ ou exporte o PATH da toolchain."
|
|
exit 1
|
|
fi
|
|
|
|
# 2) Compilar o codeclass
|
|
echo "[1/3] Compilando o codeclass (swift build)..."
|
|
cd "$CLASSDIR"
|
|
"$SWIFT" build 2>&1 | tail -5
|
|
echo " Build OK."
|
|
echo
|
|
|
|
# 3) Derrubar instancias antigas na porta de destino
|
|
echo "[2/3] Parando instancia anterior na porta $PORT..."
|
|
lsof -ti:"$PORT" | xargs kill -9 2>/dev/null || true
|
|
sleep 1
|
|
true
|
|
|
|
# 4) Subir o servidor novo em background (nao trava o terminal)
|
|
echo "[3/3] Levantando o servidor novo (TigreApp serve)..."
|
|
echo " http://localhost:$PORT"
|
|
echo
|
|
LOG="/tmp/tigre-codeclass-web.log"
|
|
nohup "$SWIFT" run TigreApp serve --port "$PORT" --project-root "$PROJECT_DIR" > "$LOG" 2>&1 &
|
|
SERVER_PID=$!
|
|
echo " PID do servidor: $SERVER_PID (log: $LOG)"
|
|
echo
|
|
|
|
# Abre o navegador padrao assim que o servidor responder (nao trava o boot)
|
|
(
|
|
for _ in $(seq 1 45); do
|
|
if curl -s -o /dev/null "http://localhost:$PORT"; then
|
|
open "http://localhost:$PORT"
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
) &
|
|
|
|
# Mostra o log por alguns segundos para confirmar o boot
|
|
sleep 5
|
|
echo "--- primeiras linhas do log ---"
|
|
tail -10 "$LOG"
|
|
echo
|
|
echo "============================================================"
|
|
echo " Servidor novo (codeclass) no ar em http://localhost:$PORT"
|
|
echo " Para encerrar: lsof -ti:$PORT | xargs kill -9"
|
|
echo "============================================================" |