Comment faire en sorte que le compilateur javac écrive le résultat dans le fichier et la console?
Question
J'exécute la tâche javac avec ant et j'envoie le résultat dans un fichier journal à l'aide de l'argument du compilateur -Xstdout à des fins de génération de rapports, mais J'aimerais que le résultat soit également envoyé à la console afin que Hudson puisse le capturer pour un examen à l'écran.
Y a-t-il un moyen de faire cela?
La solution
Je viens de trouver une autre alternative en utilisant la tâche d’enregistrement. Plus près que vous n'avez pas à introduire de nouvelles cibles.
<compile >
<record name="log.txt" action="start"/>
<javac ...
<record name="log.txt" action="stop"/>
<compile/>
Autres conseils
utilisez la tâche ant avec un attribut de sortie pour appeler une cible comportant la tâche javac.
par exemple
<target name="javac" depends="libs" description="Compile java source">
<mkdir dir="${classes.dir}" />
<ant target="actual-javac" output="javac.log"/>
</target>
<target name="actual-javac">
<javac .../>
</javac>
</target>
vous pouvez utiliser tee sur n’importe quel processus de la ligne de commande pour exporter vers la console et un fichier:
>myprocess.sh | tee myprocess.log
imprimera le résultat de myprocess.sh à la fois sur la console et sur myprocess.log.