我在Jenkins中添加了一个'执行shell'构建步骤来运行cpplint.py
python /var/lib/jenkins/scripts/cpplint.py --counting=detailed `find path -name *.cpp
我还添加了'扫描编译器警告'并添加了CppLint。
然而,即使它在控制台输出中显示一些警告,例如
,它总是会收到0警告filename.cpp:18: Missing space after , [whitespace/comma] [3]
答案 0 :(得分:3)
如果使用--output = vs7运行cpplint.py,它将生成Jenkins警告插件所期望的格式。
答案 1 :(得分:2)
我使用Cppcheck Plugin和cpplint_to_cppcheckxml.py将cpplint.py输出转换为Cppcheck Plugin所需的XML格式。这非常有效。我可以点击Jenkins作业页面上显示的Cppcheck结果中的违规问题,它将显示突出显示有违规行的源代码。很酷。
您必须提供cpplint源代码目录的绝对路径,以便在Cppcheck Results页面上生成超链接。我唯一看到的是你的Cppcheck和cpplint结果被合并而不是分开。
如果使用Linux bash脚本,这里是我如何将相对路径转换为绝对路径,以便cpplint在其输出中生成绝对路径:
# Build cpplint reports and transform to cppcheck compatible XML format
# Convert relative path to absolute path so that Jenkins job can easily display the source code errors
srcPathAbsolute=${PWD}/../dicegame/src/main
srcPathAbsolute=$(readlink -f ${srcPathAbsolute})
cpplint.py --counting=detailed ${srcPathAbsolute}/*.cpp 2>&1| cpplint_to_cppcheckxml.py &> cpplint-cppcheck-result.xml
在我的Jenkins作业配置中找到ccplint-cppcheck-result.xml文件和我的普通cppcheck-result.xml。
Publish cppcheck results
Cppcheck report XMLs **/*cppcheck-result.xml
感谢gerkey on Bitbucket cpplint_to_cppcheckxml.py。他的cpplint_to_cppcheckxml.py脚本作为如何将其他工具的输出连接到现有Jenkins插件的示例。非常好!