SVN集成Checkstyle实现代码自动检查

日常做开发管理,开发经理或者项目经理最烦恼的是怎么控制团队成员的代码质量,团队成员背景不同、经验不同,开发出来的产品也参差不齐,如果只靠代码走查,工作量太大,效果也不好,如果靠事后检查,或者出问题了再来追责,效果也不好。因此需要考虑一种事前自动化检查的方式,这样就能简化开发经理或项目经理的工作,让管理人员能够抽出身作更多的协调、统筹、高瞻远瞩的事情。

大多数项目使用的版本工具应该是SVN、GIT,其他版本工具例如CVS、TFS,当前的用户日趋减少。

Checkstyle是很好的代码规范检查工具,可以和Eclipse结合,但是如果只是和Eclipse结合做检查,效果还是不太好,还是不能起到事前自动检查的效果,所以很自然地想到将SVN和Checkstyle结合,这样在程序员提交代码的时候可以自动检查,做出警告,如存在不规范代码则禁止提交,这样就能实现代码的事前自动化检查。

以下是根据项目管理过程中的经验整理出来的代码自动检查方法,供参考:

1、安装Python2.4(最新的python为2.7或3.1版本),例如安装在c:\python24路径下

2、安装svnchecker-0.3

下载后解压缩,例如解压缩在D:\downloads\svnchecker-0.3\svnchecker-0.3:

修改modules\transaction.py文件,增加命令行:

command &command.replace(‘svnlook’,’%svnlook%’)

修改checks\check.py文件,增加命令行

if len(files) == 0:

return("",0)

3、在代码库下编写配置文件

[Default]

Main.PreCommitChecks=Checkstyle

#Path of java executable to run Checkstyle command

Checkstyle.Java=java

#Classpath for executing Checkstyle rules

Checkstyle.Classpath=D:\checkstyle\checkstyle-5.6-all.jar

#Configuration file for Checkstyle to run its rules.

Checkstyle.ConfigFile=D:\checkstyle\checkstyle.xml

#In case of failures, where should Subversionchecker redirectthe errors

Checkstyle.FailureHandlers=Console

4、编写代码检查脚本,例如d:\checksytle\checkstyle.xml:

5、配置pre-commit脚本

set python="C:\Python24\python.exe"

setsvnchecker="D:\downloads\svnchecker-0.3\svnchecker-0.3"

set svnlook="D:\Program Files\VisualSVNServer\bin\svnlook.exe"

setlocal

set REPOS=%1

set TXN=%2

rem checkstyle hooks

%python% %svnchecker%\Main.py PreCommit %REPOS%%TXN% || exit 1

rem Make sure that the log message containssome text.

set SVNLOOK="D:\Program Files\VisualSVNServer\bin\svnlook.exe"

%SVNLOOK% log -t "%TXN%""%REPOS%" | findstr "....." > null

if %errorlevel% gtr 0 goto err

exit 0

:err

echo 字符串长度不能小于5,不允许提交 1>&2

echo "%REPOS%" -t "%TXN%"1>&2

exit 2

6、提交代码时如果代码不符合规范会显示异常,修改后可以正常提交。如下

时间: 2024-10-25 00:29:54

SVN集成Checkstyle实现代码自动检查的相关文章

Jenkins系列——使用checkstyle进行代码规范检查【升级版】

1.背景 在<Jenkins系列——使用checkstyle进行代码规范检查>一文中完成了ant实现代码规范检查的例子.但存在以下缺陷: 每个作业都需要配置一个不同的checkstyle ant脚本,而这个脚本中的多数代码是重复的. 报告采取覆盖方式,而我们有时需要保留一定构建次数的报告. 2.分析 使用变量代替ant脚本中变化的路径,这个变量通过ant命令的 -Dxxx=value 的方式传值. 建立名为${BUILD_NUMBER}的目录,将该次构建成功的报告保留在该目录下. 3.环境 同

Jenkins系列——使用checkstyle进行代码规范检查

1.目标 通过jenkins使用checkstyle对代码进行规范检查并生成html报告. 构建采用shell. 2.环境 checkstyle5.7(如果是Linux版本选用tar.gz格式) apache-ant-1.9.9 ①其他默认环境(如jdk)同前 . ②checkstyle没有选择最新版7.6.1是因为7.6.1版本没有将xml格式的报告转换为html报告的xsl文件. ③ant版本不宜选择太高,因为高版本可能需要JDK8+的支持. ④jenkins checkstyle插件主要是

VS Code中python代码自动格式化 代码自动检查

VS Code菜单栏中依次打开 File—Preferences—Settings,搜索框中搜索“python.formatting.provider”, 然后在下拉菜单中选择autopep8,yapf,black三种之中任何一个.推荐autopep8 然后Ctrl+Alt+F会提示是否安装,选择后在vs code上方选择以哪种方式安装. VS Code菜单栏中依次打开 File—Preferences—Settings, 1.搜索框中搜索“python.linting.pep8Enabled”

Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果

为了规范代码,我们一般会集成静态代码检测工具,比如PMD.FindBugs.Checkstyle,那么Jenkins如何集成这些检查工具,并把检查结果放到构建邮件里呢? 今天做了调研和实现,过程如下 首先看,最终效果: 1.pom.xml build.plugins 增加: <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <ph

分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2

代码规范检查工具——checkStyle

简介 Checkstyle是一款检查java程序代码样式的工具,可以有效的帮助我们检视代码以便更好的遵循代码编写标准,特别适用于小组开发时彼此间的样式规范和统一.Checkstyle提供了高可配置性,以便适用于各种代码规范,所以除了可以使用它提供的sun的代码标准外,你也可以定制自己的标准.我们可以在eclipse中安装checkstyle的插件,来方便我们的使用. Checkstyle可以让我们养成书写良好代码风格的习惯,代码的整洁也减少了很多badsmell的产生.使用checkstyle的

Jenkins+sonar+tomcat+SVN集成搭建

一. 文档说明 本文档用于说明Jenkins+tomcat+sonar+SVN集成分析代码的搭建过程和可能遇到的问题及问题的相关解决办法:本文档针对内部人员公开,搭建过程中一些工作是为远程访问Jenkins.sonar而做,若是在本地服务器搭建则不需要做相关工作:Jenkins和sonar的搭建环境为Linux.mysql.jdk1.7.jenkins.sonar4.5等,相关的版本说明会在后续文档中详细描述. 二. jdk1.7安装 1. 准备jdk安装包 去官方网站选择你需要的版本,下载rp

四种java代码静态检查工具

[转载]常用 Java 静态代码分析工具的分析与比较 转载自 开源中国社区 http://www.oschina.net/question/129540_23043 1月16日厦门 OSC 源创会火热报名中,奖品多多哦 »   简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码

代码静态检查

代码评审技术 代码审查(Code Review)是一种用来确认方案设计和代码实现的质量保证机制,它通过阅读代码来检查源代码与编码规范的符合性以及代码的质量. 代码审查的作用 检查设计的合理性 互为 Backup 分享知识.设计.技术 增加代码可读性 处理代码中的“地雷区” 缺陷检查表 Python代码分析工具 Pylint 是一个 Python 代码分析工具,它用于分析 Python 代码的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8)和有潜在问题的代码. Pyl