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.
depot_tools/python_runner.sh

61 lines
2.1 KiB
Bash

# 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
Reland "depot_tools: Run using Python 3 by default." This reverts commit e2ac022f0bdfbb36ddf355eb4da0151081b02130. git-cache issues were solved by https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2120966 Original change's description: > Reland "depot_tools: Run using Python 3 by default." > > This is a reland of 01ed358917aa9f9f6314414ba3bb5e808bdedca2 > > * python_runner.sh, gclient, roll-dep and fetch will call vpython > (instead of vpython3) when running on Windows under git-bash. > * vpython3 now detects when running on Windows under git-bash and > executes vpython3.bat instead. > * vpython3.bat calls python3.exe directly instead of calling python3.bat. > > Original change's description: > > depot_tools: Run using Python 3 by default. > > > > Run gclient, roll-dep, fetch and custom git commands (i.e. git-cl, git-rebase-update, git-new-branch, etc.) > > using vpython3 by default. > > > > Change-Id: I4eecddafa6ca4c5f82ec097615c79d2a741613e7 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2113550 > > Reviewed-by: Anthony Polito <apolito@google.com> > > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> > > Change-Id: I9829141d7ea26a67e655264430151f493e73a930 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2118418 > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> > Reviewed-by: Anthony Polito <apolito@google.com> Change-Id: Iff02533f0a11062f335a010c074043c720d5b2ba Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2121304 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
if [[ $GCLIENT_PY3 = 1 ]]; then
# Explicitly run on Python 3
vpython3 "$DEPOT_TOOLS/$SCRIPT" "$@"
elif [[ $GCLIENT_PY3 = 0 ]]; then
# Explicitly run on Python 2
vpython "$DEPOT_TOOLS/$SCRIPT" "$@"
Reland "depot_tools: Run using Python 3 by default." This reverts commit e2ac022f0bdfbb36ddf355eb4da0151081b02130. git-cache issues were solved by https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2120966 Original change's description: > Reland "depot_tools: Run using Python 3 by default." > > This is a reland of 01ed358917aa9f9f6314414ba3bb5e808bdedca2 > > * python_runner.sh, gclient, roll-dep and fetch will call vpython > (instead of vpython3) when running on Windows under git-bash. > * vpython3 now detects when running on Windows under git-bash and > executes vpython3.bat instead. > * vpython3.bat calls python3.exe directly instead of calling python3.bat. > > Original change's description: > > depot_tools: Run using Python 3 by default. > > > > Run gclient, roll-dep, fetch and custom git commands (i.e. git-cl, git-rebase-update, git-new-branch, etc.) > > using vpython3 by default. > > > > Change-Id: I4eecddafa6ca4c5f82ec097615c79d2a741613e7 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2113550 > > Reviewed-by: Anthony Polito <apolito@google.com> > > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> > > Change-Id: I9829141d7ea26a67e655264430151f493e73a930 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2118418 > Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> > Reviewed-by: Anthony Polito <apolito@google.com> Change-Id: Iff02533f0a11062f335a010c074043c720d5b2ba Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2121304 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
5 years ago
else
# Run on Python 3, allows default to be flipped.
vpython3 "$DEPOT_TOOLS/$SCRIPT" "$@"
fi