我想做的就是在父build.xml上设置对路径的引用,并在子build.xml上使用它(用<ant>
调用)。下面是我能创建的最简单的例子:
build-parent.xml
<?xml version="1.0"?>
<project name="parent" default="do-parent">
<target name="do-parent">
<path id="inherited.path"/>
<ant antfile="build-child.xml" inheritrefs="false" inheritall="false">
<reference refid="inherited.path"/>
</ant>
</target>
</project>
build-child.xml
<?xml version="1.0"?>
<project name="child" default="do-child">
<pathconvert property="converted.path" refid="inherited.path"/>
<target name="do-child"/>
</project>
我运行ant.bat -f build-parent.xml
和get: 引用继承。
如果我将build-child.xml更改为:
<?xml version="1.0"?>
<project name="child" default="do-child">
<target name="do-child">
<pathconvert property="converted.path" refid="inherited.path"/>
</target>
</project>
It works fine…
显然,我可以用几种方法来解决这个问题,但我想用正确的方式来做。我做错了什么?
此行为以前遇到过:
将主构建文件的引用传递给子构建文件
我找不到任何表明这种行为是否是故意的。