[Buildbot-devel] BuildStep tangle [Was: Easy question]

Ian Zimmerman itz at buug.org
Wed Feb 15 08:20:42 UTC 2012


Axel> Using the buildstep class and it's constructor arguments to me is
Axel> the obvious choice.

Dustin> Do you have a proposed implementation?

I had a look and, as a complete surprise to me, this way of specifying
steps seems to be still supported.

But, even if you only use the old style spec the step classes still have
to be written the roundabout way because of stuff that gets added to the
kwargs later in life of the object instance.  And there is also the
business with the params list, which is even more confusing.  Now I can
remember - it was this that tripped me when I started with buildbot; the
step-as-factory thing was secondary (though obviously closely related).

It seems to me that underlying all the confusion and inelegance is the
use of the kwargs member as a kitchen sink.  Why do for example
parameters for RemoteShellCommand have to be flattened into the
ShellCommand's kwargs?  If they were passed as a separate dictionary
(ie. a _single_ argument for ShellCommand), there would be no need for
the params mechanism in this case.  Maybe something similar is true for
all step classes?

-- 
Ian Zimmerman
gpg public key: 1024D/C6FF61AD
fingerprint: 66DC D68F 5C1B 4D71 2EE5  BD03 8A00 786C C6FF 61AD
Rule 420: All persons more than eight miles high to leave the court.




More information about the devel mailing list