26 lines
864 B
Bash
26 lines
864 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Common path definitions for scripts
|
||
|
|
# Usage: source "$SCRIPT_DIR/lib/common/paths.sh"
|
||
|
|
|
||
|
|
# Get script directory (works even when sourced)
|
||
|
|
if [ -z "${SCRIPT_DIR:-}" ]; then
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-}")" && pwd)"
|
||
|
|
# If sourced from another script, try to get the calling script's directory
|
||
|
|
if [ "${BASH_SOURCE[0]:-}" = "${BASH_SOURCE[1]:-}" ]; then
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[1]:-}")" && pwd)"
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Project root (two levels up from scripts/)
|
||
|
|
if [ -z "${PROJECT_ROOT:-}" ]; then
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Common directories
|
||
|
|
readonly CONFIG_DIR="${PROJECT_ROOT}/config"
|
||
|
|
readonly KEYS_DIR="${PROJECT_ROOT}/keys"
|
||
|
|
readonly SCRIPTS_DIR="${PROJECT_ROOT}/scripts"
|
||
|
|
readonly TERRAFORM_DIR="${PROJECT_ROOT}/terraform"
|
||
|
|
readonly DOCS_DIR="${PROJECT_ROOT}/docs"
|
||
|
|
|