在当前位置找不到 oclint compile_commands.json

oclint compile_commands.json not found at current location

最近我正在尝试使用 Jenkins for Oclint 静态分析 objective-c 来源。

所以我遵循了 Oclint.org 上的指南,尤其是这一页 oclint_guide_with_Jenkins

然后,我 运行 在 Jenkins 上构建作业。 但是这项工作总是失败并显示以下日志。 (额外的日志只是关于 svn check-out)

+ oclint-json-compilation-database -- -report-type pmd -o oclint.xml -rc=LONG_LINE=120
Error: compile_commands.json not found at current location.

谁能告诉我解决这个问题的方法? :)

您需要生成 compile_commands.json ,我不确定 xcodebuild 是否可以做到这一点,但您可以使用 Facebook 的 xctool :https://github.com/facebook/xctool 它是 xcodebuild 的包装器并提供不同的记者。

您也可以使用 Homebrew 安装 xctool,安装后使用以下命令生成 compile_commands.json 然后 运行 oclint 命令。

如果您有工作区文件:

xctool -scheme $scheme -workspace $workspaceFile -sdk iphonesimulator ARCHS=i386   VALID_ARCHS=i386 CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -reporter json-compilation-database:compile_commands.json build

如果您有项目文件:

xctool -scheme $scheme -project $projectFile -sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386   CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -reporter json-compilation-database:compile_commands.json build