|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
echo "==========================================" |
|
|
echo "gcli2api Development Setup" |
|
|
echo "==========================================" |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Checking Python version..." |
|
|
python_version=$(python --version 2>&1 | awk '{print $2}') |
|
|
required_version="3.12" |
|
|
|
|
|
if ! python -c "import sys; exit(0 if sys.version_info >= (3, 12) else 1)"; then |
|
|
echo "β Error: Python 3.12 or higher is required. Found: $python_version" |
|
|
exit 1 |
|
|
fi |
|
|
echo "β
Python $python_version" |
|
|
echo |
|
|
|
|
|
|
|
|
if [ ! -d "venv" ]; then |
|
|
echo "Creating virtual environment..." |
|
|
python -m venv venv |
|
|
echo "β
Virtual environment created" |
|
|
else |
|
|
echo "β
Virtual environment already exists" |
|
|
fi |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Activating virtual environment..." |
|
|
source venv/bin/activate |
|
|
echo "β
Virtual environment activated" |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Upgrading pip..." |
|
|
pip install --upgrade pip -q |
|
|
echo "β
pip upgraded" |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Installing production dependencies..." |
|
|
pip install -r requirements.txt -q |
|
|
echo "β
Production dependencies installed" |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Installing development dependencies..." |
|
|
pip install -r requirements-dev.txt -q |
|
|
echo "β
Development dependencies installed" |
|
|
echo |
|
|
|
|
|
|
|
|
if [ ! -f ".env" ]; then |
|
|
echo "Creating .env file from .env.example..." |
|
|
cp .env.example .env |
|
|
echo "β
.env file created" |
|
|
echo "β οΈ Please edit .env file with your configuration" |
|
|
else |
|
|
echo "β
.env file already exists" |
|
|
fi |
|
|
echo |
|
|
|
|
|
|
|
|
echo "Installing pre-commit hooks..." |
|
|
pre-commit install |
|
|
echo "β
Pre-commit hooks installed" |
|
|
echo |
|
|
|
|
|
echo "==========================================" |
|
|
echo "β
Development setup complete!" |
|
|
echo "==========================================" |
|
|
echo |
|
|
echo "Next steps:" |
|
|
echo " 1. Edit .env with your configuration" |
|
|
echo " 2. Run 'make test' to verify setup" |
|
|
echo " 3. Run 'make run' to start the application" |
|
|
echo |
|
|
echo "Available commands:" |
|
|
echo " make help - Show all available commands" |
|
|
echo " make test - Run tests" |
|
|
echo " make lint - Run linters" |
|
|
echo " make format - Format code" |
|
|
echo " make run - Run the application" |
|
|
echo |
|
|
echo "To activate the virtual environment in the future:" |
|
|
echo " source venv/bin/activate" |
|
|
echo |
|
|
|