import されたファイルのフルパス表現

build.xml 自体は ${ant.file} で取得できるのですが、import された方はなんでしょうという話. ツール一式は別ディレクトリだったりするので情報が取れないとパスを構成できない罠. 答えは /project/@name が付いた ant.file. プロパティ.

$ ant
Buildfile: build.xml
     [echo] /var/tmp

BUILD SUCCESSFUL
Total time: 0 seconds
$ cat build.xml
<?xml version="1.0" encoding="utf-8"?>

<project name="importer">
    <import file="/var/tmp/importee.xml"/>
</project>
$ cat /var/tmp/importee.xml
<?xml version="1.0" encoding="utf-8"?>

<project name="importee">
    <dirname property="dir.importee" file="${ant.file.importee}"/>
    <echo message="${dir.importee}"/>
</project>