mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Don't call ensure_bootstrap from update_depot_tools. ensure_bootstrap also updates gsutil and all versions of pylint which is slow, particularly on MinGW. Original change's description: > 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> Bug: 1002153 Change-Id: Ia7579e440438897ba4a7c65a8b228dcfe7f28c86 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1810040 Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
47 lines
2.1 KiB
Batchfile
47 lines
2.1 KiB
Batchfile
@echo off
|
|
:: Copyright 2017 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.
|
|
|
|
setlocal
|
|
set PYTHON_BAT_RUNNER=1
|
|
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
:: This file is automatically generated by "bootstrap\win\win_tools.py", and
|
|
:: should not be modified.
|
|
::
|
|
:: The previous "::" block acts as a nop-sled. Each time a batch file executes
|
|
:: a command, it reloads itself and seeks to its previous execution offset to
|
|
:: begin execution. Updating this batch file is, therefore, risky, since any
|
|
:: running Python instance that is using the old batch file will reload the new
|
|
:: batch file once the Python command terminates and resume at some unknown
|
|
:: offset.
|
|
::
|
|
:: With the sled in place, a previous instance will resume mid-label. We are
|
|
:: assuming that the offset of the Python invocation is greater than the
|
|
:: PYTHON_BAT_RUNNER set command, which is the case since the old instance has
|
|
:: a large PATH set block before the Python execution. Old instances will hit
|
|
:: the next block of code without PYTHON_BAT_RUNNER set. New instances will have
|
|
:: it set.
|
|
::
|
|
:: We remedy this in the future by having the batch file load its core paths
|
|
:: from an external file with for/set, removing the need to modify "python.bat"
|
|
:: during upgrade.
|
|
::
|
|
:: After all of the old batch files are believed to be replaced, we can remove
|
|
:: the PYTHON_BAT_RUNNER block and the sled. For this update, old instances
|
|
:: will resume past the end of the file and terminate.
|
|
|
|
if not "%PYTHON_BAT_RUNNER%" == "1" goto :END
|
|
|
|
for /f %%i in (%~dp0python_bin_reldir.txt) do set PYTHON_BIN_RELDIR=%%i
|
|
set PATH=%~dp0%PYTHON_BIN_RELDIR%;%~dp0%PYTHON_BIN_RELDIR%\Scripts;%PATH%
|
|
"%~dp0%PYTHON_BIN_RELDIR%\python.exe" %*
|
|
|
|
:END
|