Files
chromium_depot_tools/bootstrap_python3
Edward Lemur dbca865e55 depot_tools: Bootstrap Python 3 on Linux/Mac
This will make it possible for developers to execute depot_tools
scripts using Python 3 in a known environment.

Bug: 1002153
Change-Id: I5ff492a49d227c1b5876f49adba020f51a575bdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1762664
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@google.com>
2019-09-10 21:34:48 +00:00

32 lines
905 B
Bash

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