92 lines
2.5 KiB
Bash
Executable File
92 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# STUPA PDF API - Setup LaTeX Worktrees
|
|
# This script sets up the Git worktrees needed for building PDFs
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Project directories
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
BACKEND_DIR="${PROJECT_ROOT}/backend"
|
|
|
|
# LaTeX directories
|
|
LATEX_TEMPLATES_DIR="${BACKEND_DIR}/latex-templates"
|
|
LATEX_QSM_DIR="${BACKEND_DIR}/latex-qsm"
|
|
LATEX_VSM_DIR="${BACKEND_DIR}/latex-vsm"
|
|
|
|
echo -e "${GREEN}STUPA PDF API - LaTeX Worktree Setup${NC}"
|
|
echo "====================================="
|
|
echo ""
|
|
|
|
# Check if latex-templates submodule is initialized
|
|
if [ ! -d "${LATEX_TEMPLATES_DIR}" ] || [ ! -f "${LATEX_TEMPLATES_DIR}/.git" ]; then
|
|
echo -e "${YELLOW}Initializing latex-templates submodule...${NC}"
|
|
cd "${PROJECT_ROOT}"
|
|
git submodule update --init --recursive
|
|
fi
|
|
|
|
# Navigate to latex-templates directory
|
|
cd "${LATEX_TEMPLATES_DIR}"
|
|
|
|
# Fetch latest branches
|
|
echo -e "${BLUE}Fetching latest branches...${NC}"
|
|
git fetch origin
|
|
|
|
# Remove existing worktrees if they exist
|
|
if [ -d "${LATEX_QSM_DIR}" ]; then
|
|
echo -e "${YELLOW}Removing existing QSM worktree...${NC}"
|
|
git worktree remove --force "${LATEX_QSM_DIR}" 2>/dev/null || rm -rf "${LATEX_QSM_DIR}"
|
|
fi
|
|
|
|
if [ -d "${LATEX_VSM_DIR}" ]; then
|
|
echo -e "${YELLOW}Removing existing VSM worktree...${NC}"
|
|
git worktree remove --force "${LATEX_VSM_DIR}" 2>/dev/null || rm -rf "${LATEX_VSM_DIR}"
|
|
fi
|
|
|
|
# Clean up any stale worktree entries
|
|
git worktree prune
|
|
|
|
# Create QSM worktree
|
|
echo -e "${BLUE}Creating QSM worktree...${NC}"
|
|
git worktree add "${LATEX_QSM_DIR}" origin/v1.2/QSM
|
|
|
|
# Create VSM worktree
|
|
echo -e "${BLUE}Creating VSM worktree...${NC}"
|
|
git worktree add "${LATEX_VSM_DIR}" origin/v1.2/VSM
|
|
|
|
# Verify worktrees
|
|
echo ""
|
|
echo -e "${GREEN}Verifying worktrees...${NC}"
|
|
|
|
if [ -f "${LATEX_QSM_DIR}/Main.tex" ]; then
|
|
echo -e "${GREEN}✓ QSM worktree created successfully${NC}"
|
|
else
|
|
echo -e "${RED}✗ QSM worktree creation failed${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -f "${LATEX_VSM_DIR}/Main.tex" ]; then
|
|
echo -e "${GREEN}✓ VSM worktree created successfully${NC}"
|
|
else
|
|
echo -e "${RED}✗ VSM worktree creation failed${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo -e "${GREEN}LaTeX worktrees setup complete!${NC}"
|
|
echo ""
|
|
echo "Worktree locations:"
|
|
echo " QSM: ${LATEX_QSM_DIR}"
|
|
echo " VSM: ${LATEX_VSM_DIR}"
|
|
echo ""
|
|
echo "You can now build the Docker image with:"
|
|
echo " docker compose build api"
|