2017-01-29 3 views
2

У меня есть проект on GitHub с автоматизированной сборкой on Travis CI. Текущая ревизия моего кода (buildfix branch, commit 3ebc41a8b4738bce926b39cc3869c6dce8bed9bc) преуспевает, хотя у меня есть одна проблема статического анализатора. Это xcodebuild команда:Почему проблемы с статическим анализатором не приводят к сбою моей сборки CI?

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

У меня также есть «Лечить предупреждения как ошибки» установлен в YES для всего проекта (для выпуска сборки). Я получаю этот выход из xcodebuild:

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

Я воспроизвел с xcodebuild в моем локальном терминале с тем же результатом.

Почему xcodebuild по-прежнему возвращает 0 и разрешить моей сборке добиться успеха? Зачем разрешать xcodebuild анализировать в первую очередь, если результаты не могут быть использованы? Если это ошибка, я напишу ее с Apple, но на данный момент я открыт для возможности, что я делаю что-то неправильно.

ответ

2

Я думаю, что ожидаемое поведение возвращается 0. После всего последнего журнала ** ANALYZE SUCCEEDED **. Вы можете получить отчеты HTML с

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 

Я также пытаюсь найти способ заставить его вернуть что-то другое, чем 0, то единственное, что я придумал это:

xcodebuild analyze ... && [[ -z `find analyzer -name "*.html"` ]] 
Смежные вопросы