#!/bin/bash set -e # Root paths ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" CONFIG_FILE="$ROOT_DIR/config.json" REQUIREMENTS="$ROOT_DIR/requirements.txt" ENV_FILE="$ROOT_DIR/.env" # Check if .env exists if [[ ! -f "$ENV_FILE" ]]; then echo "[ERROR] .env file not found. Please copy .env.example to .env and configure it." exit 1 fi # Extract architecture from config.json (requires jq) if ! command -v jq &>/dev/null; then echo "[ERROR] 'jq' is required. Install it with: brew install jq" exit 1 fi ARCHITECTURE=$(jq -r '.architecture' "$CONFIG_FILE") # Extract python path from .env PYTHON_EXEC=$(grep -E "^PYTHON_PATH=" "$ENV_FILE" | cut -d '=' -f2) # Construct venv path ENV_NAME="MACenv_$ARCHITECTURE" ENV_PATH="$ROOT_DIR/$ENV_NAME" # Check python executable if [[ ! -x "$PYTHON_EXEC" ]]; then echo "[ERROR] Python not found at: $PYTHON_EXEC" echo "Please check your .env or installation path." exit 1 fi # Show info echo "[INFO] Configuration:" echo " Python: $PYTHON_EXEC" echo " Env: $ENV_NAME" # Create virtual env if missing if [[ ! -d "$ENV_PATH/bin" ]]; then echo "[INFO] Virtual environment not found, creating..." "$PYTHON_EXEC" -m venv "$ENV_PATH" echo "[INFO] Installing dependencies..." "$ENV_PATH/bin/python" -m pip install --upgrade pip "$ENV_PATH/bin/pip" install -r "$REQUIREMENTS" else echo "[INFO] Virtual environment found." fi # Activate and launch VS Code echo "[INFO] Launching VS Code..." # shellcheck source=/dev/null source "$ENV_PATH/bin/activate" open -a "Visual Studio Code" "$ROOT_DIR" exit 0