Pregunta

¿Es posible capturar las advertencias que Javadoc imprime cuando se ejecuta a través del javadoc ¿Tarea de hormiga? No veo un atributo de salida como el de la tarea. Parece que hay advertencias de que CheckStyle simplemente no se captura y sería bueno enganchar esa salida en un archivo.

Parece extraño que esto no sería cauturable, espero que me falta algo obvio.

~*~*~*~ EDITAR (respuesta a continuación) ~*~*~*~

Parecería la hormigau003Crecord> La tarea es exactamente lo que estaba buscando. Ver los documentos de hormigas.

<target name="generate.docs">
    <record name="javadoc.log" action="start"/>
    <javadoc ... />
    <record name="javadoc.log" action="stop"/>
<target/>
¿Fue útil?

Solución

Parece que esto es posible usando el <exec> etiqueta (referencia aquí) ... probablemente sería un dolor real, pero podría ser posible ejecutar el ejecutable de Javadoc y reconstruir los argumentos de comando necesarios para generar el Javadoc. Sin embargo, como un gran golpe de bocina, parece que solo usa su redirección de caparazón natural, por lo que construir tanto en Win32 como Linux requeriría un mojo de casos especiales.

Puede valer la pena Escribe tu propia tarea para hacer el trabajo; o el <redirect> La etiqueta como RoboProg ha mencionado anteriormente, o extendiendo la tarea de Javadoc ...

Otros consejos

Supongo que la respuesta de redirección anterior se votó debido al requisito no declarado para hacer esto cada vez a través de los comandos de script Build.xml.

Sí. La característica no parece estar allí en la tarea. Una mejor pregunta podría ser: ¿hay una tarea / etiqueta en ANT que redirigirá toda la salida de cualquier etiqueta anidada? Dicha tarea/etiqueta guardaría System.out y/o System.err, los configuraría para crear o agregar a un archivo, luego restaurarlos al final del bloque.

Algo como:

<redirect file='foo.txt' append='true'>
  <anytag you='want' />
</redirect>

Puede ejecutar Javadoc como clase de Java con la clase com.sun.tools.javadoc.main, llamando al método de ejecución (está en las herramientas.jar incluida en el JDK), por lo que puede envolver una clase de Java de la que llame La tarea de hormiga Java, que permite la redirección de la salida. Tendrá que reconstruir los argumentos de la línea de comando Javadoc usted mismo, en lugar de tener las sutilezas de la tarea de hormiga, pero debería funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top