最近我正在尝试使用 Jenkins for Oclint 静态分析objective-c来源。
所以我按照Oclint.org上的指南,特别是这个页面oclint_guide_with_Jenkins
然后,我在Jenkins上运行构建作业。 但是下面的日志总是失败了。 (额外的日志只是关于svn签出)
+ oclint-json-compilation-database -- -report-type pmd -o oclint.xml -rc=LONG_LINE=120
Error: compile_commands.json not found at current location.
有人能告诉我解决这个问题的方法吗? :)
答案 0 :(得分:1)
你需要生成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