diff options
-rwxr-xr-x | bitbake/bin/bitbake | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 6458d987c..61bd0194d 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -57,6 +57,23 @@ class BBConfiguration(object): self.pkgs_to_build = [] +def get_ui(config): + if config.ui: + interface = config.ui + else: + interface = 'knotty' + + try: + # Dynamically load the UI based on the ui name. Although we + # suggest a fixed set this allows you to have flexibility in which + # ones are available. + module = __import__("bb.ui", fromlist = [interface]) + return getattr(module, interface).main + except AttributeError: + sys.exit("FATAL: Invalid user interface '%s' specified.\n" + "Valid interfaces: ncurses, depexp, knotty [default]." % interface) + + # Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others""" warnlog = logging.getLogger("BitBake.Warnings") _warnings_showwarning = warnings.showwarning @@ -153,6 +170,8 @@ Default BBFILES are the .bb files in the current directory.""") configuration.pkgs_to_build.extend(args[1:]) configuration.initial_path = os.environ['PATH'] + ui_main = get_ui(configuration) + loghandler = event.LogHandler() logger.addHandler(loghandler) @@ -191,17 +210,7 @@ Default BBFILES are the .bb files in the current directory.""") ui = "knotty" try: - try: - # Dynamically load the UI based on the ui name. Although we - # suggest a fixed set this allows you to have flexibility in which - # ones are available. - module = __import__("bb.ui", fromlist = [ui]) - ui_main = getattr(module, ui).main - except AttributeError: - print("FATAL: Invalid user interface '%s' specified. " % ui) - print("Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'.") - else: - return server.BitbakeUILauch().launch(serverinfo, ui_main, server_connection.connection, server_connection.events) + return server.BitbakeUILauch().launch(serverinfo, ui_main, server_connection.connection, server_connection.events) finally: server_connection.terminate() |