示例代码:
def ant = new AntBuilder()
ant.'antlib:org.jacoco.ant:agent'(
enabled: enabled,
property: 'agentvmparam')
当“enabled”参数为null时,我希望它不会出现在ant任务转换中,而不仅仅是“空”。 “empty”被评估为“true”http://ant.apache.org/manual/develop.html#set-magic,这不是我想要的。
xml builder示例:
def xml = new MarkupBuilder()
xml.omitNullAttributes = true
xml.root(
requiredAttribute:'required',
optionalAttribute: optionalAttribute
) { }
如果Groovy参数的计算结果为null,则“omitNullAttributes”将确保“optionalAttribute”xml元素参数不存在。
所以我得到了
<root requiredAttribute='required' />
而不是
<root requiredAttribute='required' optionalAttribute='' />
答案 0 :(得分:0)
一点可能的解决方法,但这有用吗?
def ant = new AntBuilder()
ant.'antlib:org.jacoco.ant:agent'( [ enabled:enabled,
property:'agentvmparam' ].findAll { it.value != null } )
ie:使用findAll
删除参数映射的空条目