基于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)更多技术细节,以及相关对象的方法可以自行阅读源代码。