2

背景: Java コードをコンパイルし、コンパイルされたクラスを使用して 2 つの jar をビルドするビルド プロセスがあります (各 jar は異なるサブセットであり、一部のクラスは両方に表示されます)。
ここで、ユーザーが各 jar を個別にビルドできるだけでなく、並行して一緒にビルドできるようにする必要がありました (合計ビルド時間が大幅に短縮されるため)。
そこで、次のような構造のスクリプトを思いつきました。

<project> 
    <target name="compile">
        <sequential>
            <echo message="compile"/>
        </sequential>
    </target>
    <target name="jar1" depends="compile">
        <sequential>
            <echo message="jar1"/>
        </sequential>
    </target>
    <target name="jar2" depends="compile">
        <sequential>
            <echo message="jar2"/>
        </sequential>
    </target>
    <target name="all-jars">
        <parallel>
            <antcall target="jar1"/>
            <antcall target="jar2"/>
        </parallel>
    </target>
</project>

問題は、「all-jars」ターゲットを使用すると、「compile」ターゲットが 2 回実行されることです。それを防ぐための標準的な方法はありますか?さらに良いことに、antcall を使用する代わりになる方法はありますか?

PS私はここで同様の質問を見つけましたが、答えはありませんでした。

4

1 に答える 1