防止并行多次调用ant依赖项

时间:2016-03-29 08:16:09

标签: java ant parallel-builds antcall

背景: 我有一个构建过程,它编译java代码并使用编译的类构建两个jar(每个jar都是一个不同的子集,其中一些类出现在两者中)。
现在,我要求用户能够单独构建每个jar,但也能够并行构建它们(因为它会大量减少总构建时间)。
所以我想出了一个像这样结构的脚本:

border-radius

问题在于,当使用“all-jars”目标时,“compile”目标会被执行两次。有什么标准方法可以预防吗?更好的是,是否有使用antcall的替代方案?

P.S。我找到a similar question here但没有给出答案。

1 个答案:

答案 0 :(得分:1)

只需在目标“编译”中使用unless属性,如下所示:

...
<target name="compile" unless="compileDone">
    <property name="compileDone" value="true"/>
    <sequential>
        <echo message="compile"/>
    </sequential>
</target>
...

您的目标只会执行一次:o)