[Buildbot-devel] New-­style source steps - why ­commandComplete call is

vasslitvinov at pisem.net vasslitvinov at pisem.net
Tue Jun 18 14:32:10 UTC 2013

Your explanation makes sense, and my code started working with new-style SVN when I overrode finished() instead of commandComplete() method, thanks!

Though the interface should be defined better IMHO as Buildbot is oriented on subclassing stuff that doesn't suit ones needs out of the box (at least that's my perception after some years of knowing Buildbot stuff).

Сбт 15 Июн 2013 22:59:49 +0400, Tom Prince  написал:
vasslitvinov at pisem.net writes:

> It seems that all new-style source steps (at least SVN class I tried

> to use) are not calling commandComplete() method, they directly call

> .finish() or .failed(), what's the reason for that? Old-style SVN does

> call this method...

Well, the interface between `BuildStep` and its subclasses isn't really

well defeined, unfortunately. Most steps run a single remote command run

a single command on the slave, using `LoggingBuildStep.startCommand`

which calls

  - `BuildStep.runCommand` to run the command

  - `LoggingBuildStep.commandComplete` (amongh other things

  - `BuildStep.finish` to end the step.

The old-style source steps are among these.

On the other, the new-style source steps run multiple commnds, so can't

use `LoggingBuildStep.startCommand`, but rather call

`BuildStep.runCommand` multiple times. Given this, it doesn't really

make sense to call `LoggingBuildStep.commandComplete`, since there isn't

a single remote command that gets executed.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20130618/fc64bd2e/attachment.html>

More information about the devel mailing list