我必须基于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函数引发的异常。
答案 0 :(得分:0)
我使用了错误的属性名称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")