gpt4 book ai didi

Ant 在多个目录中

转载 作者:行者123 更新时间:2023-12-02 05:53:04 25 4
gpt4 key购买 nike

我想简化这个:

<target name="build">
<parallel>
<antcall target="build-A" />
<antcall target="build-B" />
<antcall target="build-C" />
</parallel>
</target>

<target name="build-A">
<exec executable="tool.exe" dir="projects/A">
<arg value="input.xml" />
</exec>
</target>

其中 build-Bbuild-C 执行完全相同的操作(仅在目录 BC 中> 分别),类似于这样:

<dirset id="projects" dir="." >
<include name="projects/*" />
</dirset>

<apply executable="tool.exe" parallel="true">
<arg value="input.xml" />
<dirset refid="projects" />
</apply>

这不起作用,因为 apply 将执行以下操作之一:

如果并行设置为true

tool.exe input.xml projects/A projects/B projects/C

或者如果parallel设置为false

tool.exe projects/A/input.xml
...waits for tool.exe to complete...
tool.exe projects/B/input.xml
...etc

即使这样也是不正确的,因为 tool.exe 预计在 projects/A 目录中运行。

有没有办法并行化,使我得到的输出相当于:

cd project/A
tool.exe input.xml

cd ../B
tool.exe input.xml

cd ../C
tool.exe input.xml

但同时进行?

最佳答案

我会使用ant-contribfor task来做到这一点。

<for param="dir" parallel="true">
<dirset id="projects" dir="." >
<include name="projects/*" />
</dirset>
<sequential>
<exec executable="tool.exe" dir="@{dir}">
<arg value="input.xml" />
</exec>
</sequential>
</for>

关于Ant <apply> 在多个目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com