在Jenkins调用的ant build中将空参数视为未设置?

时间:2018-06-08 15:37:18

标签: jenkins ant

从Jenkins作业调用ant时,任何空白的Jenkins参数都会像空字符串一样传递给ant:

ant -Dfoo=

Ant然后考虑设置foo属性,因此在执行此操作时不会将其设置为默认值:

<property name="foo" value="default" />

解决此问题的最佳方法是什么,以便在Jenkins中将空白的参数视为未设置为ant,以便将属性初始化为默认值?

使用默认值在Jenkins中配置参数不是一个可接受的解决方案,因为有时我希望从另一个参数的值计算默认值。

到目前为止,我最好的想法是使用两个属性解决它。 Jenkins将设置foo_override,我默认为空字符串来处理在Jenkins之外运行ant的情况。然后我根据foo是否为空字符串,使用条件将foo_override分配给默认值或foo_override

<property name="foo_override" value="" />
<condition property="foo" value="default" else="${foo_override}">
    <equals arg1="${foo_override}" arg2="" />
</condition>

0 个答案:

没有答案