kopia lustrzana https://github.com/Yakifo/amqtt
45 wiersze
1.2 KiB
Bash
45 wiersze
1.2 KiB
Bash
![]() |
#!/usr/bin/env bash
|
||
|
set -eu
|
||
|
|
||
|
# Enable debug mode if DEBUG=true is set in the environment
|
||
|
DEBUG=${DEBUG:-false}
|
||
|
if [ "$DEBUG" = "true" ]; then
|
||
|
set -x
|
||
|
fi
|
||
|
|
||
|
# Resolve project root directory
|
||
|
my_path=$(git rev-parse --show-toplevel)
|
||
|
|
||
|
# Activate pyenv virtualenv if .python-version exists
|
||
|
if [ -s "${my_path}/.python-version" ]; then
|
||
|
PYENV_VERSION=$(head -n 1 "${my_path}/.python-version")
|
||
|
if command -v pyenv >/dev/null 2>&1; then
|
||
|
export PYENV_VERSION
|
||
|
echo "Activating pyenv version: ${PYENV_VERSION}" >&2
|
||
|
else
|
||
|
echo "Warning: pyenv not found, skipping pyenv activation." >&2
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# Check for and activate common virtual environments
|
||
|
venvs=("venv" ".venv")
|
||
|
for venv in "${venvs[@]}"; do
|
||
|
activate_script="${my_path}/${venv}/bin/activate"
|
||
|
if [ -f "$activate_script" ]; then
|
||
|
echo "Activating virtual environment: ${venv}" >&2
|
||
|
# Deactivate any existing venv and activate the new one
|
||
|
deactivate 2>/dev/null || true
|
||
|
# shellcheck source=/dev/null
|
||
|
. "$activate_script"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
# Check if we are in a virtual environment
|
||
|
if [ -z "${VIRTUAL_ENV:-}" ]; then
|
||
|
echo "Warning: No virtual environment found. Running in global Python environment." >&2
|
||
|
fi
|
||
|
|
||
|
# Execute the specified command
|
||
|
exec "$@"
|