39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
# ==============================================================================
|
|
# LaTeX Docker Build Skript (Bash / Linux / macOS / WSL)
|
|
# ==============================================================================
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_DIR="${1:-"${SCRIPT_DIR}/../Seminar_Arbeit_BITI_Gruber"}"
|
|
IMAGE_NAME="latex-docker:latest"
|
|
|
|
ACTION="${2:-build}"
|
|
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "Fehler: Docker ist nicht installiert oder nicht in PATH." >&2
|
|
exit 1
|
|
fi
|
|
|
|
PROJECT_FULL_PATH="$(cd "$PROJECT_DIR" && pwd)"
|
|
|
|
echo "==> Projektpfad: $PROJECT_FULL_PATH"
|
|
echo "==> Aktion: $ACTION"
|
|
|
|
case "$ACTION" in
|
|
clean)
|
|
docker run --rm -v "${PROJECT_FULL_PATH}:/workspace" -w /workspace "$IMAGE_NAME" clean
|
|
;;
|
|
watch)
|
|
docker run --rm -it -v "${PROJECT_FULL_PATH}:/workspace" -w /workspace "$IMAGE_NAME" watch
|
|
;;
|
|
build)
|
|
docker run --rm -v "${PROJECT_FULL_PATH}:/workspace" -w /workspace "$IMAGE_NAME" build
|
|
;;
|
|
*)
|
|
docker run --rm -v "${PROJECT_FULL_PATH}:/workspace" -w /workspace "$IMAGE_NAME" "$ACTION" "${@:3}"
|
|
;;
|
|
esac
|
|
|
|
echo "==> Fertig!"
|