summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2011-06-14 15:12:16 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-08 17:38:42 +0100
commit4fadc30b92d42523fee013c168d47bc93dfe4fbd (patch)
treee37df0b79a8d6e20fd8b93bf065c9cd7bb033a5a
parent18ce7e2ef3a3b65bc0abca4f0135005249e6d2ca (diff)
downloadpoky-4fadc30b92d42523fee013c168d47bc93dfe4fbd.tar.gz
poky-4fadc30b92d42523fee013c168d47bc93dfe4fbd.tar.bz2
poky-4fadc30b92d42523fee013c168d47bc93dfe4fbd.zip
bitbake cooker/ui: handle cmd line parsing result by individual UI.
Changed the return result of "getCmdLineAction" to a dictionary {'action', 'msg'} to allow the individual UI decide how to handle the cmd line parsing result. (Bitbake rev: 521909d1350a415d19516aa1710041e30950c7cc) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/cooker.py34
-rw-r--r--bitbake/lib/bb/ui/depexp.py7
-rw-r--r--bitbake/lib/bb/ui/goggle.py6
-rw-r--r--bitbake/lib/bb/ui/knotty.py6
-rw-r--r--bitbake/lib/bb/ui/ncurses.py6
5 files changed, 36 insertions, 23 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index ecf20dcf68..1f6e093efb 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -178,41 +178,39 @@ class BBCooker:
def parseCommandLine(self):
# Parse any commandline into actions
+ self.commandlineAction = {'action':None, 'msg':None}
if self.configuration.show_environment:
- self.commandlineAction = None
-
if 'world' in self.configuration.pkgs_to_build:
- buildlog.error("'world' is not a valid target for --environment.")
- if 'universe' in self.configuration.pkgs_to_build:
- buildlog.error("'universe' is not a valid target for --environment.")
+ self.commandlineAction['msg'] = "'world' is not a valid target for --environment."
+ elif 'universe' in self.configuration.pkgs_to_build:
+ self.commandlineAction['msg'] = "'universe' is not a valid target for --environment."
elif len(self.configuration.pkgs_to_build) > 1:
- buildlog.error("Only one target can be used with the --environment option.")
+ self.commandlineAction['msg'] = "Only one target can be used with the --environment option."
elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
- buildlog.error("No target should be used with the --environment and --buildfile options.")
+ self.commandlineAction['msg'] = "No target should be used with the --environment and --buildfile options."
elif len(self.configuration.pkgs_to_build) > 0:
- self.commandlineAction = ["showEnvironmentTarget", self.configuration.pkgs_to_build]
+ self.commandlineAction['action'] = ["showEnvironmentTarget", self.configuration.pkgs_to_build]
else:
- self.commandlineAction = ["showEnvironment", self.configuration.buildfile]
+ self.commandlineAction['action'] = ["showEnvironment", self.configuration.buildfile]
elif self.configuration.buildfile is not None:
- self.commandlineAction = ["buildFile", self.configuration.buildfile, self.configuration.cmd]
+ self.commandlineAction['action'] = ["buildFile", self.configuration.buildfile, self.configuration.cmd]
elif self.configuration.revisions_changed:
- self.commandlineAction = ["compareRevisions"]
+ self.commandlineAction['action'] = ["compareRevisions"]
elif self.configuration.show_versions:
- self.commandlineAction = ["showVersions"]
+ self.commandlineAction['action'] = ["showVersions"]
elif self.configuration.parse_only:
- self.commandlineAction = ["parseFiles"]
+ self.commandlineAction['action'] = ["parseFiles"]
elif self.configuration.dot_graph:
if self.configuration.pkgs_to_build:
- self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
+ self.commandlineAction['action'] = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
else:
- self.commandlineAction = None
- buildlog.error("Please specify a package name for dependency graph generation.")
+ self.commandlineAction['msg'] = "Please specify a package name for dependency graph generation."
else:
if self.configuration.pkgs_to_build:
- self.commandlineAction = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd]
+ self.commandlineAction['action'] = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd]
else:
+ #self.commandlineAction['msg'] = "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information."
self.commandlineAction = None
- buildlog.error("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
def runCommands(self, server, data, abort):
"""
diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index dcf7e6e2f3..b62adbf851 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -199,10 +199,13 @@ class gtkthread(threading.Thread):
def main(server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
- if not cmdline or cmdline[0] != "generateDotGraph":
+ if cmdline and not cmdline['action']:
+ print(cmdline['msg'])
+ return
+ elif not cmdline or (cmdline['action'] and cmdline['action'][0] != "generateDotGraph"):
print("This UI is only compatible with the -g option")
return
- ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]])
+ ret = server.runCommand(["generateDepTreeEvent", cmdline['action'][1], cmdline['action'][2]])
if ret != True:
print("Couldn't run command! %s" % ret)
return
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index bd03d31983..b2fd2741aa 100644
--- a/bitbake/lib/bb/ui/goggle.py
+++ b/bitbake/lib/bb/ui/goggle.py
@@ -82,8 +82,12 @@ def main (server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline:
+ print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
return 1
- ret = server.runCommand(cmdline)
+ elif not cmdline['action']:
+ print(cmdline['msg'])
+ return 1
+ ret = server.runCommand(cmdline['action'])
if ret != True:
print("Couldn't get default commandline! %s" % ret)
return 1
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 997eb3fe89..a4deb468bb 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -80,8 +80,12 @@ def main(server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline:
+ print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
return 1
- ret = server.runCommand(cmdline)
+ elif not cmdline['action']:
+ print(cmdline['msg'])
+ return 1
+ ret = server.runCommand(cmdline['action'])
if ret != True:
print("Couldn't get default commandline! %s" % ret)
return 1
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index 469f1b7309..8684697aa2 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -232,8 +232,12 @@ class NCursesUI:
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline:
+ print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
return
- ret = server.runCommand(cmdline)
+ elif not cmdline['action']:
+ print(cmdline['msg'])
+ return
+ ret = server.runCommand(cmdline['action'])
if ret != True:
print("Couldn't get default commandlind! %s" % ret)
return