123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # Copyright 2015 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 file is designed to be sourced from a bash script whose name takes the
- ## form 'command-name'. This script will then instead invoke
- ## '[depot_tools]/command_name.py' correctly under mingw as well
- ## as posix-ey systems, passing along all other command line flags.
- ## Example:
- ## echo ". python_runner.sh" > git-foo-command
- ## ./git-foo-command #=> runs `python git_foo_command.py`
- ## Constants
- PYTHONDONTWRITEBYTECODE=1; export PYTHONDONTWRITEBYTECODE
- ## "Input parameters".
- # If set before the script is sourced, then we'll use the pre-set values.
- #
- # SCRIPT defaults to the basename of $0, with dashes replaced with underscores
- # "$0" can have several different formats depending on how the script was called
- # and the environment being used, including having different formats even in the
- # same environment (e.g. in msys, 'git cl' causes $0 to have a Windows-style
- # path, but calling 'git-cl' results in a POSIX-style path), so don't assume a
- # particular format.
- # First try to split it using Windows format ...
- DEPOT_TOOLS="${0%\\*}"
- if [[ "$DEPOT_TOOLS" = "$0" ]]; then
- # If that didn't work, try POSIX format ...
- DEPOT_TOOLS="${0%/*}"
- if [[ "$DEPOT_TOOLS" = "$0" ]]; then
- # Sometimes commands will run with no path (e.g. a git command run from
- # within the depot_tools dir itself). In that case, treat it as if run like:
- # "./command"
- DEPOT_TOOLS="."
- BASENAME="$0"
- else
- BASENAME="${0##*/}"
- fi
- else
- BASENAME="${0##*\\}"
- fi
- SCRIPT="${SCRIPT-${BASENAME//-/_}.py}"
- # Ensure that "depot_tools" is somewhere in PATH so this tool can be used
- # standalone, but allow other PATH manipulations to take priority.
- PATH=$PATH:$DEPOT_TOOLS
- vpython3 "$DEPOT_TOOLS/$SCRIPT" "$@"
|