Add the ability to use the property fields on the buildbot force build page to add extra args to the build.py commandline or to force a full clobber of the SVN workspace before the build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@75510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2014-01-01 04:23:41 +00:00
parent 6faf213a76
commit 380dedabff

View File

@@ -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