diff options
author | Liming An <limingx.l.an@intel.com> | 2012-03-26 14:04:20 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-28 16:49:18 +0100 |
commit | 26cce34e4dd0171d06407fb417577e67db3a5dc9 (patch) | |
tree | 50b8e03177ccea80d481e5f63e9fb88b10bbd00f /bitbake/lib/bb/ui | |
parent | 044376692d231f016245844f172f7824f43f3187 (diff) | |
download | poky-26cce34e4dd0171d06407fb417577e67db3a5dc9.tar.gz |
Hob: change the implementation way about get config info for building log
Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running
[YOCTO #2144]
(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)
(Bitbake rev: 983f8848da0be02dadb1bb6530ff736325d014ba)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui')
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builddetailspage.py | 86 | ||||
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builder.py | 7 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 6 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/runningbuild.py | 33 |
4 files changed, 95 insertions, 37 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py index df8304e06c..db45fe8e77 100755 --- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py | |||
@@ -21,13 +21,90 @@ | |||
21 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 21 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
22 | 22 | ||
23 | import gtk | 23 | import gtk |
24 | import pango | ||
25 | import gobject | ||
24 | from bb.ui.crumbs.progressbar import HobProgressBar | 26 | from bb.ui.crumbs.progressbar import HobProgressBar |
25 | from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton | 27 | from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText |
26 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView | 28 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView |
27 | from bb.ui.crumbs.runningbuild import BuildConfigurationTreeView | ||
28 | from bb.ui.crumbs.runningbuild import BuildFailureTreeView | 29 | from bb.ui.crumbs.runningbuild import BuildFailureTreeView |
29 | from bb.ui.crumbs.hobpages import HobPage | 30 | from bb.ui.crumbs.hobpages import HobPage |
30 | 31 | ||
32 | class BuildConfigurationTreeView(gtk.TreeView): | ||
33 | def __init__ (self): | ||
34 | gtk.TreeView.__init__(self) | ||
35 | self.set_rules_hint(False) | ||
36 | self.set_headers_visible(False) | ||
37 | self.set_property("hover-expand", True) | ||
38 | self.get_selection().set_mode(gtk.SELECTION_SINGLE) | ||
39 | |||
40 | # The icon that indicates whether we're building or failed. | ||
41 | renderer0 = gtk.CellRendererText() | ||
42 | renderer0.set_property('font-desc', pango.FontDescription('courier bold 12')) | ||
43 | col0 = gtk.TreeViewColumn ("Name", renderer0, text=0) | ||
44 | self.append_column (col0) | ||
45 | |||
46 | # The message of configuration. | ||
47 | renderer1 = HobWarpCellRendererText(col_number=1) | ||
48 | col1 = gtk.TreeViewColumn ("Values", renderer1, text=1) | ||
49 | self.append_column (col1) | ||
50 | |||
51 | def set_vars(self, key="", var=[""]): | ||
52 | d = {} | ||
53 | if type(var) == str: | ||
54 | d = {key: [var]} | ||
55 | elif type(var) == list and len(var) > 1: | ||
56 | #create the sub item line | ||
57 | l = [] | ||
58 | text = "" | ||
59 | for item in var: | ||
60 | text = " - " + item | ||
61 | l.append(text) | ||
62 | d = {key: var} | ||
63 | |||
64 | return d | ||
65 | |||
66 | def set_config_model(self, show_vars): | ||
67 | listmodel = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING) | ||
68 | parent = None | ||
69 | for var in show_vars: | ||
70 | for subitem in var.items(): | ||
71 | name = subitem[0] | ||
72 | is_parent = True | ||
73 | for value in subitem[1]: | ||
74 | if is_parent: | ||
75 | parent = listmodel.append(parent, (name, value)) | ||
76 | is_parent = False | ||
77 | else: | ||
78 | listmodel.append(parent, (None, value)) | ||
79 | name = " - " | ||
80 | parent = None | ||
81 | # renew the tree model after get the configuration messages | ||
82 | self.set_model(listmodel) | ||
83 | |||
84 | def show(self, src_config_info, src_params): | ||
85 | vars = [] | ||
86 | vars.append(self.set_vars("BB VERSION:", src_params.bb_version)) | ||
87 | vars.append(self.set_vars("TARGET_ARCH:", src_params.target_arch)) | ||
88 | vars.append(self.set_vars("TARGET_OS:", src_params.target_os)) | ||
89 | vars.append(self.set_vars("MACHINE:", src_config_info.curr_mach)) | ||
90 | vars.append(self.set_vars("DISTRO:", src_config_info.curr_distro)) | ||
91 | vars.append(self.set_vars("DISTRO_VERSION:", src_params.distro_version)) | ||
92 | vars.append(self.set_vars("SDK_MACHINE:", src_config_info.curr_sdk_machine)) | ||
93 | vars.append(self.set_vars("TUNE_FEATURE:", src_params.tune_pkgarch)) | ||
94 | vars.append(self.set_vars("LAYERS:", src_config_info.layers)) | ||
95 | |||
96 | for path in src_config_info.layers: | ||
97 | import os, os.path | ||
98 | if os.path.exists(path): | ||
99 | f = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path) | ||
100 | if f: | ||
101 | branch = f.readline().lstrip('\n').rstrip('\n') | ||
102 | vars.append(self.set_vars("BRANCH:", branch)) | ||
103 | f.close() | ||
104 | break | ||
105 | |||
106 | self.set_config_model(vars) | ||
107 | |||
31 | # | 108 | # |
32 | # BuildDetailsPage | 109 | # BuildDetailsPage |
33 | # | 110 | # |
@@ -60,8 +137,6 @@ class BuildDetailsPage (HobPage): | |||
60 | 137 | ||
61 | self.notebook = HobNotebook() | 138 | self.notebook = HobNotebook() |
62 | self.config_tv = BuildConfigurationTreeView() | 139 | self.config_tv = BuildConfigurationTreeView() |
63 | self.config_model = self.builder.handler.build.model.config_model() | ||
64 | self.config_tv.set_model(self.config_model) | ||
65 | self.scrolled_view_config = gtk.ScrolledWindow () | 140 | self.scrolled_view_config = gtk.ScrolledWindow () |
66 | self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) | 141 | self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) |
67 | self.scrolled_view_config.add(self.config_tv) | 142 | self.scrolled_view_config.add(self.config_tv) |
@@ -161,3 +236,6 @@ class BuildDetailsPage (HobPage): | |||
161 | self.endpath = path | 236 | self.endpath = path |
162 | if v_adj.value == (v_adj.upper - v_adj.page_size): # check the gtk.adjustment position is at end boundary or not | 237 | if v_adj.value == (v_adj.upper - v_adj.page_size): # check the gtk.adjustment position is at end boundary or not |
163 | treeview.scroll_to_cell(path) | 238 | treeview.scroll_to_cell(path) |
239 | |||
240 | def show_configurations(self, configurations, params): | ||
241 | self.config_tv.show(configurations, params) | ||
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index d6c638f28d..93b8fd0d17 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py | |||
@@ -140,6 +140,12 @@ class Parameters: | |||
140 | self.runnable_machine_patterns = params["runnable_machine_patterns"].split() | 140 | self.runnable_machine_patterns = params["runnable_machine_patterns"].split() |
141 | self.deployable_image_types = params["deployable_image_types"].split() | 141 | self.deployable_image_types = params["deployable_image_types"].split() |
142 | self.tmpdir = params["tmpdir"] | 142 | self.tmpdir = params["tmpdir"] |
143 | self.distro_version = params["distro_version"] | ||
144 | self.target_os = params["target_os"] | ||
145 | self.target_arch = params["target_arch"] | ||
146 | self.tune_pkgarch = params["tune_pkgarch"] | ||
147 | self.bb_version = params["bb_version"] | ||
148 | self.tune_arch = params["tune_arch"] | ||
143 | 149 | ||
144 | class Builder(gtk.Window): | 150 | class Builder(gtk.Window): |
145 | 151 | ||
@@ -546,6 +552,7 @@ class Builder(gtk.Window): | |||
546 | self.build_details_page.update_progress_bar("Build Started: ", fraction) | 552 | self.build_details_page.update_progress_bar("Build Started: ", fraction) |
547 | self.build_details_page.reset_build_status() | 553 | self.build_details_page.reset_build_status() |
548 | self.build_details_page.reset_issues() | 554 | self.build_details_page.reset_issues() |
555 | self.build_details_page.show_configurations(self.configuration, self.parameters) | ||
549 | 556 | ||
550 | def build_succeeded(self): | 557 | def build_succeeded(self): |
551 | if self.current_step == self.FAST_IMAGE_GENERATING: | 558 | if self.current_step == self.FAST_IMAGE_GENERATING: |
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 8042fbdf59..8583fa49e5 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
@@ -440,4 +440,10 @@ class HobHandler(gobject.GObject): | |||
440 | params["runnable_machine_patterns"] = self.server.runCommand(["getVariable", "RUNNABLE_MACHINE_PATTERNS"]) or "" | 440 | params["runnable_machine_patterns"] = self.server.runCommand(["getVariable", "RUNNABLE_MACHINE_PATTERNS"]) or "" |
441 | params["deployable_image_types"] = self.server.runCommand(["getVariable", "DEPLOYABLE_IMAGE_TYPES"]) or "" | 441 | params["deployable_image_types"] = self.server.runCommand(["getVariable", "DEPLOYABLE_IMAGE_TYPES"]) or "" |
442 | params["tmpdir"] = self.server.runCommand(["getVariable", "TMPDIR"]) or "" | 442 | params["tmpdir"] = self.server.runCommand(["getVariable", "TMPDIR"]) or "" |
443 | params["distro_version"] = self.server.runCommand(["getVariable", "DISTRO_VERSION"]) or "" | ||
444 | params["target_os"] = self.server.runCommand(["getVariable", "TARGET_OS"]) or "" | ||
445 | params["target_arch"] = self.server.runCommand(["getVariable", "TARGET_ARCH"]) or "" | ||
446 | params["tune_pkgarch"] = self.server.runCommand(["getVariable", "TUNE_PKGARCH"]) or "" | ||
447 | params["bb_version"] = self.server.runCommand(["getVariable", "BB_MIN_VERSION"]) or "" | ||
448 | params["tune_arch"] = self.server.runCommand(["getVariable", "TUNE_ARCH"]) or "" | ||
443 | return params | 449 | return params |
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py index aecfadfb34..102cc7dc86 100644 --- a/bitbake/lib/bb/ui/crumbs/runningbuild.py +++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py | |||
@@ -42,14 +42,6 @@ class RunningBuildModel (gtk.TreeStore): | |||
42 | gobject.TYPE_STRING, | 42 | gobject.TYPE_STRING, |
43 | gobject.TYPE_INT) | 43 | gobject.TYPE_INT) |
44 | 44 | ||
45 | def config_model_filter(self, model, it): | ||
46 | msg = model.get(it, self.COL_MESSAGE)[0] | ||
47 | if not msg or type(msg) != str: | ||
48 | return False | ||
49 | if msg.startswith("\nOE Build Configuration:\n"): | ||
50 | return True | ||
51 | return False | ||
52 | |||
53 | def failure_model_filter(self, model, it): | 45 | def failure_model_filter(self, model, it): |
54 | color = model.get(it, self.COL_COLOR)[0] | 46 | color = model.get(it, self.COL_COLOR)[0] |
55 | if not color: | 47 | if not color: |
@@ -58,11 +50,6 @@ class RunningBuildModel (gtk.TreeStore): | |||
58 | return True | 50 | return True |
59 | return False | 51 | return False |
60 | 52 | ||
61 | def config_model(self): | ||
62 | model = self.filter_new() | ||
63 | model.set_visible_func(self.config_model_filter) | ||
64 | return model | ||
65 | |||
66 | def failure_model(self): | 53 | def failure_model(self): |
67 | model = self.filter_new() | 54 | model = self.filter_new() |
68 | model.set_visible_func(self.failure_model_filter) | 55 | model.set_visible_func(self.failure_model_filter) |
@@ -75,7 +62,6 @@ class RunningBuildModel (gtk.TreeStore): | |||
75 | def close_task_refresh(self): | 62 | def close_task_refresh(self): |
76 | self.foreach(self.foreach_cell_func, None) | 63 | self.foreach(self.foreach_cell_func, None) |
77 | 64 | ||
78 | |||
79 | class RunningBuild (gobject.GObject): | 65 | class RunningBuild (gobject.GObject): |
80 | __gsignals__ = { | 66 | __gsignals__ = { |
81 | 'build-started' : (gobject.SIGNAL_RUN_LAST, | 67 | 'build-started' : (gobject.SIGNAL_RUN_LAST, |
@@ -422,25 +408,6 @@ class RunningBuildTreeView (gtk.TreeView): | |||
422 | 408 | ||
423 | self._add_to_clipboard(message) | 409 | self._add_to_clipboard(message) |
424 | 410 | ||
425 | |||
426 | class BuildConfigurationTreeView(gtk.TreeView): | ||
427 | |||
428 | def __init__ (self): | ||
429 | gtk.TreeView.__init__(self) | ||
430 | self.set_rules_hint(False) | ||
431 | self.set_headers_visible(False) | ||
432 | self.set_property("hover-expand", True) | ||
433 | self.get_selection().set_mode(gtk.SELECTION_SINGLE) | ||
434 | |||
435 | # The message of the build. | ||
436 | self.message_renderer = HobWarpCellRendererText (col_number=0) | ||
437 | self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=RunningBuildModel.COL_MESSAGE, background=RunningBuildModel.COL_COLOR) | ||
438 | font = self.get_style().font_desc | ||
439 | font.set_size(pango.SCALE * 13) | ||
440 | self.message_renderer.set_property('font-desc', font) | ||
441 | self.append_column (self.message_column) | ||
442 | |||
443 | |||
444 | class BuildFailureTreeView(gtk.TreeView): | 411 | class BuildFailureTreeView(gtk.TreeView): |
445 | 412 | ||
446 | def __init__ (self): | 413 | def __init__ (self): |