diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2017-03-03 05:27:07 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2017-03-04 21:38:26 +0300 |
| commit | 11adac350b63ab3371a50b10184238ebc3a2be7f (patch) | |
| tree | 87e871ec683de27076f38a832b8f04dc8b671860 | |
| parent | 3b454665ea360619ceb45aac5b9eae6d5994dc64 (diff) | |
| download | rust-11adac350b63ab3371a50b10184238ebc3a2be7f.tar.gz rust-11adac350b63ab3371a50b10184238ebc3a2be7f.zip | |
bootstrap.py: Report build status
Move some code from x.py to bootstrap.py
| -rw-r--r-- | src/bootstrap/bootstrap.py | 21 | ||||
| -rwxr-xr-x | x.py | 14 |
2 files changed, 21 insertions, 14 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index c1ee0c29ac9..7dd53f41a21 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -8,6 +8,7 @@ # option. This file may not be copied, modified, or distributed # except according to those terms. +from __future__ import print_function import argparse import contextlib import datetime @@ -501,7 +502,7 @@ class RustBuild(object): return "{}-{}".format(cputype, ostype) -def main(): +def bootstrap(): parser = argparse.ArgumentParser(description='Build rust') parser.add_argument('--config') parser.add_argument('--clean', action='store_true') @@ -564,8 +565,6 @@ def main(): rb._rustc_channel, rb._rustc_date = data['rustc'].split('-', 1) rb._cargo_rev = data['cargo'] - start_time = time() - # Fetch/build the bootstrap rb.build = rb.build_triple() rb.download_stage0() @@ -582,9 +581,19 @@ def main(): env["BOOTSTRAP_PARENT_ID"] = str(os.getpid()) rb.run(args, env) - end_time = time() - - print("Build completed in %s" % format_build_time(end_time - start_time)) +def main(): + start_time = time() + try: + bootstrap() + print("Build completed successfully in %s" % format_build_time(time() - start_time)) + except (SystemExit, KeyboardInterrupt) as e: + if hasattr(e, 'code') and isinstance(e.code, int): + exit_code = e.code + else: + exit_code = 1 + print(e) + print("Build completed unsuccessfully in %s" % format_build_time(time() - start_time)) + sys.exit(exit_code) if __name__ == '__main__': main() diff --git a/x.py b/x.py index d281a6abc93..8f528889d60 100755 --- a/x.py +++ b/x.py @@ -9,14 +9,12 @@ # option. This file may not be copied, modified, or distributed # except according to those terms. -import sys +# This file is only a "symlink" to boostrap.py, all logic should go there. + import os -dir = os.path.dirname(__file__) -sys.path.append(os.path.abspath(os.path.join(dir, "src", "bootstrap"))) +import sys +rust_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.join(rust_dir, "src", "bootstrap")) import bootstrap - -try: - bootstrap.main() -except KeyboardInterrupt: - sys.exit() +bootstrap.main() |
