Usage
You can analyze your projects using the usual means (see this page for all available). All runners should work. See below for details how to do it for maven-, ant-, and all-the-other-projects.
Maven projects
Doing sonar analysis on maven projects is quite simple and usually a matter of:
- Getting and installing the cxx-maven-plugin (usage).
- if you use multiple source directory and depends on cxx:addsource goal, you shall use -Dsonar.phase=cxx:addsource option (see Sonar Maven Plugin Project Configuration)
- Setting the language-property and the source directory in your pom:
<properties> ... <sonar.language>c++</sonar.language> ... </properties> <build> ... <sourceDirectory> path </sourceDirectory> ... </build>
- Make sure sonar-server is running
Start the analysis with
"mvn sonar:sonar" or "mvn sonar:sonar -Dsonar.phase=cxx:addsource"
For details see the first sample project.
Ant projects
TODO
Project using miscellaneous build systems
Outside of the maven world the process of integration of a sonar analysis into your project is usually less straightforward but also more flexible. The rough pattern should remain the same independent of the environment:
- Run the analyzers which are of interest for you and store the results in a file somewhere underneath the root directory of your project. Its usually convenient to put this into the build system; a shell script may be a good choice, too.
Use the sonar-runner to trigger the Cxx plugin which parses the result files and feeds the data into sonar. The sonar runner requires some data to proceed which is usually provided via the "sonar-project.properties"-file in the projects root directory.
There may be a Step '0' too: "use your build system to make a build suitable for running the Step 1". This may be the case for collecting coverage statistics when using gcc+gcov, for example.
For details how to invoke the tools and tie it all together see the second sample project.

