python如何调用checkstyle插件

我只想简简单单的在SVN提交Java代码前加一个pre-commit hook,调用checkstyle进行检查,不要太复杂的。

你的想法存在一个误区:

pre-commit hook是在svn服务器上触发的,而svn服务器中不是直接存储源代码文本,而是以svn自己的格式来存储(版本差异增量存储等)。所以checkstyle是检查不了的。实际上,你想做的事,应该是由自动构建工具来完成(svn是版本管理,不是构建工具)。


向你推荐一款开源的自动构建工具:jenkins,这个工具很方便。


另外,你所说的checkstyle检查,其实也不需要用python,直接用shell就可以做到的。

比如:在自动构建服务器上,做一个类似这样的脚本:

#!/bin/sh
# -*- coding: utf-8 -*-
# -*- file: checkstyle.sh -*-

java -jar ${CHECKSTYLE_HOME}/checkstyle-6.1-all.jar \
    -c ${SCRIPT_HOME}/checkstyle.xml \
    -r ${PROJECT_HOME}/myproject/modules \
    -r ${PROJECT_HOME}/myproject/resources \
    -f xml \
    -o ${REPORT_DIR}/checkstyle-report.xml || echo "checkstyle find $? bugs."


其中,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检测单个任务规则的应用情况,检...

相似回答
大家正在搜