mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 09:23:52 -05:00
78 lines
2.1 KiB
Bash
Executable File
78 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# CE Properties Wizard runner script
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Check if poetry is installed
|
|
if ! command -v poetry &> /dev/null; then
|
|
echo "Poetry is not installed. Installing Poetry..."
|
|
|
|
# Check if Python is available
|
|
PYTHON_CMD=""
|
|
for cmd in python3 python py; do
|
|
if command -v $cmd &> /dev/null; then
|
|
PYTHON_CMD=$cmd
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ -z "$PYTHON_CMD" ]; then
|
|
echo "Python is not installed. Please install Python first."
|
|
exit 1
|
|
fi
|
|
|
|
# Install Poetry
|
|
echo "Downloading and installing Poetry..."
|
|
if curl -sSL https://install.python-poetry.org | $PYTHON_CMD -; then
|
|
# Add Poetry to PATH for current session
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
|
|
# Verify installation
|
|
if ! command -v poetry &> /dev/null; then
|
|
echo "Poetry installation failed. Please install manually from https://python-poetry.org/docs/#installation"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Poetry installed successfully!"
|
|
else
|
|
echo "Failed to install Poetry automatically."
|
|
echo "Please install manually from https://python-poetry.org/docs/#installation"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Install dependencies if needed
|
|
if [ ! -d ".venv" ]; then
|
|
echo "Setting up virtual environment..."
|
|
poetry install
|
|
fi
|
|
|
|
# Check for --format parameter
|
|
if [[ "$1" == "--format" ]]; then
|
|
shift
|
|
|
|
if [[ "$1" == "--check" ]]; then
|
|
echo "Checking code formatting..."
|
|
poetry run black --check --diff .
|
|
echo "Checking code with ruff..."
|
|
poetry run ruff check .
|
|
echo "Running pytype..."
|
|
poetry run pytype .
|
|
echo "All formatting checks passed!"
|
|
else
|
|
echo "Formatting code with black..."
|
|
poetry run black .
|
|
echo "Formatting code with ruff..."
|
|
poetry run ruff check --fix .
|
|
echo "Running pytype..."
|
|
poetry run pytype .
|
|
echo "Code formatting complete!"
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
# Run the wizard with all arguments passed through
|
|
poetry run ce-props-wizard "$@" |