为什么不能在 ant (1.8.1) 上使用目标之外的继承引用?



我想做的就是在父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…

显然,我可以用几种方法来解决这个问题,但我想用正确的方式来做。我做错了什么?

此行为以前遇到过:

将主构建文件的引用传递给子构建文件

我找不到任何表明这种行为是否是故意的。

相关内容

  • 没有找到相关文章

最新更新