使用具有任意日期的Ant <modified>选择器</modified>

时间:2011-11-21 16:29:49

标签: date ant

作为内容迁移项目的一部分,我每周都会在CMS中构建内容,并使用Ant脚本将内容文件复制到构建目录。到目前为止,我们每次都在擦除CMS并重新加载整个17,000个文件集,大约需要1.5个小时。但是现在内容和CMS自定义更稳定,我们只想上传自上周以来修改过的内容文件。

我可以复制自上次使用&lt; modified&gt;运行Ant脚本以来修改的文件选择器:

<copy todir="changed" failonerror="no">
  <fileset dir="output" includes="*.*">
    <modified/>
  </fileset>
</copy>

哪个非常好用。但是,我希望能够加载自服务器上发生的上一次CMS构建以来已修改的文件。所以我想知道是否有某种方法使用&lt; modified&gt;的基于缓存的方法来复制自上次星期四“17.00”之后的给定日期/时间而已经修改的文件,而不是“上次此脚本是运行”。

2 个答案:

答案 0 :(得分:1)

我在Ant mailing list得到了我正在寻找的答案,其中Stefan Bodewig建议在update选择器上使用modified参数。当我使用Ant 1.7.1时,我不得不解决一个阻止其直接用作属性的错误,但实质上,通过使用命令行上设置的属性设置它,我可以随时更新缓存生产构建,并在我进行中间测试构建时保留缓存。

以下是我最终得到的代码(包括1.7.1的解决方法):

<copy todir="\content\Test\" includeEmptyDirs="false" failonerror="no">
  <fileset dir="../Output">
    <modified>
      <param name="update" value="false"/>
    </modified>
  </fileset>
</copy>

答案 1 :(得分:0)

date selector能完成这项工作吗?