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



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

我可以复制自上次运行Ant脚本以来修改过的文件,使用选择器:

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

效果很好。但是,我希望能够加载自上次在服务器上构建CMS以来修改过的文件。所以我想知道是否有一些方法可以使用基于缓存的方法,只复制自给定日期/时间以来修改的文件,如"上周四17.00",而不是"上次运行此脚本"。

我得到了我在Ant邮件列表中寻找的答案,Stefan Bodewig建议在modified选择器上使用update参数。因为我使用的是Ant 1.7.1。,我必须解决一个阻止其直接用作属性的错误,但本质上,通过使用命令行上的属性设置来设置它,我可以在我做生产构建时更新缓存,并在我做中间测试构建时保留缓存。

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

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

日期选择器会做这项工作吗?

相关内容

  • 没有找到相关文章

最新更新