diff options
author | Lianhao Lu <lianhao.lu@intel.com> | 2011-06-14 15:12:16 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-08 17:38:42 +0100 |
commit | 4fadc30b92d42523fee013c168d47bc93dfe4fbd (patch) | |
tree | e37df0b79a8d6e20fd8b93bf065c9cd7bb033a5a /bitbake/lib/bb | |
parent | 18ce7e2ef3a3b65bc0abca4f0135005249e6d2ca (diff) | |
download | poky-4fadc30b92d42523fee013c168d47bc93dfe4fbd.tar.gz |
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>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 34 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/depexp.py | 7 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/goggle.py | 6 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/knotty.py | 6 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/ncurses.py | 6 |
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: | |||
178 | 178 | ||
179 | def parseCommandLine(self): | 179 | def parseCommandLine(self): |
180 | # Parse any commandline into actions | 180 | # Parse any commandline into actions |
181 | self.commandlineAction = {'action':None, 'msg':None} | ||
181 | if self.configuration.show_environment: | 182 | if self.configuration.show_environment: |
182 | self.commandlineAction = None | ||
183 | |||
184 | if 'world' in self.configuration.pkgs_to_build: | 183 | if 'world' in self.configuration.pkgs_to_build: |
185 | buildlog.error("'world' is not a valid target for --environment.") | 184 | self.commandlineAction['msg'] = "'world' is not a valid target for --environment." |
186 | if 'universe' in self.configuration.pkgs_to_build: | 185 | elif 'universe' in self.configuration.pkgs_to_build: |
187 | buildlog.error("'universe' is not a valid target for --environment.") | 186 | self.commandlineAction['msg'] = "'universe' is not a valid target for --environment." |
188 | elif len(self.configuration.pkgs_to_build) > 1: | 187 | elif len(self.configuration.pkgs_to_build) > 1: |
189 | buildlog.error("Only one target can be used with the --environment option.") | 188 | self.commandlineAction['msg'] = "Only one target can be used with the --environment option." |
190 | elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0: | 189 | elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0: |
191 | buildlog.error("No target should be used with the --environment and --buildfile options.") | 190 | self.commandlineAction['msg'] = "No target should be used with the --environment and --buildfile options." |
192 | elif len(self.configuration.pkgs_to_build) > 0: | 191 | elif len(self.configuration.pkgs_to_build) > 0: |
193 | self.commandlineAction = ["showEnvironmentTarget", self.configuration.pkgs_to_build] | 192 | self.commandlineAction['action'] = ["showEnvironmentTarget", self.configuration.pkgs_to_build] |
194 | else: | 193 | else: |
195 | self.commandlineAction = ["showEnvironment", self.configuration.buildfile] | 194 | self.commandlineAction['action'] = ["showEnvironment", self.configuration.buildfile] |
196 | elif self.configuration.buildfile is not None: | 195 | elif self.configuration.buildfile is not None: |
197 | self.commandlineAction = ["buildFile", self.configuration.buildfile, self.configuration.cmd] | 196 | self.commandlineAction['action'] = ["buildFile", self.configuration.buildfile, self.configuration.cmd] |
198 | elif self.configuration.revisions_changed: | 197 | elif self.configuration.revisions_changed: |
199 | self.commandlineAction = ["compareRevisions"] | 198 | self.commandlineAction['action'] = ["compareRevisions"] |
200 | elif self.configuration.show_versions: | 199 | elif self.configuration.show_versions: |
201 | self.commandlineAction = ["showVersions"] | 200 | self.commandlineAction['action'] = ["showVersions"] |
202 | elif self.configuration.parse_only: | 201 | elif self.configuration.parse_only: |
203 | self.commandlineAction = ["parseFiles"] | 202 | self.commandlineAction['action'] = ["parseFiles"] |
204 | elif self.configuration.dot_graph: | 203 | elif self.configuration.dot_graph: |
205 | if self.configuration.pkgs_to_build: | 204 | if self.configuration.pkgs_to_build: |
206 | self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd] | 205 | self.commandlineAction['action'] = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd] |
207 | else: | 206 | else: |
208 | self.commandlineAction = None | 207 | self.commandlineAction['msg'] = "Please specify a package name for dependency graph generation." |
209 | buildlog.error("Please specify a package name for dependency graph generation.") | ||
210 | else: | 208 | else: |
211 | if self.configuration.pkgs_to_build: | 209 | if self.configuration.pkgs_to_build: |
212 | self.commandlineAction = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd] | 210 | self.commandlineAction['action'] = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd] |
213 | else: | 211 | else: |
212 | #self.commandlineAction['msg'] = "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information." | ||
214 | self.commandlineAction = None | 213 | self.commandlineAction = None |
215 | buildlog.error("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") | ||
216 | 214 | ||
217 | def runCommands(self, server, data, abort): | 215 | def runCommands(self, server, data, abort): |
218 | """ | 216 | """ |
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): | |||
199 | def main(server, eventHandler): | 199 | def main(server, eventHandler): |
200 | try: | 200 | try: |
201 | cmdline = server.runCommand(["getCmdLineAction"]) | 201 | cmdline = server.runCommand(["getCmdLineAction"]) |
202 | if not cmdline or cmdline[0] != "generateDotGraph": | 202 | if cmdline and not cmdline['action']: |
203 | print(cmdline['msg']) | ||
204 | return | ||
205 | elif not cmdline or (cmdline['action'] and cmdline['action'][0] != "generateDotGraph"): | ||
203 | print("This UI is only compatible with the -g option") | 206 | print("This UI is only compatible with the -g option") |
204 | return | 207 | return |
205 | ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]]) | 208 | ret = server.runCommand(["generateDepTreeEvent", cmdline['action'][1], cmdline['action'][2]]) |
206 | if ret != True: | 209 | if ret != True: |
207 | print("Couldn't run command! %s" % ret) | 210 | print("Couldn't run command! %s" % ret) |
208 | return | 211 | 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): | |||
82 | try: | 82 | try: |
83 | cmdline = server.runCommand(["getCmdLineAction"]) | 83 | cmdline = server.runCommand(["getCmdLineAction"]) |
84 | if not cmdline: | 84 | if not cmdline: |
85 | print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") | ||
85 | return 1 | 86 | return 1 |
86 | ret = server.runCommand(cmdline) | 87 | elif not cmdline['action']: |
88 | print(cmdline['msg']) | ||
89 | return 1 | ||
90 | ret = server.runCommand(cmdline['action']) | ||
87 | if ret != True: | 91 | if ret != True: |
88 | print("Couldn't get default commandline! %s" % ret) | 92 | print("Couldn't get default commandline! %s" % ret) |
89 | return 1 | 93 | 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): | |||
80 | try: | 80 | try: |
81 | cmdline = server.runCommand(["getCmdLineAction"]) | 81 | cmdline = server.runCommand(["getCmdLineAction"]) |
82 | if not cmdline: | 82 | if not cmdline: |
83 | print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") | ||
83 | return 1 | 84 | return 1 |
84 | ret = server.runCommand(cmdline) | 85 | elif not cmdline['action']: |
86 | print(cmdline['msg']) | ||
87 | return 1 | ||
88 | ret = server.runCommand(cmdline['action']) | ||
85 | if ret != True: | 89 | if ret != True: |
86 | print("Couldn't get default commandline! %s" % ret) | 90 | print("Couldn't get default commandline! %s" % ret) |
87 | return 1 | 91 | 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: | |||
232 | try: | 232 | try: |
233 | cmdline = server.runCommand(["getCmdLineAction"]) | 233 | cmdline = server.runCommand(["getCmdLineAction"]) |
234 | if not cmdline: | 234 | if not cmdline: |
235 | print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") | ||
235 | return | 236 | return |
236 | ret = server.runCommand(cmdline) | 237 | elif not cmdline['action']: |
238 | print(cmdline['msg']) | ||
239 | return | ||
240 | ret = server.runCommand(cmdline['action']) | ||
237 | if ret != True: | 241 | if ret != True: |
238 | print("Couldn't get default commandlind! %s" % ret) | 242 | print("Couldn't get default commandlind! %s" % ret) |
239 | return | 243 | return |