I want to use the cpplint.py script to get coding style errors on the code. I managed to execute the python script in Jenkins and it posts the output to the console log. I want to parse the console log via the warnings plugin using the cpplint browser. Unfortunately, I get the following exception:
ERROR: Publisher hudson.plugins.warnings.WarningsPublisher aborted due to exception
java.lang.NullPointerException
at hudson.plugins.violations.util.AbsoluteFileFinder.addSourcePaths(AbsoluteFileFinder.java:20)
at hudson.plugins.violations.types.cpplint.CppLintParser.parse(CppLintParser.java:44)
at hudson.plugins.warnings.parser.ViolationsAdapter.parse(ViolationsAdapter.java:60)
at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:317)
at hudson.plugins.warnings.parser.ParserRegistry.parse(ParserRegistry.java:296)
at hudson.plugins.warnings.WarningsPublisher.parseConsoleLog(WarningsPublisher.java:293)
at hudson.plugins.warnings.WarningsPublisher.perform(WarningsPublisher.java:257)
at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:338)
at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:27)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
at hudson.model.Run.run(Run.java:1433)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
This is curious, as I don’t provide any file to parse but have configured the plugin to parse the console log. Do I have to configure cpplint to produce a special output? Or is it just an error in the plugin? If you do need any further information, please ask.
Thanks for your help!
This was actually a bug in the plugin. Will be fixed in the next update of the warnings plugin.