首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

Jenkins上的lint代码静态测试跟代码风格检查cpplint

2013-12-21 
Jenkins上的lint代码静态测试和代码风格检查cpplintcppcheck -j 4 --platformwin64 --enableall ../Buil

Jenkins上的lint代码静态测试和代码风格检查cpplint
cppcheck -j 4 --platform=win64 --enable=all ../Build/. -i externlib --xml 2> project_codeanalysis.xml

? ? ? ? ? b. 在构建后操作中增加publish cppcheck results。输入此xml文件名。

?

? ? *** 如果想邮件中自动发送此log,可以安装copy to slave plugin。然后把这个xml复制会server。并从邮件中发送。

?

二、 Jenkins的代码风格检查

  1. 工具选择:因为我们主要遵照google的代码风格,所以使用cpplint.py。下载地址:?http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py?。代码风格中文版说明:?http://blog.csdn.net/shendl/article/details/6762538
  2. Jenkins集成:Jenkins目前还没有直接可以使用的cpplint的插件可用,所以这里我们使用一个warnings plug-in来收集cpplint的信息并report出来。
  3. 安装: 选择插件Warnings Plug-in并安装。
  4. 配置:
? ? ? ?a.?在job页面,增加windows batch command。用cpplint来检查文件,并把结果同时输出到控制台和cpplint-result.xml文件。因为cpplint的返回值会是1,所以重置下返回值。否则任务总显示失败。(必须输出到控制台,因为插件是解析控制台输出来得到报告)cpplint.py MyFile.cpp 2>&1 | tee cpplint-result.xmlset errorlevel=0? ? ? ? b. ?在构建后操作中,选择scan for compiler warnings。选择cpplint。import os, fnmatch, sysdef all_files(root, patterns = '*', single_level = False, yield_folders=False): patterns = patterns.split(';') for path, subdirs, files in os.walk(root): if yield_folders: files.extend(subdirs) files.sort() for name in files: for pattern in patterns: if fnmatch.fnmatch(name, pattern): yield os.path.join(path,name) break if single_level: breakif __name__ == '__main__': if len(sys.argv) < 2: print 'Please set the absolute path as the first parameter for parse.' sys.exit() print sys.argv[1] for path in all_files(sys.argv[1],'*.cpp;*.h'): os.system("cpplint.py %s"%(path))?好了,一切都可正常运行了。每次执行过后也有统计生成。完成。

热点排行