1

CVS からプロジェクトをチェックアウトし、それをビルドしてデプロイする Ant スクリプトがあります。要件は、スクリプトが「scripts」フォルダー内のコードの一部である必要があり、チェックアウトが行われるたびにファイルが上書きされることです。CVS チェックアウトを行わずにビルドが完了すると、すべて正常に動作します。私のコードスニペットは

<target name="deploy.main"  depends="checkProperty" if="propertyExist">
    <echo message="${release.number}"/>
    <sequential>
    <parallel>
    <antcall target="tag.branch"/>
    <antcall target="checkout.main"/>
    </parallel>
    <antcall target="stopJboss" />
    <sleep seconds="10" />
    <antcall target="replaceTag"/>
    <antcall target="deploy" />
    <antcall target="moveConfigFiles" />
    <antcall target="promote"/>
    <antcall target="stopRemoteJboss"/>
    <parallel>
        <antcall target="startJboss" />
        <antcall target="startRemoteJboss"/>
    </parallel>
    </sequential>
</target>

このファイルは、チェックアウト中に常に新しいファイルによって上書きされます。ant は最初にファイル全体を一度に読み取り、メモリに保持しますか? それとも、新しいファイル内のものを見つけようとしますか?

4

1 に答える 1

0

すべて (および make などの多くのツール) は、依存関係情報の有向非巡回グラフを使用します。依存情報読み込みファイルを一気に構築します。(これは、同じターゲットに複数の依存関係がある場合でも、一度だけ実行されるようにするためです)。グラフが作成されると、'the' プロジェクト ファイルを変更しても効果はありません。

于 2012-11-23T05:45:53.663 に答える