2012-09-21 12 views
8

Debe haber una configuración simple que me falta, así que discúlpeme, pero he notado en dos ocasiones que mis tareas ant antorchar no provocan que la compilación falle. Por ejemplo:Ant éxito incluso cuando la tarea Ant falla

  1. copia hormiga cuando el archivo de origen no existe ... creación satisfactoria

  2. descomprimir hormiga, cuando los informes de tareas "no se puede escribir el archivo" o mensaje similar ... creación satisfactoria

  3. error exec Hormiga, sintaxis no válida ... creación satisfactoria

¿Cómo garantizar a todos los errores de tarea de hormigas resultarán en una falla de construcción?

+0

Muchas tareas tienen parámetros para activar/desactivar el "FailOnError" porque a veces no desea que la tarea a fallar la construcción. Verifique los documentos y mire la tabla de param cuidadosamente. – coolcfan

+1

@coolcfan, siempre debe fallar a menos que se indique lo contrario, EXEC predeterminado a falso es un error. Creo que los problemas COPY y UNZIP que tengo están relacionados con intentar ejecutar el ant-launcher.jar directamente. :( – cmcginty

+0

Agregué failonerror = "true" y Ant aún continúa la compilación. ¿Dónde está el "fail early fail a menudo" en este programa? –

Respuesta

4

Ha intentado siguiente:

<copy todir="your/path/details" failonerror="true"> 
</copy> 

<zip destfile="your/path/details" whenempty="fail"> 
</zip> 

<exec executable="your/path/details" failonerror="true"> 
</exec> 
+1

copia por defecto a failonerror = "true" e incluso la configuración manual no produce un error. – cmcginty

+0

la tarea de copia no funciona ya que failureOnError se establece en true de forma predeterminada de todos modos. –

7
  • <EXEC> tareas no no presentan errores por defecto. Debe habilitar esto con failonerror="true"

  • La falla de la tarea Ant <COPY> depende del tipo de colección de recursos que se use. Si usa un fileset o patternset, entonces todos los archivos que faltan son ignorados silenciosamente. Puede forzar una falla solo usando el tipo filelist o se usa el atributo 'archivo' parametrizado.

    Por lo tanto lo que desea utilizar es o bien:

    <copy todir="my_dir" file="foo" /> 
    
    <copy todir="my_dir" flatten="true"> 
        <filelist dir="" files="foo" /> 
    </copy> 
    
    <copy todir="my_dir" flatten="true"> 
        <filelist dir=""> 
        <file name="foo" /> 
        <file name="bar" /> 
        <file name="zed" /> 
        </filelist> 
    </copy> 
    
Cuestiones relacionadas