2025-12-18 01:18:59 +00:00
|
|
|
# ╔══════════════════════════════════════════════════════════════════════╗
|
2025-12-24 03:24:31 +00:00
|
|
|
# ║ SHARED VARIABLES AND HELPERS ║
|
|
|
|
|
# ║ TypeDialog workspace ║
|
2025-12-18 01:18:59 +00:00
|
|
|
# ╚══════════════════════════════════════════════════════════════════════╝
|
|
|
|
|
|
|
|
|
|
# === WORKSPACE STRUCTURE ===
|
|
|
|
|
WORKSPACE_ROOT := justfile_directory()
|
|
|
|
|
CRATES := "typedialog-core typedialog typedialog-tui typedialog-web"
|
|
|
|
|
CORE_CRATE := "crates/typedialog-core"
|
|
|
|
|
|
|
|
|
|
# === FEATURE FLAGS ===
|
|
|
|
|
FEATURES_CLI := "cli,i18n,templates"
|
|
|
|
|
FEATURES_TUI := "tui,i18n,templates"
|
|
|
|
|
FEATURES_WEB := "web,i18n,templates"
|
|
|
|
|
FEATURES_FULL := "cli,tui,web,i18n,templates"
|
|
|
|
|
FEATURES_ALL_BACKENDS := "cli,tui,web"
|
|
|
|
|
|
|
|
|
|
# === BUILD PROFILES ===
|
|
|
|
|
PROFILE_DEBUG := "debug"
|
|
|
|
|
PROFILE_RELEASE := "release"
|
|
|
|
|
|
|
|
|
|
# === CARGO COMMANDS ===
|
|
|
|
|
CARGO_CHECK := "cargo check --workspace"
|
|
|
|
|
CARGO_BUILD := "cargo build --workspace"
|
|
|
|
|
CARGO_TEST := "cargo test --workspace"
|
|
|
|
|
CARGO_CLIPPY := "cargo clippy --all-targets --all-features -- -D warnings"
|
|
|
|
|
CARGO_FMT := "cargo fmt --all"
|
|
|
|
|
CARGO_FMT_CHECK := "cargo fmt --all -- --check"
|
|
|
|
|
|
|
|
|
|
# === HELPERS ===
|
|
|
|
|
|
|
|
|
|
# Print section header
|
|
|
|
|
header MSG:
|
|
|
|
|
@echo "=== {{ MSG }} ==="
|
|
|
|
|
|
|
|
|
|
# Print success message
|
|
|
|
|
success MSG:
|
|
|
|
|
@echo "✓ {{ MSG }}"
|
|
|
|
|
|
|
|
|
|
# Print warning message
|
|
|
|
|
warn MSG:
|
|
|
|
|
@echo "⚠ {{ MSG }}"
|
|
|
|
|
|
|
|
|
|
# Print error message
|
|
|
|
|
error MSG:
|
|
|
|
|
@echo "✗ {{ MSG }}"
|
|
|
|
|
|
|
|
|
|
# Check cargo is available
|
|
|
|
|
_check_cargo:
|
|
|
|
|
@command -v cargo >/dev/null || (echo "cargo not found" && exit 1)
|
|
|
|
|
|
|
|
|
|
# Validate workspace structure
|
|
|
|
|
_validate_workspace:
|
|
|
|
|
@[ -f "{{ WORKSPACE_ROOT }}/Cargo.toml" ] || (echo "Cargo.toml not found" && exit 1)
|
|
|
|
|
@just header "Workspace validation"
|
|
|
|
|
@echo "Root: {{ WORKSPACE_ROOT }}"
|
|
|
|
|
@echo "Crates: {{ CRATES }}"
|
|
|
|
|
@just success "Workspace valid"
|