Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a9bd34e authored by Yifan Hong's avatar Yifan Hong Committed by Gerrit Code Review
Browse files

Merge "Add SetHostToolLocation."

parents 1ba1092e 8e332ff3
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ class Options(object):
    self.cache_size = None
    self.stash_threshold = 0.8
    self.logfile = None
    self.host_tools = {}


OPTIONS = Options()
@@ -213,6 +214,10 @@ def InitLogging():
  logging.config.dictConfig(config)


def SetHostToolLocation(tool_name, location):
  OPTIONS.host_tools[tool_name] = location


def Run(args, verbose=None, **kwargs):
  """Creates and returns a subprocess.Popen object.

@@ -234,6 +239,14 @@ def Run(args, verbose=None, **kwargs):
    kwargs['stderr'] = subprocess.STDOUT
  if 'universal_newlines' not in kwargs:
    kwargs['universal_newlines'] = True

  # If explicitly set host tool location before, use that location to avoid
  # PATH violation. Make a copy of args in case client relies on the content
  # of args later.
  if args and args[0] in OPTIONS.host_tools:
    args = args[:]
    args[0] = OPTIONS.host_tools[args[0]]

  # Don't log any if caller explicitly says so.
  if verbose:
    logger.info("  Running: \"%s\"", " ".join(args))