Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(625)

Unified Diff: python_runner.sh

Issue 1411793006: Generalize python_git_runner for use in non-git scripts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « python_git_runner.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « python_git_runner.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698