web-dev-qa-db-ja.com

デバッグのために画面にantファイルセットをエコーする

私はこれを持っています:

    <ivy:buildlist reference="build-path">
        <fileset dir="${root.dir}">
            <include name="*/build.xml" />
            <include name="controllers/*/build.xml" />
        </fileset>
    </ivy:buildlist>


    <subant buildpathref="build-path">
        <target name="jar.all" />
        <target name="publish-local" />
    </subant>

「一部のデバッグ」のために、「ビルドパス」リファレンスにあるすべてのものをエコー出力したい。

私が試してみました:

<echo>${build-path}</echo>

しかし、その正確なテキスト「$ {build-path}」をエコーするだけです

40
mainstringargs

documented を使用できます(正直、どこかにあります...)toStringヘルパー:

<echo message="My build-path is ${toString:build-path}" />
61
martin clayton

ファイルセットに含まれているファイルをデバッグするには、次の例を使用して、ファイルセットの内容を読み取り可能な形式で出力します。

<?xml version="1.0" encoding="UTF-8"?>
<project name="de.foo.ant" basedir=".">

<!-- Print path manually -->
<target name="print-path-manually" description="" >
    <path id="example.path">
        <fileset dir="${ant.library.dir}"/>
    </path>

    <!-- Format path -->
    <pathconvert pathsep="${line.separator}|   |-- "             
        property="echo.path.compile"             
        refid="example.path">
    </pathconvert>
    <echo>${echo.path.compile}</echo>
</target>

</project>

これの出力は:

Buildfile: D:\Workspaces\IvyTutorial\de.foo.ant\prettyPrintPath.xml
print-path-manually:
 [echo] D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-antlr.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-bcel.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-bsf.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-log4j.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-oro.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-regexp.jar
 [echo] |   |-- D:\Programme\Eclipse-rcp-helios-SR1-win32\Eclipse\plugins\org.Apache.ant_1.7.1.v20100518-1145\lib\ant-Apache-resolver.jar
....
24
Frank

Antのデバッグログを有効にします。

$ ant -h
ant [options] [target [target2 [target3] ...]]
Options:
...
  -verbose, -v           be extra verbose
  -debug, -d             print debugging information

ただし、これにより大量の出力が生成されるため、出力をファイルにキャプチャしてから、テキストエディタでファイルセット情報を見つけるのが最善の場合があります。

ant -debug compile > ant-out.txt
9
matt b