about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDennis Schridde <devurandom@gmx.net>2017-05-24 09:11:10 +0200
committerDennis Schridde <devurandom@gmx.net>2017-05-24 10:52:57 +0200
commitcd86a9ba4a727dff5e9139b925408bc500160168 (patch)
tree4dacd7e07432ae3f7cb155b5d8cd545af0752db6 /src
parent604f716dbe8f5aac191d4208cf53e31fd241011e (diff)
downloadrust-cd86a9ba4a727dff5e9139b925408bc500160168.tar.gz
rust-cd86a9ba4a727dff5e9139b925408bc500160168.zip
bootstrap: Use common run() function to call cargo
This brings verbosity even to invocation of cargo itself
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/bootstrap.py30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
index e3e1b086288..0f85ba81d12 100644
--- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py
@@ -127,13 +127,13 @@ def unpack(tarball, dst, verbose=False, match=None):
             shutil.move(tp, fp)
     shutil.rmtree(os.path.join(dst, fname))
 
-def run(args, verbose=False, exception=False, cwd=None):
+def run(args, verbose=False, exception=False, cwd=None, env=None):
     if verbose:
         print("running: " + ' '.join(args))
     sys.stdout.flush()
     # Use Popen here instead of call() as it apparently allows powershell on
     # Windows to not lock up waiting for input presumably.
-    ret = subprocess.Popen(args, cwd=cwd)
+    ret = subprocess.Popen(args, cwd=cwd, env=env)
     code = ret.wait()
     if code != 0:
         err = "failed to run: " + ' '.join(args)
@@ -393,13 +393,7 @@ class RustBuild(object):
             args.append("--locked")
         if self.use_vendored_sources:
             args.append("--frozen")
-        self.run(args, env)
-
-    def run(self, args, env=None, cwd=None):
-        proc = subprocess.Popen(args, env=env, cwd=cwd)
-        ret = proc.wait()
-        if ret != 0:
-            sys.exit(ret)
+        run(args, env=env, verbose=self.verbose)
 
     def output(self, args, env=None, cwd=None):
         default_encoding = sys.getdefaultencoding()
@@ -571,7 +565,7 @@ class RustBuild(object):
             path = line[1:].split(' ')[1]
             submodules.append([path, line[0]])
 
-        self.run(["git", "submodule", "sync"], cwd=self.rust_root)
+        run(["git", "submodule", "sync"], cwd=self.rust_root)
 
         for submod in submodules:
             path, status = submod
@@ -584,15 +578,15 @@ class RustBuild(object):
             submod_path = os.path.join(self.rust_root, path)
 
             if status == ' ':
-                self.run(["git", "reset", "--hard"], cwd=submod_path)
-                self.run(["git", "clean", "-fdx"], cwd=submod_path)
+                run(["git", "reset", "--hard"], cwd=submod_path)
+                run(["git", "clean", "-fdx"], cwd=submod_path)
             elif status == '+':
-                self.run(["git", "submodule", "update", path], cwd=self.rust_root)
-                self.run(["git", "reset", "--hard"], cwd=submod_path)
-                self.run(["git", "clean", "-fdx"], cwd=submod_path)
+                run(["git", "submodule", "update", path], cwd=self.rust_root)
+                run(["git", "reset", "--hard"], cwd=submod_path)
+                run(["git", "clean", "-fdx"], cwd=submod_path)
             elif status == '-':
-                self.run(["git", "submodule", "init", path], cwd=self.rust_root)
-                self.run(["git", "submodule", "update", path], cwd=self.rust_root)
+                run(["git", "submodule", "init", path], cwd=self.rust_root)
+                run(["git", "submodule", "update", path], cwd=self.rust_root)
             else:
                 raise ValueError('unknown submodule status: ' + status)
 
@@ -685,7 +679,7 @@ def bootstrap():
     env["BUILD"] = rb.build
     env["SRC"] = rb.rust_root
     env["BOOTSTRAP_PARENT_ID"] = str(os.getpid())
-    rb.run(args, env)
+    run(args, env=env, verbose=rb.verbose)
 
 def main():
     start_time = time()