Using OCLint with xctool¶
This document goes through the happy path of using OCLint to analyze the code quality of a Xcode project with xctool.
Background¶
xctool
is a drop-in replacement for Apple’s xcodebuild
, it makes things much easier to build Xcode projects. It eases continuous integration in many ways. xctool
supports generating the report in JSON Compilation Database format, which can be used by OCLint to understand all the compiler flags in order to analyze the code.
Running xctool with json-compilation-database Reporter¶
Running xctool
is quite straight forward, for example, the command below is simple build the project and generates the compile_commands.json
file under the current folder.
path/to/xctool.sh \
-project YourProject.xcodeproj \
-scheme YourScheme \
-reporter json-compilation-database:compile_commands.json \
build
xctool
also supports an .xctool-args
file to preserve the command arguments, like workspace, scheme, configuration, etc. If we have .xctool-args
ready, then we could simply run
xctool -reporter json-compilation-database:compile_commands.json build
to get the compile_commands.json
file.
We can use xctool clean
to clean the build in order to have a full list of all compiling files the next time we call xctool build
.
Running oclint-json-compilation-database¶
Now, by having the compile_commands.json
file, we can run the code analysis by simply call
oclint-json-compilation-database
Or with your customizations.
See also
With the great help from xctool
, you could even show OCLint warnings in Xcode.