2016-03-26 10 views
5

Ich habe eine Objective-C iOS-Bibliothek auf Travis CI. Ich habe gerade die statische Analyse in meiner .travis.yml Datei aktiviert, und es wurde ein Problem gefunden (ein toter Speicher), aber es fehlte der Build auf Travis nicht. Hier ist die entsprechende Zeile in meiner .travis.yml (line-wrapped zur besseren Lesbarkeit):Machen Sie statische Analyse Fehler Ursache Build-Fehler auf Travis

- set -o pipefail && xcodebuild analyze 
    -workspace Example/BonMot.xcworkspace 
    -scheme BonMot-Example 
    -destination 'name=iPhone 6' ONLY_ACTIVE_ARCH=NO | xcpretty 

Was ich tun muß, um tun, um eine Warnung in dieser Linie zu bewirken, dass die Build auf Travis CI zum Scheitern verurteilt? Sie können die relevante Pull-Anforderung in meinem Projekt here sehen.

Antwort

1

ich es geschafft, einen Weg zu erarbeiten, diese Arbeit mit etwas Hilfe von this blog post zu machen. Hier sind die relevanten Teile einer Probe .travis.yml Datei:

language: objective-c 
rvm: 
- 2.2.4 
osx_image: xcode7.3 
install: 
- gem install xcpretty --no-rdoc --no-ri --no-document --quiet 
- export PYTHONUSERBASE=~/.local 
- easy_install --user scan-build 
script: 
# use scan-build with --status-bugs to fail the build for static analysis warnings per http://jonboydell.blogspot.ca/2013/02/clang-static-analysis.html 
- export PATH="${HOME}/.local/bin:${PATH}" # I forget whether this was necessary. Try omitting it and see what happens! 
- set -o pipefail && scan-build --status-bugs xcodebuild analyze -workspace MyWorkspace.xcworkspace -scheme MyScheme -destination 'name=iPhone 6' ONLY_ACTIVE_ARCH=NO | xcpretty 
0

Ich denke, Sie möchten -Wunused-value zu den anderen Warnhinweisen Abschnitt Ihrer Build-Einstellungen hinzufügen und "Behandle Warnungen als Fehler" auf Ja setzen.

+1

Ich möchte nicht nur diese besondere Warnung den Build fehlschlagen. Ich möchte, dass alle statischen Analysewarnungen den Build nicht ausführen. Würden _Troat Warnungen als Fehler_ die statischen statischen Analyseergebnisse als Warnungen zählen? –

+0

^Update: Es scheint nicht zu. –

4

Die einzige Art, wie ich dies an die Arbeit könnte, ist die Methode detaillierte here

Fügen Sie diese beiden Parameter zu Ihrem xcodebuild oder scan -x Befehl

CLANG_ANALYZER_OUTPUT=plist-html \ 
CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" 

Diese eine HTML-Datei produzieren zu verwenden, wenn es klingelnde Warnungen. Überprüfe also das Vorhandensein dieser Datei.

if [[ -z `find clang -name "*.html"` ]]; then 
    echo "Static Analyzer found no issues" 
else 
    echo "Static Analyzer found some issues" 
    exit 123 
fi 
Verwandte Themen