Dear List,

I'm getting crazy with a build form property.

How do I correctly check if the "force a make clean" in force build is checked?

Please look the the code below, mostly taken from tutorial 2.5.5. Schedulers.


options         

{
  "force_build_clean": true,
  "pull_url": ""
}

        Force Build Form

[code]

c['schedulers'].append(schedulers.ForceScheduler(
    name="force-custom",
    buttonName="pushMe!",
    label="My nice Force form",
    builderNames=["lp1"],
    codebases=[
        util.CodebaseParameter(
            "",
            label="Main repository",
            # will generate a combo box branch=util.ChoiceStringParameter(
                name="branch",
                choices=["master","hest"],
                default="master"),

# will generate nothing in the form, but revision, repository, # and project are needed by buildbot scheduling system so we # need to pass a value ("") revision=util.FixedParameter(name="revision",default=""),
            repository=util.FixedParameter(name="repository",default=""),
            project=util.FixedParameter(name="project",default=""),
        ),
    ],
    # will generate a text input reason=util.StringParameter(name="reason",
                               label="reason:",
                               required=False,size=80),

# in case you don't require authentication this will display # input for user to type his name username=util.UserNameParameter(label="your name:",
                                    size=80),
# A completely customized property list. The name of the # property is the name of the parameter properties=[
        util.NestedParameter(name="options",label="Build 
Options",layout="vertical",fields=[
            util.StringParameter(name="pull_url",
                                 label="optionally give a public Git pull url:",
                                 default="",size=80),
            util.BooleanParameter(name="force_build_clean",
                                  label="force a make clean",
                                  default=False)
        ])
    ]))

[..]
What is the property?
step.getProperty('force_build_clean')
or
step.build.getProperty('force_build_clean'
How do I check that? Do I have to git a method todoStepIf ?
[...]

minimal_factory = util.BuildFactory()

doCleanIf = lambda step: step.getProperty('force_build_clean') or None
# or #doCleanIf = lambda step: step.build.getProperty('force_build_clean', True) # or #def doCleanIf(step): # if (lambda step: step.build.getProperty('force_build_clean') or None): # return True # return False

minimal_factory.addStep(steps.ShellCommand(name='Force Clean', \
    command=['echo','force clean'], \
    workdir='build',haltOnFailure='True',doStepIf=doCleanIf))


Thanks!

--
xpetrl

--
xpetrl

_______________________________________________
users mailing list
users@buildbot.net
https://lists.buildbot.net/mailman/listinfo/users

Reply via email to