[Buildbot-devel] setting the description field for ShellCommand
Dobes Vandermeer
dobesv at gmail.com
Thu Nov 3 00:47:54 UTC 2005
I had the exact same problem, but I modified ShellCommand directly;
probably we're not the only two -- Here's the patch hopefully Brian
will be so kind as to apply it (or make his own version of it):
Index: process/step.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/process/step.py,v
retrieving revision 1.75
diff -u -r1.75 step.py
--- process/step.py 24 Oct 2005 22:42:03 -0000 1.75
+++ process/step.py 27 Oct 2005 23:02:18 -0000
@@ -699,7 +699,14 @@
# that we create, but first strip out the ones that we pass to
# BuildStep (like haltOnFailure and friends)
self.workdir = kwargs['workdir'] # required by RemoteShellCommand
+
+ self.description = kwargs.get('description', [])
+ if not self.description:
+ self.description = kwargs.get('name')
+ self.descriptionDone = kwargs.get('descriptionDone')
+
buildstep_kwargs = {}
+
for k in kwargs.keys()[:]:
if k in self.__class__.parms:
buildstep_kwargs[k] = kwargs[k]
@@ -727,10 +734,14 @@
text, so a simple noun is appropriate ('compile',
'tests' ...)
"""
-
+
if done and self.descriptionDone is not None:
+ if isinstance(self.descriptionDone,str):
+ return [self.descriptionDone]
return self.descriptionDone
if self.description is not None:
+ if isinstance(self.description,str):
+ return [self.description]
return self.description
words = self.cmd.command
On 11/1/05, John Blair <John.Blair at sun.com> wrote:
> I need to run commands before our source tree is ready for buildbot to
> run "make". I've been using ShellCommand to do this, but b/c it shows
> the first 2 words in the command the resulting column in the waterfall
> display is very wide.
>
> To allow me to run arbitrary shell commands and set the displayed
> description field, I wrote this object:
>
>
> class DescribedShellCommand(ShellCommand):
>
> name = "described shell command"
> warnOnFailure = True
>
> def __init__(self, **kwargs):
> self.description = kwargs['description']
> self.descriptionDone = kwargs['descriptionDone']
> ShellCommand.__init__(self, **kwargs)
>
>
> This lets me write steps like this in the master.cfg file:
>
> s(step.DescribedShellCommand,
> command = ["cp", "foo/bar/baz/Makefile.foo", "."],
> description = ["build", "prep"],
> descriptionDone = ["prep done"])
>
>
> Is there a better way to do this than what I've done?
>
> -john.
>
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server. Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
More information about the devel
mailing list