我正在使用以下命令将oclint与xcode 5-
一起使用 Step1:xcodebuild -target OClintDemo -configuration Debug -scheme OClintDemo -sdk iphonesimulator
Step2:OClintDemo jenkins $ xcodebuild -sdk iphonesimulator | tee xcodebuild.log
Step3:oclint-xcodebuild xcodebuild.log
Step4:oclint-json-compilation-database -o = report.html
但是我收到compile_commands.json空文件,而report.html包含以下内容 - OCLint报告摘要:TotalFiles = 0 FilesWithViolations = 0 P1 = 0 P2 = 0 P3 = 0 [OCLint(http://oclint.org)v0.7]
答案 0 :(得分:4)
Xcode 8不支持xctool,您可以使用xcpretty。你的xcodebuild命令应该是这样的
如果您使用的是工作区
xcodebuild -workspace WORKSPACE_NAME.xcworkspace -scheme SELECTED_SCHEME | xcpretty -r json-compilation-database --output compile_commands.json
对于单个项目
xcodebuild -project PROJECT_NAME.xcodeproj | xcpretty -r json-compilation-database --output compile_commands.json
答案 1 :(得分:3)
以下是我如何获得正确的compile_commands.json
文件( Xcode 8.3 )
清理你的构建
xcodebuild clean -workspace WORKSPACE.xcworkspace/ -scheme "SCHEME"
这可以确保xcodebuild重新编译所有文件,然后使它们出现在编译数据库中。
构建并生成 compile_commands.json :
xcodebuild -workspace WORKSPACE.xcworkspace/ -scheme "SCHEME" | xcpretty -r json-compilation-database -o compile_commands.json
显然,您应该将工作区和方案替换为项目值。您还可以使用-project
代替-workspace
来对项目运行此功能。
答案 2 :(得分:1)
你试试这个剧本
#xctool oclint
xctool -workspace iWeidao.xcworkspace \
-scheme iWeidao \
-reporter json-compilation-database:compile_commands.json clean build
oclint-json-compilation-database -v oclint_args "-report-type html -o report.html -rc=LONG_LINE=120"
open compile_commands.json
open report.html
答案 3 :(得分:0)