From 5aeeb72c3343c0a9a95efa4c4dc7564ba3462a6a Mon Sep 17 00:00:00 2001 From: Dan Jacques Date: Fri, 28 Jul 2017 15:22:25 +0200 Subject: [PATCH] [bootstraps] Sync at gclient, suppress output (#2) Have the "update_depot_tools" script also do a CIPD tool sync. This will ensure that users and systems have access to tooling at sync-time rather than just-in-time loading them at execution time. Update the tool boostraps to suppress any sort of syncing logs, if it does happen. This will ensure that users who execute the tools don't see unexpected output. BUG=chromium:748651 TEST=local - Tested on Mac and Windows. Change-Id: I1aad897d885a07beeac40a372a658681720efd2a Reviewed-on: https://chromium-review.googlesource.com/591229 Commit-Queue: Daniel Jacques Reviewed-by: Robbie Iannucci --- .gitattributes | 2 +- led | 2 +- led.bat | 2 +- tests/gclient_smoketest.py | 4 ++++ update_depot_tools | 18 ++++++++++++------ update_depot_tools.bat | 9 +++++++-- vpython | 2 +- vpython.bat | 2 +- 8 files changed, 28 insertions(+), 13 deletions(-) diff --git a/.gitattributes b/.gitattributes index bc99b4c6c..104b92a37 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,7 +9,7 @@ /*.py recipes /*.sh recipes -# Extensionless tools we want +# Extensionless tools we want and support scripts. /apply_issue recipes /clang* recipes /depot-tools-auth recipes diff --git a/led b/led index 7f7eeac1f..c273aa088 100755 --- a/led +++ b/led @@ -7,6 +7,6 @@ MYPATH=$(dirname "${BASH_SOURCE[0]}") source "$MYPATH/cipd_bin_setup.sh" -cipd_bin_setup +cipd_bin_setup &> /dev/null exec "$MYPATH/.cipd_bin/led" "$@" diff --git a/led.bat b/led.bat index 857ad12d2..1cbff244d 100644 --- a/led.bat +++ b/led.bat @@ -3,5 +3,5 @@ :: Use of this source code is governed by a BSD-style license that can be :: found in the LICENSE file. -call "%~dp0\cipd_bin_setup.bat" +call "%~dp0\cipd_bin_setup.bat" > nul 2>&1 "%~dp0\.cipd_bin\led.exe" %* diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py index 3507babb1..73db7a9e3 100755 --- a/tests/gclient_smoketest.py +++ b/tests/gclient_smoketest.py @@ -179,6 +179,10 @@ class GClientSmoke(GClientSmokeBase): self.check(res, self.gclient(['update'])) def testConfig(self): + # Get any bootstrapping out of the way. + results = self.gclient(['version']) + self.assertEquals(results[2], 0) + p = join(self.root_dir, '.gclient') def test(cmd, expected): if os.path.exists(p): diff --git a/update_depot_tools b/update_depot_tools index bc5ca4868..81e917eb5 100755 --- a/update_depot_tools +++ b/update_depot_tools @@ -112,11 +112,17 @@ function update_git_repo { } # Update git checkouts. -if [ "X$DEPOT_TOOLS_UPDATE" != "X0" -a -e "$base_dir/.git" ] -then - cd $base_dir - update_git_repo - cd - > /dev/null +if [ "X$DEPOT_TOOLS_UPDATE" != "X0" ]; then + if [ -e "$base_dir/.git" ]; then + cd $base_dir + update_git_repo + cd - > /dev/null + fi + + # Sync CIPD and CIPD client tools. + source "$base_dir/cipd_bin_setup.sh" + cipd_bin_setup + + find "$base_dir" -iname "*.pyc" -exec rm -f {} \; fi -find "$base_dir" -iname "*.pyc" -exec rm -f {} \; diff --git a/update_depot_tools.bat b/update_depot_tools.bat index cfb44f047..ec1108c52 100644 --- a/update_depot_tools.bat +++ b/update_depot_tools.bat @@ -52,5 +52,10 @@ for /F %%x in ('git config --get remote.origin.url') DO ( ) call git fetch -q origin > NUL call git rebase -q origin/master > NUL -if errorlevel 1 echo Failed to update depot_tools. -goto :EOF +if errorlevel 1 ( + echo Failed to update depot_tools. + goto :EOF +) + +:: Sync CIPD and CIPD client tools. +call "%~dp0\cipd_bin_setup.bat" diff --git a/vpython b/vpython index d836ae7bb..3fd62f2d7 100755 --- a/vpython +++ b/vpython @@ -7,6 +7,6 @@ MYPATH=$(dirname "${BASH_SOURCE[0]}") source "$MYPATH/cipd_bin_setup.sh" -cipd_bin_setup +cipd_bin_setup &> /dev/null exec "$MYPATH/.cipd_bin/vpython" "$@" diff --git a/vpython.bat b/vpython.bat index a0de9c57a..8aaf92975 100644 --- a/vpython.bat +++ b/vpython.bat @@ -3,5 +3,5 @@ :: Use of this source code is governed by a BSD-style license that can be :: found in the LICENSE file. -call "%~dp0\cipd_bin_setup.bat" +call "%~dp0\cipd_bin_setup.bat" > nul 2>&1 "%~dp0\.cipd_bin\vpython.exe" %*