我有一个具有以下结构的javascript项目:
root -
/docs
/dist
/source
/resources
/plugins
代码位于source
目录中,执行ant
脚本以在dist
目录中生成压缩文件。所有文件都在源代码管理中。
我想在运行ant脚本之前运行目录diff,以确保source
和dist
目录中的文件列表相同。如果没有,请停止执行并告诉用户在运行构建之前签入所需的文件。
我是ant的新手,无法找到任何文档列出两个目录之间的文件列表中的差异。感谢任何投入。
答案 0 :(得分:2)
您可以尝试以下方法。在失败之前打印要检入的文件列表:
<project name="demo" default="build">
<target name="check">
<apply executable="echo" failonerror="false" resultproperty="files.found">
<arg line="missing file:"/>
<srcfile/>
<fileset id="srcfiles" dir="source" includes="*.txt">
<present present="srconly" targetdir="dist"/>
</fileset>
</apply>
<fail message="Files need to be checked in" if="files.found"/>
</target>
<target name="build" depends="check">
..
..
..
</target>
</project>
注意: