# Copyright (c) 2011 The Chromium Embedded Framework Authors. # Portions copyright (c) 2011 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. from __future__ import absolute_import from __future__ import print_function import os, sys try: # depot_tools may already be in the import path. import gclient_utils except ImportError as e: # Search the PATH environment variable to find the depot_tools folder. depot_tools = None paths = os.environ.get('PATH').split(os.pathsep) for path in paths: if os.path.exists(os.path.join(path, 'gclient_utils.py')): depot_tools = path break if depot_tools is None: print('Error: could not find depot_tools in PATH.', file=sys.stderr) sys.exit(2) # Add depot_tools to import path. sys.path.append(depot_tools) import gclient_utils # Copied from gclient.py python code. def RunAction(dir, command): """Runs the action.""" try: gclient_utils.CheckCallAndFilter( command, cwd=dir, always_show_header=True, print_stdout=True) except gclient_utils.Error as e: # Use a discrete exit status code of 2 to indicate that a hook action # failed. Users of this script may wish to treat hook action failures # differently from VC failures. print('Error: %s' % str(e), file=sys.stderr) sys.exit(2)