有条件地将模式集添加到文件集

时间:2018-03-16 18:47:09

标签: nant

当且仅当paternset确实存在时,我想添加一个排除列表。我不确定如何检查模式集是否存在,所以我添加了一个常规属性作为标志。

<echo message="${property::exists('package.processSpecials')}" />
<fileset id="subprojects" basedir="${build.workspace}" >
    <include name="*" />
    <patternset refid="package.excludespecials" if="package.processSpecials" />
</fileset>

这失败是因为package.excludespecials不存在,即使package.processSpecials不存在。

[echo] False

BUILD FAILED

...package.build(288,10):
patternset reference 'package.excludespecials' not defined.

我尝试在文件集定义中放入一个if语句,但这是一个意想不到的元素。

我感觉有点笨拙的另一种选择是:

<if test="${property::exists('package.processSpecials')}">
    <fileset id="subprojects" basedir="${build.workspace}" >
        <include name="*" />
        <patternset refid="package.excludespecials" />
    </fileset>
</if>

<if test="${not property::exists('package.processSpecials')}">
    <fileset id="subprojects" basedir="${build.workspace}" >
        <include name="*" />
    </fileset>
</if>

0 个答案:

没有答案