[英]How to check style arbitrary list of java files from command line?
我希望有机会将commit / changeset中的* .java文件列表传递给预提交钩子,该钩子将检查这些java文件的代码样式。
我试过使用maven-checkstyle-plugin,但看起来不可能将任意文件列表传递给它。 此外,运行mvn site
构建的报告不应该像人类可读的实体那样完全使用,因此在python脚本中使用此报告并不是一件容易的事情(基本上是mercurial钩子)。
所以问题是:如何在命令行中检查样式* .java文件的任意列表(就像我们用pep8检查任意python文件列表,或者用jshint / jslint检查javascript文件)?
通过样式检查我的意思不仅是打印报告到stdout而且以某种方式返回最终结果 - 文件是否已经通过了指南。
如果我理解正确,你想检查项目中不是所有的Java源代码,只检查一些特定的文件?
# this checks all *.java sources
mvn checkstyle:checkstyle -Dcheckstyle.includes=**\/*.java
# this checks only sources matched by Foo*.java
mvn checkstyle:checkstyle -Dcheckstyle.includes=**\/Foo*.java
# this checks only sources matched by Foo*.java and the source Bar.java
mvn checkstyle:checkstyle -Dcheckstyle.includes=**\/Foo*.java,**\/Bar.java
在所有情况下,结果都是
# for your further automatic processing
target/checkstyle-result.xml
# for humans to read
target/site/checkstyle.html
干杯
SubOptimal提出的解决方案可以与抑制过滤器结合使用:它允许使用正则表达式来排除检查文件的名称,甚至指定一些行范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.