如何在定义构建步骤时从 src::branch 属性 计算值
How to compute a value from the src::branch property when definition a build step
我必须根据 src::branch
属性 计算构建步骤的值,并且根据可用的文档,这似乎只能通过定义 custom renderables.
我创建了一个定义如下的自定义可渲染对象:
@implementer(IRenderable)
class DetermineVersion(object):
def getRenderingFor(self, props):
if props.hasProperty("src::branch"):
return "--version=" + props['src::branch'].lower().replace("tag/", "")
else:
raise Exception("The property 'branch' (tag/version) must be set")
并在构建步骤中按如下方式使用它:
f.addStep(steps.ShellCommand(
name="create_tag",
command=["python", "createTag.py", DetermineVersion()],
))
不幸的是,这似乎没有按预期工作,无论 "branch" 属性 是否设置,我总是看到我的 getRenderingFor 函数抛出异常。
我用错了 属性 名字 src::branch
而不是 branch
:
这按预期工作:
@implementer(IRenderable)
class DetermineVersion(object):
def getRenderingFor(self, props):
if props.hasProperty("branch"):
return "--version=" + props['branch'].lower().replace("tag/", "")
else:
raise Exception("The property 'branch' (tag/version) must be set")
我必须根据 src::branch
属性 计算构建步骤的值,并且根据可用的文档,这似乎只能通过定义 custom renderables.
我创建了一个定义如下的自定义可渲染对象:
@implementer(IRenderable)
class DetermineVersion(object):
def getRenderingFor(self, props):
if props.hasProperty("src::branch"):
return "--version=" + props['src::branch'].lower().replace("tag/", "")
else:
raise Exception("The property 'branch' (tag/version) must be set")
并在构建步骤中按如下方式使用它:
f.addStep(steps.ShellCommand(
name="create_tag",
command=["python", "createTag.py", DetermineVersion()],
))
不幸的是,这似乎没有按预期工作,无论 "branch" 属性 是否设置,我总是看到我的 getRenderingFor 函数抛出异常。
我用错了 属性 名字 src::branch
而不是 branch
:
这按预期工作:
@implementer(IRenderable)
class DetermineVersion(object):
def getRenderingFor(self, props):
if props.hasProperty("branch"):
return "--version=" + props['branch'].lower().replace("tag/", "")
else:
raise Exception("The property 'branch' (tag/version) must be set")