mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Reland "depot_tools: Run using Python 3 by default."
This is a reland of 01ed358917
* python_runner.sh, gclient, roll-dep and fetch will call vpython
(instead of vpython3) when running on Windows under git-bash.
* vpython3 now detects when running on Windows under git-bash and
executes vpython3.bat instead.
* vpython3.bat calls python3.exe directly instead of calling python3.bat.
Original change's description:
> depot_tools: Run using Python 3 by default.
>
> Run gclient, roll-dep, fetch and custom git commands (i.e. git-cl, git-rebase-update, git-new-branch, etc.)
> using vpython3 by default.
>
> Change-Id: I4eecddafa6ca4c5f82ec097615c79d2a741613e7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2113550
> Reviewed-by: Anthony Polito <apolito@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Change-Id: I9829141d7ea26a67e655264430151f493e73a930
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2118418
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Anthony Polito <apolito@google.com>
This commit is contained in:
10
fetch
10
fetch
@@ -9,13 +9,19 @@ base_dir=$(dirname "$0")
|
||||
# standalone, but allow other PATH manipulations to take priority.
|
||||
PATH=$PATH:$base_dir
|
||||
|
||||
# MINGW will equal 0 if we're running on Windows under MinGW.
|
||||
MINGW=$(uname -s | grep MINGW > /dev/null; echo $?)
|
||||
|
||||
if [[ $GCLIENT_PY3 == 1 ]]; then
|
||||
# Explicitly run on Python 3
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/fetch.py" "$@"
|
||||
elif [[ $GCLIENT_PY3 == 0 ]]; then
|
||||
# Explicitly run on Python 2
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/fetch.py" "$@"
|
||||
else
|
||||
# Run on Python 2 for now, allows default to be flipped.
|
||||
elif [[ $MINGW = 0 ]]; then
|
||||
# Run on Python 2 on Windows for now, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/fetch.py" "$@"
|
||||
else
|
||||
# Run on Python 3, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/fetch.py" "$@"
|
||||
fi
|
||||
|
||||
10
gclient
10
gclient
@@ -26,13 +26,19 @@ fi
|
||||
# standalone, but allow other PATH manipulations to take priority.
|
||||
PATH=$PATH:$base_dir
|
||||
|
||||
# MINGW will equal 0 if we're running on Windows under MinGW.
|
||||
MINGW=$(uname -s | grep MINGW > /dev/null; echo $?)
|
||||
|
||||
if [[ $GCLIENT_PY3 == 1 ]]; then
|
||||
# Explicitly run on Python 3
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/gclient.py" "$@"
|
||||
elif [[ $GCLIENT_PY3 == 0 ]]; then
|
||||
# Explicitly run on Python 2
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/gclient.py" "$@"
|
||||
else
|
||||
# Run on Python 2 for now, allows default to be flipped.
|
||||
elif [[ $MINGW = 0 ]]; then
|
||||
# Run on Python 2 on Windows for now, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/gclient.py" "$@"
|
||||
else
|
||||
# Run on Python 3, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/gclient.py" "$@"
|
||||
fi
|
||||
|
||||
@@ -48,17 +48,19 @@ SCRIPT="${SCRIPT-${BASENAME//-/_}.py}"
|
||||
# standalone, but allow other PATH manipulations to take priority.
|
||||
PATH=$PATH:$DEPOT_TOOLS
|
||||
|
||||
if [[ $PYTHON_DIRECT = 1 ]]; then
|
||||
python.exe "$DEPOT_TOOLS\\$SCRIPT" "$@"
|
||||
elif [[ -e "$DEPOT_TOOLS/python.bat" && $OSTYPE = msys ]]; then
|
||||
cmd.exe //c "$DEPOT_TOOLS\\vpython.bat" "$DEPOT_TOOLS\\$SCRIPT" "$@"
|
||||
elif [[ $GCLIENT_PY3 = 1 ]]; then
|
||||
# MINGW will equal 0 if we're running on Windows under MinGW.
|
||||
MINGW=$(uname -s | grep MINGW > /dev/null; echo $?)
|
||||
|
||||
if [[ $GCLIENT_PY3 = 1 ]]; then
|
||||
# Explicitly run on Python 3
|
||||
vpython3 "$DEPOT_TOOLS/$SCRIPT" "$@"
|
||||
elif [[ $GCLIENT_PY3 = 0 ]]; then
|
||||
# Explicitly run on Python 2
|
||||
vpython "$DEPOT_TOOLS/$SCRIPT" "$@"
|
||||
else
|
||||
# Run on Python 2 for now, allows default to be flipped.
|
||||
elif [[ $MINGW = 0 ]]; then
|
||||
# Run on Python 2 on Windows for now, allows default to be flipped.
|
||||
vpython "$DEPOT_TOOLS/$SCRIPT" "$@"
|
||||
else
|
||||
# Run on Python 3, allows default to be flipped.
|
||||
vpython3 "$DEPOT_TOOLS/$SCRIPT" "$@"
|
||||
fi
|
||||
|
||||
8
roll-dep
8
roll-dep
@@ -9,13 +9,19 @@ base_dir=$(dirname "$0")
|
||||
# standalone, but allow other PATH manipulations to take priority.
|
||||
PATH=$PATH:$base_dir
|
||||
|
||||
# MINGW will equal 0 if we're running on Windows under MinGW.
|
||||
MINGW=$(uname -s | grep MINGW > /dev/null; echo $?)
|
||||
|
||||
if [[ $GCLIENT_PY3 = 1 ]]; then
|
||||
# Explicitly run on Python 3
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/roll_dep.py" "$@"
|
||||
elif [[ $GCLIENT_PY3 = 0 ]]; then
|
||||
# Explicitly run on Python 2
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/roll_dep.py" "$@"
|
||||
elif [[ $MINGW = 0 ]]; then
|
||||
# Run on Python 2 on Windows for now, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/roll_dep.py" "$@"
|
||||
else
|
||||
# Run on Python 2 for now, allows default to be flipped.
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/roll_dep.py" "$@"
|
||||
PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/roll_dep.py" "$@"
|
||||
fi
|
||||
|
||||
@@ -40,6 +40,7 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase):
|
||||
self.env['DEPOT_TOOLS_METRICS'] = '0'
|
||||
# Suppress Python 3 warnings and other test undesirables.
|
||||
self.env['GCLIENT_TEST'] = '1'
|
||||
self.env['GCLIENT_PY3'] = '0' if sys.version_info.major == 2 else '1'
|
||||
self.maxDiff = None
|
||||
|
||||
def gclient(self, cmd, cwd=None, error_ok=False):
|
||||
|
||||
7
vpython3
7
vpython3
@@ -39,9 +39,14 @@ base_dir=$(dirname "$0")
|
||||
source "$base_dir/cipd_bin_setup.sh"
|
||||
cipd_bin_setup &> /dev/null
|
||||
|
||||
# MINGW will equal 0 if we're running on Windows under MinGW.
|
||||
MINGW=$(uname -s | grep MINGW > /dev/null; echo $?)
|
||||
|
||||
# If Python bootstrapping is not disabled, make sure Python has been
|
||||
# bootstrapped and add it to the front of PATH.
|
||||
if [[ $MINGW != 0 && $DEPOT_TOOLS_BOOTSTRAP_PYTHON3 != 0 ]]; then
|
||||
if [[ $MINGW = 0 ]]; then
|
||||
cmd.exe //c $0.bat "$@"
|
||||
elif [[ $DEPOT_TOOLS_BOOTSTRAP_PYTHON3 != 0 ]]; then
|
||||
if [[ ! -e $base_dir/python3_bin_reldir.txt ]]; then
|
||||
source "$base_dir/bootstrap_python3"
|
||||
bootstrap_python3
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
:: TODO(crbug.com/1003139): Remove.
|
||||
:: Add Python 3 to PATH to work around crbug.com/1003139.
|
||||
for /f %%i in (%~dp0python3_bin_reldir.txt) do set PYTHON3_BIN_RELDIR=%%i
|
||||
set PATH=%~dp0%PYTHON3_BIN_RELDIR%;%PATH%
|
||||
set PATH=%~dp0%PYTHON3_BIN_RELDIR%;%~dp0%PYTHON3_BIN_RELDIR%\Scripts;%~dp0%PYTHON3_BIN_RELDIR%\DLLs;%PATH%
|
||||
|
||||
call "%~dp0\cipd_bin_setup.bat" > nul 2>&1
|
||||
"%~dp0\.cipd_bin\vpython3.exe" -vpython-interpreter "%~dp0\python3.bat" %*
|
||||
"%~dp0\.cipd_bin\vpython3.exe" -vpython-interpreter "%PYTHON3_BIN_RELDIR%\python3.exe" %*
|
||||
|
||||
Reference in New Issue
Block a user