我想有机会将提交/变更集中的 *.java 文件列表传递给预提交 Hook ,该 Hook 将检查这些 java 文件的代码风格。
我试过使用 maven-checkstyle-plugin但看起来无法向其传递任意文件列表。此外,运行 mvn site
构建的报告不应该像人类可读的实体那样专门使用,因此在 python 脚本(基本上是 mercurial 钩子(Hook))中使用此报告并非易事。
所以问题是:如何在命令行中检查任意 *.java 文件列表的样式(就像我们使用 pep8 检查任意 python 文件列表,或使用 jshint/jslint 检查 javascript 文件一样)?
通过样式检查,我的意思不仅是将报告打印到标准输出,而且以某种方式返回最终结果——文件是否通过了指南。
最佳答案
如果我没理解错的话,你不是要检查项目中的所有 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
干杯
关于java - 如何从命令行检查 java 文件的任意样式列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24208568/