2

我有一个具有以下结构的 javascript 项目:

root - 
  /docs
  /dist
  /source
  /resources
  /plugins

代码在source目录ant中,执行脚本在目录中生成压缩文件dist。所有文件都在源代码管理中。

我想在运行 ant 脚本之前运行目录差异,以确保文件列表sourcedist目录相同。如果没有,请停止执行并告诉用户在运行构建之前检查所需的文件。

我是 ant 新手,无法找到任何文档来列出 2 个目录之间文件列表中的差异。感谢任何输入。

4

1 回答 1

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上运行。
于 2013-01-17T21:11:25.747 回答