Commit 17aaea21 authored by Edward Lesmes's avatar Edward Lesmes Committed by LUCI CQ

Reland "depot_tools: Run using Python 3 by default."

This reverts commit e2ac022f.

git-cache issues were solved by https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2120966

Original change's description:
> Reland "depot_tools: Run using Python 3 by default."
>
> This is a reland of 01ed3589
>
> * 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>

Change-Id: Iff02533f0a11062f335a010c074043c720d5b2ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2121304Reviewed-by: 's avatarJosip Sokcevic <sokcevic@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
parent de6c4564
......@@ -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
......@@ -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
......@@ -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
......@@ -25,6 +25,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):
......
......@@ -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" %*
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment