2

次の構造のJavaScriptプロジェクトがあります。

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

コードはsourceディレクトリにあり、antスクリプトが実行されてディレクトリに圧縮ファイルが生成されますdist。すべてのファイルはソース管理されています。

sourceantスクリプトを実行する前にディレクトリ差分を実行して、内のファイルとdistディレクトリのリストが同じであることを確認したいと思います。そうでない場合は、実行を停止し、ビルドを実行する前に必要なファイルをチェックインするようにユーザーに指示します。

私は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 に答える