summaryrefslogtreecommitdiff
path: root/bitbake/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/bin')
-rwxr-xr-xbitbake/bin/bitbake31
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()