2011-08-30 9 views
5

leí en un blog en alguna parte que se puede integrar sus propios scripts de construcción con Xcode Problemas Navigator y Construir Registros interfaces gráficas de usuario mediante la impresión de mensajes a STDOUT con el siguiente formato:¿Puedo personalizar por completo un error/advertencia de Xcode 4 Run Script Build Phase en Issues Navigator y Build Logs?

FILENAME:LINE_NUMBER: WARNING_OR_ERROR: MSG 

(Donde WARNING_OR_ERROR es bien warning o error)

por ejemplo

/path/to/proj/folder/somefile.ext:10: warning: There was a problem processing the file 

mostrará una advertencia en la línea 10 de somefile.ext que dice: "Hubo un problema al procesar el archivo". Esto realmente funciona (lo cual es fantástico).

¿Hay alguna documentación oficial de esta característica (no pude encontrar ninguna)?

En el navegador de Issues, recibo una advertencia para el archivo somefile.ext, pero el título del problema es "Error de invocación del script de shell" (mi mensaje aparece debajo del título). ¿Hay alguna manera de establecer ese título, o estoy atrapado con ese "error de invocación de script de shell genérico (y feo)" genérico (y feo)?

Respuesta

0

Realmente no responde a su pregunta si puede personalizar el "Error de invocación del script de shell", pero el código perl no recibe los buenos mensajes de error que describe, sin embargo, si incluye este módulo perl (o solo el código del mismo) en su script de Perl, genera los buenos mensajes de error de los que habla (sigue siendo el mismo título de "Error de Invocación de Script de Shell" que menciona). Solo pensé que podría compartirlo con cualquier persona que use una secuencia de comandos Perl en Xcode y obtener errores realmente pésimos.

package XcodeErrors; 

use strict; 
use warnings; 

$SIG{__WARN__} = sub 
{ 
    my @loc = caller(0); 
    print STDERR "$loc[1]:$loc[2]: warning: ", @_, "\n"; 
    return 1; 
}; 

$SIG{__DIE__} = sub 
{ 
    my @loc = caller(0); 
    print STDERR "$loc[1]:$loc[2]: error: ", @_, "\n"; 
    exit 1; 
}; 


1; 
0

de salida con 0 en el script de shell personalizada se apagará "shell script de Invocación de error"

Cuestiones relacionadas