我有一个javascript项目,结构如下:
root -
/docs
/dist
/source
/resources
/plugins
Code在source
目录下,执行ant
脚本生成dist
目录下的压缩文件。所有的文件都在源代码管理中。
我想在运行ant脚本之前运行目录diff,以确保source
和dist
目录中的文件列表相同。如果没有,停止执行并告诉用户在运行构建之前签入所需的文件。
我是新手,无法找到任何文档来列出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>
注意:
- 在Linux上测试。可能无法在windows上工作。