忽略 gradle 构建中的 checkstyle 异常
Ignore checkstyle exceptions in gradle builds
我在代码中使用 Java14 功能。这在 Checkstyle from September 2020 on. Until then, it causes an exception.
中是可能的
switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY -> System.out.println(7);
case THURSDAY, SATURDAY -> System.out.println(8);
case WEDNESDAY -> System.out.println(9);
}
我将 checkstyle 配置为在出现异常时不停止:
<property name="haltOnException" value="false"/>
这仍然会导致 checkstyle 失败:
ant:checkstyle] [ERROR] /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java:1: Got an exception - com.puppycrawl.tools.checkstyle.api.CheckstyleException: IllegalStateException occurred while parsing file /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java.
> Task :checkstyleMain
[ant:checkstyle] at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:105)
是否可以在检查时忽略解析错误?
我还想其他类待查
您可以使用:
checkstyle {
sourceSets = []
}
您也可以使用命令行参数:
gradle build -x checkstyleMain
您必须在您的 Checkstyle 配置中使用 https://checkstyle.org/config_filefilters.html#BeforeExecutionExclusionFileFilter 来告诉 Checkstyle 根本不处理这些文件。这将排除所有模块 运行 在所述文件中,包括使用 Java 解析器和不使用的模块。 Checkstyle 中没有其他方法可以避免这些文件被解析。
我不太了解 Gradle,但 Checkstyle 命令行有 -e
和 -x
参数也可以忽略文件。这会导致与上述过滤器相同类型的排除。如果 gradle 可以使用 Checkstyle 的命令行,那么这是另一个选项,但同样,只是以不同的方式复制过滤器。
我在代码中使用 Java14 功能。这在 Checkstyle from September 2020 on. Until then, it causes an exception.
中是可能的switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY -> System.out.println(7);
case THURSDAY, SATURDAY -> System.out.println(8);
case WEDNESDAY -> System.out.println(9);
}
我将 checkstyle 配置为在出现异常时不停止:
<property name="haltOnException" value="false"/>
这仍然会导致 checkstyle 失败:
ant:checkstyle] [ERROR] /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java:1: Got an exception - com.puppycrawl.tools.checkstyle.api.CheckstyleException: IllegalStateException occurred while parsing file /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java.
> Task :checkstyleMain
[ant:checkstyle] at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:105)
是否可以在检查时忽略解析错误?
我还想其他类待查
您可以使用:
checkstyle {
sourceSets = []
}
您也可以使用命令行参数:
gradle build -x checkstyleMain
您必须在您的 Checkstyle 配置中使用 https://checkstyle.org/config_filefilters.html#BeforeExecutionExclusionFileFilter 来告诉 Checkstyle 根本不处理这些文件。这将排除所有模块 运行 在所述文件中,包括使用 Java 解析器和不使用的模块。 Checkstyle 中没有其他方法可以避免这些文件被解析。
我不太了解 Gradle,但 Checkstyle 命令行有 -e
和 -x
参数也可以忽略文件。这会导致与上述过滤器相同类型的排除。如果 gradle 可以使用 Checkstyle 的命令行,那么这是另一个选项,但同样,只是以不同的方式复制过滤器。