你的想法存在一个误区:
pre-commit hook是在svn服务器上触发的,而svn服务器中不是直接存储源代码文本,而是以svn自己的格式来存储(版本差异增量存储等)。所以checkstyle是检查不了的。实际上,你想做的事,应该是由自动构建工具来完成(svn是版本管理,不是构建工具)。
向你推荐一款开源的自动构建工具:jenkins,这个工具很方便。
另外,你所说的checkstyle检查,其实也不需要用python,直接用shell就可以做到的。
比如:在自动构建服务器上,做一个类似这样的脚本:
其中,checkstyle-6.1-all.jar是checkstyle 6.1的jar包;checkstyle.xml是为项目配置好的checkstyle规则;myproject是要检查的工程;checkstyle-report.xml是检查结果报告(xml格式)。
如果服务器是windows环境,只需要把以上内容改成.bat或.cmd批处理脚本即可。
追问我现在的需要就是在SVN提交代码时,能自己先检查代码格式,然后输出结果。这样的话,能在hook的.bat脚本中直接调用checkstyle么?,还有就是,怎么用命令行调用checkstyle?
问题发现早,处理代价小|测试左移——静态代码扫描SonarQube
支持集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量。四、功能介绍 4.1扫描的规则:a.内置规则 Sonar内嵌了Sonar way的扫描规则,不同语言(比如Java\/Python\/C#等)具有不同规则。b.集成插件规则 Sonar集成了pmd\/findbugs\/checkstyle插件,对规则集进行补充。4.2配置规则集合:我们...
源代码审计工具之:SonarQube
Sonar可以通过PMD、CheckStyle、Findbugs等等代码规则检测工具检测出潜在的bug。2.8 糟糕的设计(原文Spaghetti Design,意大利面式设计)通过Sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;通过Sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况,检...