#!/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 PYTHON3_VERSION="$(awk 'match($0, /cpython3\/.*version:([.0-9a-zA-Z]+)/,a) { print a[1]; }' $CIPD_MANIFEST)" if [ "X$PYTHON3_VERSION" == "X" ]; then echo Could not extract Python 3 version from manifest. return 1 fi BOOTSTRAP_NAME="bootstrap-${PYTHON3_VERSION}_bin" BOOTSTRAP_PATH="$BOOTSTRAP_NAME" # 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 }