xcode - 为什么静态分析器问题不会使我的 CI 构建失败?

标签 xcode travis-ci static-analysis xcodebuild

我有一个项目 on GitHub自动构建 on Travis CI .我的代码的当前修订版( buildfix 分支,提交 3ebc41a8b4738bce926b39cc3869c6dce8bed9bc )正在成功,即使我有一个静态分析器问题。这是xcodebuild命令:

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

我还将整个项目的“将警告视为错误”设置为"is"(对于发布版本)。我从 xcodebuild 得到这个输出:

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


我用 xcodebuild 复制了这个在我的本地终端中,结果相同。

为什么xcodebuild还是返回0并允许我的构建成功?为什么允许xcodebuild如果结果不能使用,首先要分析?如果这是一个错误,我会将其提交给 Apple,但目前我愿意接受我做错了什么的可能性。

最佳答案

我认为返回 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"` ]]

关于xcode - 为什么静态分析器问题不会使我的 CI 构建失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921787/

相关文章:

ios - 所有 UILabel 的默认文本颜色

swift - Sigbart 在尝试获取库图像选择器时

ios - 有人能告诉我导航器窗口中的这些问号是什么意思吗? (Xcode 4.2)

java - Java静态代码分析

xcode - 让 Matlab 的 mex 在 Mountain Lion 上与 xcode 4.4 一起工作

travis-ci - 如何在 .travis.yml 中获取 Travis 的构建工作目录?

django - 特拉维斯: "Got an error creating the test database: permission denied to create database"

android - 使用 Gradle 的 Travis-CI Android 测试不断超时

java - 带有 java.util.concurrent.locks.ReadWriteLock 的 @GuardedBy 注释

static-analysis - 使用 ACSL/Frama-C 引入数学函数规范