1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-10-31 18:30:33 +03:00
Files
mariadb-columnstore-engine/cmapi/dev_tools/piptools.sh
Alexander Presnyakov 5939aa5f55 Added support for Sentry in cmapi server
Support distributed request tracing

-Direct dependencies now in requirements[-dev].in, pip-compile generates full requirement[-dev].txt from them
2025-08-26 14:21:33 +00:00

71 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cmapi_dir="$(realpath "${script_dir}/..")"
export CUSTOM_COMPILE_COMMAND="dev_tools/piptools.sh compile-all"
ensure_piptools() {
if ! command -v pip-compile >/dev/null 2>&1; then
echo "Installing pip-tools..."
python3 -m pip install --upgrade pip
python3 -m pip install pip-tools
fi
}
compile_runtime() {
ensure_piptools
cd "${cmapi_dir}"
pip-compile --quiet --resolver=backtracking --output-file=requirements.txt requirements.in
}
compile_dev() {
ensure_piptools
cd "${cmapi_dir}"
pip-compile --quiet --resolver=backtracking --output-file=requirements-dev.txt requirements-dev.in
}
compile_all() {
compile_runtime
compile_dev
}
sync_runtime() {
ensure_piptools
cd "${cmapi_dir}"
pip-sync requirements.txt
}
sync_dev() {
ensure_piptools
cd "${cmapi_dir}"
pip-sync requirements.txt requirements-dev.txt
}
usage() {
cat <<EOF
Usage: dev_tools/piptools.sh <command>
Commands:
compile-runtime Compile requirements.in -> requirements.txt
compile-dev Compile requirements-dev.in -> requirements-dev.txt
compile-all Compile both runtime and dev requirements (default)
sync-runtime pip-sync runtime requirements only
sync-dev pip-sync runtime + dev requirements
help Show this help
EOF
}
cmd="${1:-compile-all}"
case "${cmd}" in
compile-runtime) compile_runtime ;;
compile-dev) compile_dev ;;
compile-all) compile_all ;;
sync-runtime) sync_runtime ;;
sync-dev) sync_dev ;;
help|--help|-h) usage ;;
*) echo "Unknown command: ${cmd}" >&2; usage; exit 1 ;;
esac