Index: python_runner.sh |
diff --git a/python_runner.sh b/python_runner.sh |
new file mode 100755 |
index 0000000000000000000000000000000000000000..bf9f624dd869834c15bb842bd858e0d5880a5e9e |
--- /dev/null |
+++ b/python_runner.sh |
@@ -0,0 +1,50 @@ |
+# 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 |
+ |
+## "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}" |
+ |
+if [[ -e "$DEPOT_TOOLS/python.bat" && $OSTYPE = msys ]]; then |
+ cmd.exe //c "$DEPOT_TOOLS\\python.bat" "$DEPOT_TOOLS\\$SCRIPT" "$@" |
+else |
+ exec "$DEPOT_TOOLS/$SCRIPT" "$@" |
+fi |