这种感觉应该是一个常见问题,但我还没有找到重复的答案。在ant中使用fileset适用于mapper
我有一堆对象文件,如果它们中的任何一个已经改变,它们都需要传递给链接器exec。我有一个apply
任务如下:
<target name="linker">
<apply executable="link.exe" parallel="true">
<arg value="-o" />
<targetfile />
<srcfile/>
<fileset dir="obj" includes="*.o"/>
<globmapper from="*.o" to="myapp.exe" />
</apply>
</target>
的问题是,只有更改被传递给链接,对象文件,我需要通过所有目标文件(基本上是之前的文件集的输出该映射器已被应用)。如果我在apply
任务上设置了force
属性,但链接器工作正常,但我只希望在目标文件已更新时重建它。
我知道我可以使用Uptodate task,但我希望我可以通过指定一个额外的fileset
或类似的东西,只用apply task。
谢谢。你的第一个代码片段会导致'link.exe'在每个版本上运行(我相信你在讨论'uptodate'时暗示了这一点)。正如我的问题所暗示的,我已经使用'uptodate'任务实现了一个解决方案,但是如果可能的话,我宁愿使用'apply'。由于'apply'同时支持'uptodate'检查(通过'mapper')和'filesets',我会认为它可以在没有明确的'uptodate'任务的情况下完成? – Mightymuke 2013-04-04 02:14:04