繁体   English   中英

如何从命令行检查样式的任意java文件列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM