40 votes

Echo de l'ensemble des fichiers ant à l'écran pour le débogage

J'ai ça :

    <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>

Je veux faire ressortir tout ce qui se trouve dans la référence "build-path" (pour déboguer certaines choses).

J'ai essayé :

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

mais il renvoie juste le texte exact "${build-path}".

61voto

martin clayton Points 41306

Vous pouvez utiliser le documenté (honnêtement, c'est quelque part là-dedans...) toString aide :

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

24voto

Frank Points 679

Pour déboguer les fichiers inclus dans votre jeu de fichiers, vous pouvez utiliser cet exemple, qui imprime le contenu d'un jeu de fichiers dans un format lisible :

<?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>

Le résultat est :

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
....

9voto

matt b Points 73770

Activez la journalisation de débogage de Ant :

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

Notez cependant que cela va générer une tonne de données de sortie, il est donc préférable de capturer la sortie dans un fichier, puis de trouver les informations du jeu de fichiers dans un éditeur de texte :

ant -debug compile > ant-out.txt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X