我正在修改我现有的 ant 脚本以支持差异构建。为此,我在文件集中使用了修改后的选择器来仅查找修改过的文件。但问题是当我进行完整构建时,我需要绕过基于某些属性或参数的修改过滤器。如下所示。有没有办法做到这一点。
<project name="test" default="dt" basedir=".">
<target name="dt1">
<copy todir="ant_temp2">
<fileset dir="ant_temp1">
<if>
<equals arg1="${ABC}" arg2="true" />
<then>
<modified update="true" />
</then>
</if>
<exclude name="*.txt"/>
</fileset>
</copy>
</target>
<target name="dt">
<antcall target="dt1">
<param name="ABC" value="true" />
</antcall>
</target>
<target name="dt2">
<antcall target="dt1" />
</target>
</project>
如果我使用 target 调用上面的 ant 脚本,那么dt
我需要考虑in任务。如果它是使用调用的,那么我只需要在任务中考虑。modified
exclude
fileset
dt2
exclude
fileset
我无法使用上述脚本,因为fileset
不支持嵌套if
任务。这就是为什么我正在寻找替代方法来做到这一点。请提出一些方法来做到这一点。
PS:我不想创建具有相同复制任务的两个目标,一个包含modified
和exclude
in fileset
,另一个目标仅包含exclude
.