這種感覺應該是一個常見問題,但我還沒有找到重複的答案。在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