You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.4 KiB
Batchfile
75 lines
2.4 KiB
Batchfile
@echo off
|
|
:: Copyright (c) 2012 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.
|
|
|
|
:: This script will determine if python or git binaries need updates. It
|
|
:: returns 123 if the user's shell must restart, otherwise !0 is failure
|
|
|
|
:: Sadly, we can't use SETLOCAL here otherwise it ERRORLEVEL is not correctly
|
|
:: returned.
|
|
|
|
set CHROME_INFRA_URL=https://storage.googleapis.com/chrome-infra/
|
|
:: It used to be %~dp0 but ADODB.Stream may fail to write to this directory if
|
|
:: the directory DACL is set to elevated integrity level.
|
|
set ZIP_DIR=%TEMP%
|
|
|
|
:: Get absolute root directory (.js scripts don't handle relative paths well).
|
|
pushd %~dp0..\..
|
|
set WIN_TOOLS_ROOT_DIR=%CD%
|
|
popd
|
|
|
|
if "%1" == "force" (
|
|
set WIN_TOOLS_FORCE=1
|
|
shift /1
|
|
)
|
|
|
|
|
|
:PYTHON_CHECK
|
|
if not exist "%WIN_TOOLS_ROOT_DIR%\python276_bin" goto :PY27_INSTALL
|
|
if not exist "%WIN_TOOLS_ROOT_DIR%\python.bat" goto :PY27_INSTALL
|
|
|
|
:: Support revert from https://chromium-review.googlesource.com/c/563036
|
|
:: Temporary fix, always install "python.bat" (crbug.com/741650).
|
|
call copy /y "%~dp0python276.new.bat" "%WIN_TOOLS_ROOT_DIR%\python.bat" 1>nul
|
|
|
|
set ERRORLEVEL=0
|
|
goto :GIT_CHECK
|
|
|
|
|
|
:PY27_INSTALL
|
|
echo Installing python 2.7.6...
|
|
:: Cleanup python directory if it was existing.
|
|
set PYTHON_URL=%CHROME_INFRA_URL%python276_bin.zip
|
|
if exist "%WIN_TOOLS_ROOT_DIR%\python276_bin\." rd /q /s "%WIN_TOOLS_ROOT_DIR%\python276_bin"
|
|
if exist "%ZIP_DIR%\python276.zip" del "%ZIP_DIR%\python276.zip"
|
|
echo Fetching from %PYTHON_URL%
|
|
cscript //nologo //e:jscript "%~dp0get_file.js" %PYTHON_URL% "%ZIP_DIR%\python276_bin.zip"
|
|
if errorlevel 1 goto :PYTHON_FAIL
|
|
:: Will create python276_bin\...
|
|
cscript //nologo //e:jscript "%~dp0unzip.js" "%ZIP_DIR%\python276_bin.zip" "%WIN_TOOLS_ROOT_DIR%"
|
|
:: Create the batch files.
|
|
call copy /y "%~dp0python276.new.bat" "%WIN_TOOLS_ROOT_DIR%\python.bat" 1>nul
|
|
call copy /y "%~dp0pylint.new.bat" "%WIN_TOOLS_ROOT_DIR%\pylint.bat" 1>nul
|
|
del "%ZIP_DIR%\python276_bin.zip"
|
|
set ERRORLEVEL=0
|
|
goto :GIT_CHECK
|
|
|
|
|
|
:PYTHON_FAIL
|
|
echo ... Failed to checkout python automatically.
|
|
echo You should get the "prebaked" version at %PYTHON_URL%
|
|
set ERRORLEVEL=1
|
|
goto :END
|
|
|
|
:GIT_CHECK
|
|
"%WIN_TOOLS_ROOT_DIR%\python.bat" "%~dp0git_bootstrap.py"
|
|
goto :END
|
|
|
|
:returncode
|
|
set WIN_TOOLS_ROOT_DIR=
|
|
exit /b %ERRORLEVEL%
|
|
|
|
:END
|
|
call :returncode %ERRORLEVEL%
|