| #!/usr/bin/env bash |
| |
| # 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. |
| |
| # This is a shell script to ensure that all of the "depot_tools" bootstrap |
| # programs are locally downloaded and ready for execution. |
| # |
| # Unlike "update_depot_tools", this script works with the current |
| # checkout, and will not update/sync the "depot_tools" repository. |
| # |
| # TODO: This duplicates logic in "update_depot_tools". Update that script to |
| # invoke this script instead of manually calling "cipd_bin_setup" and other |
| # operations. |
| |
| # Test if this script is running under a MinGW install. If it is, we will |
| # hardcode the paths to Git where possible. |
| OUTPUT="$(uname | grep 'MINGW')" |
| MINGW=$? |
| |
| if [ $MINGW = 0 ]; then |
| base_dir="${0%/*}" |
| else |
| base_dir=$(dirname "${BASH_SOURCE[0]}") |
| if [ -L "$base_dir" ]; then |
| base_dir=`cd "$base_dir" && pwd -P` |
| fi |
| |
| # Don't bootstrap Python 3 on windows, since it is already done by |
| # bootstrap/win_tools.bat. |
| if [ "X$DEPOT_TOOLS_BOOTSTRAP_PYTHON3" != "X0" ]; then |
| source "$base_dir/bootstrap_python3" |
| bootstrap_python3 |
| fi |
| fi |
| |
| # Sync CIPD-boostrapped packages. |
| source "$base_dir/cipd_bin_setup.sh" |
| cipd_bin_setup |
| |
| # Sync "gsutil.py". |
| python "$base_dir/gsutil.py" -- version 1> /dev/null |
| |
| # Sync all the pylint versions. |
| for script in "$base_dir"/pylint-[0-9].[0-9]; do |
| # We have to silence stderr too because newer pylint versions will emit |
| # a spurious log to tell us what pylintrc file it's using. Ugh. |
| "$script" --version >/dev/null 2>&1 |
| done |
| |
| # Cleanup. |
| find "$base_dir" -iname "*.pyc" -delete || true |