Files
chromium_depot_tools/vpython3
Erik Staab c1457823a0 Don't write pyc files if running from Cog
Many tools use vpython so we can avoid pyc writes by
disabling them at this layer.

Bug: b/320565954
Change-Id: I50cd04968810ecc186d5abe6c67e54ae1647c739
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5812665
Commit-Queue: Erik Staab <estaab@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2024-08-26 23:13:11 +00:00

60 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if [[ $VPYTHON_BYPASS == "manually managed python not supported by chrome operations" ]]
then
NEWARGS=()
while [[ $# -gt 0 ]]
do
case "$1" in
-vpython-tool*) # these tools all do something vpython related and quit
exit 0
;;
-vpython*=*) # delete any vpython-specific flag (w/ attached argument)
shift
;;
-vpython*) # delete any vpython-specific flag (w/ separate argument)
shift
shift
;;
--) # stop parsing
NEWARGS+=( "$@" )
break
;;
*) # regular arg
NEWARGS+=( "$1" )
shift
;;
esac
done
exec "python3" "${NEWARGS[@]}"
fi
# Export for other depot_tools scripts to re-use.
export DEPOT_TOOLS_DIR="${DEPOT_TOOLS_DIR:-$(dirname "$0")}"
export DEPOT_TOOLS_UNAME_S="${DEPOT_TOOLS_UNAME_S:-$(uname -s | tr '[:upper:]' '[:lower:]')}"
# Don't write pyc files if running from a Cog workspace.
if [[ "$(pwd)" == "/google/cog/"* ]]; then
export PYTHONDONTWRITEBYTECODE=1
fi
source "${DEPOT_TOOLS_DIR}/cipd_bin_setup.sh"
CIPD_ROOT=$(cipd_bin_setup) &> /dev/null
# Don't pass this to the Python script as it might turn around and run commands
# in other depot_tools dirs.
base_dir="${DEPOT_TOOLS_DIR}"
unset DEPOT_TOOLS_DIR
case "${DEPOT_TOOLS_UNAME_S}" in
mingw*|cygwin*)
cmd.exe //c $0.bat "$@"
;;
*)
exec "$CIPD_ROOT/vpython3" "$@"
;;
esac