基于checkstyle的python封装包
checkstyle原文档地址:http://checkstyle.sourceforge.net/cmdline.html
在正式安装之前,首先需要进行一些准备:
- 完整的java环境(推荐使用
Oracle Java 8
) - 完整的python环境(推荐使用
python 3.5+
) - 【推荐】完整的pip3环境(推荐使用
pip3 18.0
或更高版本) - 相关系统依赖
首先将checkstyle.jar
安装至系统内部。
sudo ./install.sh
注意:需要sudo
权限
接下来安装pycheckstyle
包
sudo pip3 install .
注意:同样的,这步操作依然需要sudo
权限
类似的,卸载pycheckstyle
sudo pip3 uninstall pycheckstyle
在安装和卸载的过程中,推荐使用pip
进行操作,可以省去很多不必要的麻烦。
在本包中,目前只内置了版本信息和基本的-c
查询功能。后续还将根据需要进一步完善
from pycheckstyle import *
if __name__ == "__main__":
print(checkstyle_version)
输出:
Checkstyle version: 8.12
from pycheckstyle import *
if __name__ == "__main__":
for message in SunStandard().check("/vagrant_data/java_projects/ips-project"):
print(message.level, message.type, message.message)
print(message.position)
此处程序使用了pycheckstyle
内置的SunStandard
模板,实际上包内还内置了一个名为GoogleStandard
的模板,使用方法基本一样。
此外,check的对象可以是路径,也可以是单个文件。
方法和上面的例子基本类似,使用CheckStandard
可以在构造函数中自定义模板位置
from pycheckstyle import *
if __name__ == "__main__":
for message in CheckStandard("standards/google_checks.xml").check("/vagrant_data/java_projects/ips-project"):
print(message.level, message.type, message.message)
print(message.position)
更多技术细节,以及相关对象的方法可以自行阅读源代码。