1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env bash
- function bootstrap_python3 {
- base_dir=$(dirname "${BASH_SOURCE[0]}")
- cd "${base_dir}"
- if [ -e ".bleeding_edge" ]; then
- CIPD_MANIFEST="bootstrap/manifest_bleeding_edge.txt"
- else
- CIPD_MANIFEST="bootstrap/manifest.txt"
- fi
- while IFS= read -r line; do
- if [[ $line =~ ^[^#].*cpython3/.*version:(.*)$ ]]; then
- PYTHON3_VERSION=${BASH_REMATCH[1]}
- PYTHON3_VERSION=${PYTHON3_VERSION//[[:space:]]/}
- fi
- done < $CIPD_MANIFEST
- if [ "X$PYTHON3_VERSION" == "X" ]; then
- echo Could not extract Python 3 version from manifest.
- return 1
- fi
- BOOTSTRAP_PATH="bootstrap-${PYTHON3_VERSION}_bin"
- # Install CIPD packages. The CIPD client self-bootstraps.
- "./cipd" ensure -log-level warning -ensure-file "${CIPD_MANIFEST}" \
- -root "$BOOTSTRAP_PATH"
- BOOTSTRAP_PYTHON_BIN="${BOOTSTRAP_PATH}/python3/bin/python3"
- "$BOOTSTRAP_PYTHON_BIN" "bootstrap/bootstrap.py" --bootstrap-name "$BOOTSTRAP_PATH"
- cd - > /dev/null
- }
|