diff options
Diffstat (limited to 'bitbake')
| -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 6458d987c0..61bd0194d6 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() | 
