gpt4 book ai didi

ant - 将 ant 目标传递给子目录中的多个 build.xml 文件

转载 作者:行者123 更新时间:2023-12-04 11:32:48 25 4
gpt4 key购买 nike

我有一个包含多个模块的项目,每个模块都在自己的目录中。每个模块都有自己的 ant 构建文件 (build.xml)

在根目录中,我设置了一个通用构建文件,它以正确的顺序调用每个模块的构建文件。

<?xml version="1.0"?>
<project name="bridgedb" default="all" basedir=".">
<target name="all">
<ant dir="corelib"/>
<ant dir="tools"/>
<ant dir="makeGdb"/>
<ant dir="cytoscape-plugin"/>
</target>
</project>

现在每个模块也有一个“干净”的目标,所以我添加了这些行:
 <target name="clean">
<ant dir="corelib" target="clean"/>
<ant dir="tools" target="clean"/>
<ant dir="makeGdb" target="clean"/>
<ant dir="cytoscape-plugin" target="clean"/>
</target>

还有更多这样的目标。有没有办法重写构建文件以避免这种重复?我一直在寻找一个包含事件目标的内置属性,但我找不到它。

最佳答案

为什么不使用 antcall调用引用所有子目录的目标,并参数化要调用的目标。例如

 <antcall target="doStuffToSubdirs">
<!-- let's clean -->
<param name="param1" value="clean"/>
</antcall>

进而:
<target name="doStuffToSubdirs">
<ant dir="corelib" target="${param1}"/>
<ant dir="tools" target="${param1}"/>
...etc
</target>

所以这允许您参数化对子目录的调用。如果您添加一个新的子目录,您只需将该子目录添加到“doStuffToSubdirs”目标(我也会重命名它!)

关于ant - 将 ant 目标传递给子目录中的多个 build.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/819568/

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