gpt4 book ai didi

ant - 导入时自动调用 Ant 目标

转载 作者:行者123 更新时间:2023-12-04 05:41:09 24 4
gpt4 key购买 nike

我有一个相当简单的问题。
我们通常将其作为 Ant 的 build.xml 文件

<project default="" name="Caterpillar Common settings">
<property name="some.name" value="some.value" />
</project>

所以如果我们在另一个 .xml 项目中导入这个,它会将“some.name”设置为“some.value”。

有时设置这个“some.name”有点复杂,需要一些写在几个小目标内部的逻辑。

问题:如何像顶级标签一样自动调用目标?

我试过 <antcall>而且显然顶级不是它的那杯茶?

最佳答案

Ant task可用于调用其他 Ant 项目中的目标。

By default, all of the properties of the current project will be available in the new project. Alternatively, you can set the inheritAll attribute to false and only "user" properties (i.e., those passed on the command-line) will be passed to the new project. In either case, the set of properties passed to the new project will override the properties that are set in the new project



构建构建的一种方法是首先调用您的子项目,
然后将使用 Ant 调用主项目任务。

在以下示例中, project2.xml 初始化属性,
然后由主项目文件 使用build.xml .

项目2.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="project2" default="initialize">
<dirname property="project2.dir" file="${ant.file.project2}" />
<property name="caterpillar.dir" location="${project2.dir}" />

<target name="initialize">
<property name="some.name" value="some.value" />
<ant dir="${caterpillar.dir}" antfile="build.xml" target="build" />
</target>
</project>

构建文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="Caterpillar-Common-Settings">
<target name="build">
<echo message="${some.name}" />
</target>
</project>

构建将从命令行初始化,如下所示:
$ ant -f project2.xml

输出
Buildfile: /home/caterpillar/project2.xml

initialize:

build:
[echo] some.value

BUILD SUCCESSFUL
Total time: 0 seconds

关于ant - 导入时自动调用 Ant 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228581/

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