[Buildbot-commits] buildbot ChangeLog,1.854,1.855
Brian Warner
warner at users.sourceforge.net
Mon Jun 18 02:52:51 UTC 2007
Update of /cvsroot/buildbot/buildbot
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23618
Modified Files:
ChangeLog
Log Message:
[project @ use instances instead of class/kwarg tuples when putting BuildSteps in factories. Closes: #11.]
Original author: warner at lothar.com
Date: 2007-06-18 02:51:00+00:00
Index: ChangeLog
===================================================================
RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v
retrieving revision 1.854
retrieving revision 1.855
diff -u -d -r1.854 -r1.855
--- ChangeLog 17 Jun 2007 21:10:39 -0000 1.854
+++ ChangeLog 18 Jun 2007 02:52:48 -0000 1.855
@@ -1,3 +1,51 @@
+2007-06-17 Brian Warner <warner at lothar.com>
+
+ * buildbot/process/factory.py (BuildFactory.addStep): To simplify
+ the config file, we're moving to using actual instances instead of
+ the (class, kwargs) 'step specification' tuples. BuildFactory
+ still keeps a list of tuples internally, but when real instances
+ are passed in to addStep(), they are asked for their class and
+ kwargs using the new BuildStep.getStepFactory method. BuildFactory
+ accepts both instances and the tuple form, and converts instances
+ to the tuple form, but the instance form is preferred because it
+ gives the Steps a chance to do argument validation. Closes: #11.
+
+ * buildbot/process/buildstep.py (BuildStep.__init__): record the
+ factory information necessary to implement getStepFactory. The
+ addFactoryArguments() method can be used to include arguments that
+ aren't passed to the BuildStep base class constructor.
+ (BuildStep.setBuild):
+ (BuildStep.setDefaultWorkdir): new methods to take parameters that
+ are needed for live BuildSteps but not to construct the specification
+ tuples that are stashed in the factory.
+
+ * buildbot/process/base.py (Build.setupBuild): pass 'build' and
+ 'workdir' into new BuildSteps by using methods instead of
+ arguments. This makes the constructor for BuildSteps a lot
+ simpler.
+
+ * buildbot/steps/*.py: update to match this change. Basically this
+ means adding calls to addFactoryArguments() in the __init__
+ methods to capture the arguments that aren't passed through to the
+ base class.
+ * buildbot/steps/shell.py (ShellCommand.setDefaultWorkdir): copy
+ the new workdir (if any) into the RemoteShellCommands arguments.
+ * buildbot/steps/source.py: allow workdir= to be optional,
+ implement setDefaultWorkdir() since we don't inherit from
+ (CVS): finally remove old clobber=/export=/copydir= arguments,
+ in favor of the mode= argument that's been around forever now.
+ * buildbot/steps/transfer.py: remove build= argument
+
+ * buildbot/test/*.py: update to match, generally by turning all
+ build= arguments into subsequent calls to s.setBuild()
+ * buildbot/test/test_config.py (Factories): verify that we can
+ use either BuildStep instances or class/kwarg tuples in both
+ BuildFactory.addStep and BuildFactory.__init__
+
+ * docs/buildbot.texinfo (Build Steps): document the new approach,
+ mention compatibility with the old approach, update all examples
+ to use the new style.
+
2007-06-16 Brian Warner <warner at lothar.com>
* buildbot/changes/svnpoller.py: when the poll fails, don't kill
More information about the Commits
mailing list