如何仅对已修改的文件执行ANT任务

Ake*_*eem 15 eclipse ant

我有一个构建脚本,可以执行许多操作(最小化javascript,上传到亚马逊s3等).最小化ANT任务仅对我已修改的javascript进行操作,并忽略其余的(我没有编写此脚本).我想为amazon s3任务做类似的事情,其中​​只在任务中上传更新的内容.任何关于如何做到这一点的线索将不胜感激.

Nat*_*utz 8

您可以选择带有修改日期标记的文件集.修改后的标签功能非常强大,请查看:Ant Selectors - Modified.

为了让它告诉已经发生了什么变化,它可以在一个属性文件中保留一个缓存,该文件在每次成功构建后都会更新,除非你使用了delayupdate属性 - 所以也许为了测试它,你可以:

<param name="commitUpdate" value="false" />
[...]
<ftp ...>
    <fileset dir="src">
        <modified delayupdate="${commitUpdate}" />
    </fileset>
</ftp>
Run Code Online (Sandbox Code Playgroud)

当然,您可以通过命令行参数或其他东西设置commitUpdate.


Pet*_*ton 0

通常,您可以使用文件映射器对具有源文件和目标文件的任务执行此操作,以便该任务仅应用于已更改的源文件。我不知道是否有办法做一些 Ant 无法看到目标文件的事情,比如上传。