2011-08-30 9 views
5

czytałem na blogu gdzieś, że można zintegrować własne skrypty kompilacji z Xcode za Issues Navigator i zbudować Logi GUI drukując wiadomości do STDOUT stosując następujący format:Czy mogę w pełni dostosować błąd/ostrzeżenie dotyczące fazy budowania skryptu Xcode 4 Run w dzienniku problemów i tworzyć dzienniki?

FILENAME:LINE_NUMBER: WARNING_OR_ERROR: MSG 

(Gdzie WARNING_OR_ERROR jest albo warning lub error)

np.

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

wyświetli ostrzeżenie w linii 10 somefile.ext który brzmi „Wystąpił problem podczas przetwarzania pliku”. To faktycznie działa (co jest fantastyczne).

Czy istnieje oficjalna dokumentacja tej funkcji (nie mogłem znaleźć żadnych)?

W nawigatorze problemów dostaję ostrzeżenie dla pliku somefile.ext, ale tytuł wydania to "Błąd wywołania skryptu powłoki" (moja wiadomość pojawia się pod tytułem). Czy jest jakiś sposób na ustawienie tego nagłówka, czy też utknąłem z tym ogólnym (i brzydkim) "błędem wywołania skryptu powłoki"?

Odpowiedz

0

To naprawdę nie odpowiada na pytanie, czy można dostosować "Błąd wywołania skryptu powłoki", ale kod perl nie dostaje ładnych komunikatów o błędach, które opisujesz, jednak jeśli umieścisz ten moduł perla (lub po prostu kod z niego) w twoim skrypcie perla, generuje ładne komunikaty o błędach, o których mówisz (wciąż ten sam tytuł "Błąd wywoływania skryptu powłoki", o którym wspomniałeś). Pomyślałem, że udostępnię go każdemu, kto używa skryptu perlowego w Xcode i robi naprawdę kiepskie błędy.

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

wyjście z 0 w niestandardowy skrypt powłoki będzie wyłączyć "Shell Script Invocation błąd"