aboutsummaryrefslogtreecommitdiffstats
path: root/utils.py
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-09-15 16:09:24 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-09-16 16:13:03 +0000
commit450ff3b4ebae80de192f24afb5cd1993faf226b4 (patch)
tree4ab5c27592775466a5eb0837e56a7317c09a54fb /utils.py
parent82d3f8435bc8819b39ece35cd062962b52b5a148 (diff)
setup.py: Make prepareSubModules() a bit smarter
Avoid unnecessarily re-initializing the submodules and checking out branches. In a first loop, collect the subdirectories and check whether any are missing. Initialize submodules only in that case. In the second loop, check out the correct branch if it differs. Change-Id: I3c16fd9b7bd6feb77b7b921d61f7e622cfab797f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'utils.py')
-rw-r--r--utils.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/utils.py b/utils.py
index a24f562a6..0167b9349 100644
--- a/utils.py
+++ b/utils.py
@@ -325,6 +325,16 @@ def rmtree(dirname):
raise
shutil.rmtree(dirname, ignore_errors=False, onerror=handleRemoveReadonly)
+def run_process_output(args, initial_env=None):
+ if initial_env is None:
+ initial_env = os.environ
+ stdOut = subprocess.Popen(args, env = initial_env, universal_newlines = 1,
+ stdout=subprocess.PIPE).stdout
+ result = []
+ for rawLine in stdOut.readlines():
+ line = rawLine.decode('utf-8')
+ result.append(line.rstrip())
+ return result
def run_process(args, initial_env=None):
def _log(buffer, checkNewLine=False):