2017-01-29 1 views
2

Ich habe ein Projekt on GitHub mit einem automatisierten Build on Travis CI. Die aktuelle Revision meines Codes (buildfix Branch, commit 3ebc41a8b4738bce926b39cc3869c6dce8bed9bc) ist erfolgreich, obwohl ich ein Problem mit einem statischen Analysator habe. Dies ist der xcodebuild Befehl:Warum sind Probleme mit statischen Analysatoren bei meinem CI-Build nicht fehlerhaft?

xcodebuild -workspace UnrarKit.xcworkspace -scheme UnrarKit -sdk macosx -configuration Release analyze test 

Ich habe auch für das gesamte Projekt auf YES gesetzt „Warnungen als Fehler Treat“ (für Release-Builds). Ich erhalte diese Ausgabe von xcodebuild:

The following commands produced analyzer issues: 
    Analyze Classes/URKArchive.mm 
(1 command with analyzer issues) 

ich dies in meinem lokalen Terminal mit dem gleichen Ergebnis mit xcodebuild reproduziert.

Warum gibt xcodebuild immer noch 0 zurück und ermöglicht es meinem Build, erfolgreich zu sein? Warum lässt xcodebuild an erster Stelle analysieren, ob die Ergebnisse nicht verwendet werden können? Wenn es ein Fehler ist, werde ich ihn bei Apple einreichen, aber im Moment bin ich offen für die Möglichkeit, dass ich etwas falsch mache.

Antwort

2

Ich denke, dass es das erwartete Verhalten ist, 0 zurückzugeben. Nach dem letzten Protokoll ist ** ANALYSE ERFOLGREICH **. Sie können HTML-Berichte mit

xcodebuild -workspace UnrarKit.xcworkspace -scheme UnrarKit -sdk macosx -configuration Release analyze test CLANG_ANALYZER_OUTPUT=html CLANG_ANALYZER_OUTPUT_DIR=analyzer 
find analyzer -name *.html 

ich auch versuchen, einen Weg zu finden, bekommen sie etwas anderes als 0, das einzige, was ich mit aufkam Rückkehr zu machen ist:

xcodebuild analyze ... && [[ -z `find analyzer -name "*.html"` ]] 
Verwandte Themen