diff --git a/buildbot/master.cfg b/buildbot/master.cfg index e74468cd..29f974d0 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -130,6 +130,7 @@ c['schedulers'].append( Nightly( # only take place on one slave. from buildbot.process.factory import BuildFactory +from buildbot.process.properties import Property, WithProperties #from buildbot.steps.source import SVN # old slave-side SVN build step from buildbot.steps.source.svn import SVN # new server-side SVN build step from buildbot.steps.shell import ShellCommand @@ -140,12 +141,20 @@ def makeFactory(port, buildType='buildOnly', pyVer='2.7'): # all of them need to fetch the source factory = BuildFactory() + # Was the build started from the force build form with a "fullclean" + # property set? If so, clobber the SVN checkout folders. + cmd = ['bash', '-c', + WithProperties('if [ %(fullclean:-no)s == yes ]; then rm -rf ../wxWidgets ../Phoenix; echo fully cleaned; fi'), + ] + factory.addStep(ShellCommand(command=cmd, description='fullclean?', workdir="")) + + # Do an incremental update, keeping prior build tree mode = 'incremental' method = None clean = '' - # Since the wx build doesn't have good dependency checking on MSW, clean first. + # Since the wx build doesn't have good dependency checking on MSW, always clean first. if port in ['win32', 'win64']: clean = 'clean' @@ -181,7 +190,9 @@ def makeFactory(port, buildType='buildOnly', pyVer='2.7'): if buildType == 'dist': cmd += ' bdist_egg --upload' - factory.addStep(ShellCommand(command=cmd.split(), workdir="Phoenix")) + cmd = cmd.split() + [Property('buildargs')] + factory.addStep(ShellCommand(command=cmd, workdir="Phoenix", + description="building", descriptionDone="build")) return factory