#!/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 }