|
1 | 1 | <?xml version="1.0"?> |
2 | 2 | <!DOCTYPE module PUBLIC |
3 | | - "-//Puppy Crawl//DTD Check Configuration 1.3//EN" |
4 | | - "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> |
| 3 | + "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" |
| 4 | + "https://checkstyle.org/dtds/configuration_1_3.dtd"> |
5 | 5 |
|
6 | 6 | <!-- |
7 | 7 | Palantir Baseline Checkstyle configuration. |
|
40 | 40 | <property name="message" value="Whitespace at end-of-line"/> |
41 | 41 | </module> |
42 | 42 | <module name="RegexpMultiline"> <!-- Java Style Guide: Vertical Whitespace --> |
43 | | - <property name="fileExtensions" value="java"/> |
| 43 | + <property name="fileExtensions" value="java"/> |
44 | 44 | <property name="format" value="^\n\n$"/> |
45 | 45 | <property name="message" value="Two consecutive blank lines are not permitted."/> |
46 | 46 | </module> |
47 | 47 | <module name="SuppressionFilter"> <!-- baseline-gradle: README.md --> |
48 | 48 | <property name="file" value="${config_loc}/checkstyle-suppressions.xml"/> |
49 | 49 | </module> |
| 50 | + <module name="SuppressionFilter"> <!-- baseline-gradle: README.md --> |
| 51 | + <!-- custom-suppressions.xml allows users to specify suppresions that will not be overriden by baselineUpdateConfig --> |
| 52 | + <property name="file" value="${config_loc}/custom-suppressions.xml"/> |
| 53 | + <property name="optional" value="true"/> |
| 54 | + </module> |
50 | 55 | <module name="SuppressWarningsFilter"/> <!-- baseline-gradle: README.md --> |
51 | 56 | <module name="TreeWalker"> |
52 | 57 | <module name="SuppressionCommentFilter"/> <!-- baseline-gradle: README.md --> |
|
79 | 84 | <module name="AvoidStarImport"/> <!-- Java Style Guide: No wildcard imports --> |
80 | 85 | <module name="AvoidStaticImport"> <!-- Java Style Guide: No static imports --> |
81 | 86 | <property name="excludes" value=" |
| 87 | + com.google.common.base.Preconditions.*, |
| 88 | + com.palantir.logsafe.Preconditions.*, |
82 | 89 | java.util.Collections.*, |
83 | 90 | java.util.stream.Collectors.*, |
84 | | - com.palantir.logsafe.Preconditions.*, |
85 | | - com.google.common.base.Preconditions.*, |
86 | | - org.apache.commons.lang3.Validate.*"/> |
| 91 | + org.apache.commons.lang3.Validate.*, |
| 92 | + org.assertj.core.api.Assertions.*, |
| 93 | + org.mockito.Mockito.*"/> |
87 | 94 | </module> |
88 | 95 | <module name="ClassTypeParameterName"> <!-- Java Style Guide: Type variable names --> |
89 | 96 | <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/> |
|
122 | 129 | <property name="illegalPkgs" value="junit.framework"/> |
123 | 130 | <message key="import.illegal" value="Use JUnit 4-style (org.junit.*) test classes and assertions instead of JUnit 3 (junit.framework.*)."/> |
124 | 131 | </module> |
| 132 | + <module name="IllegalImport"> <!-- Only relevant for pre-Java 11 because javafx is gone completely in Java 11 --> |
| 133 | + <property name="id" value="BanJavafx"/> |
| 134 | + <property name="illegalPkgs" value="javafx"/> |
| 135 | + <message key="import.illegal" value="Must not import javafx classes because some OpenJDK builds do not include javafx."/> |
| 136 | + </module> |
125 | 137 | <module name="IllegalImport"> <!-- Java Coding Guidelines: Import the canonical package --> |
126 | 138 | <property name="illegalPkgs" value="org.elasticsearch.common.base, com.clearspring.analytics.util, org.spark_project.guava"/> |
127 | 139 | <message key="import.illegal" value="Must not import repackaged classes."/> |
128 | 140 | </module> |
129 | 141 | <module name="IllegalImport"> <!-- Java Coding Guidelines: Import the canonical package --> |
| 142 | + <property name="id" value="BanShadedClasses"/> |
130 | 143 | <property name="illegalPkgs" value=".*\.(repackaged|shaded|thirdparty)"/> |
131 | 144 | <property name="regexp" value="true" /> |
132 | 145 | <message key="import.illegal" value="Must not import repackaged classes."/> |
|
334 | 347 | <property name="message" value="printStackTrace is not generally allowed."/> |
335 | 348 | <property name="ignoreComments" value="true"/> |
336 | 349 | </module> |
| 350 | + <module name="RegexpSinglelineJava"> |
| 351 | + <property name="id" value="BanSystemOut"/> |
| 352 | + <property name="format" value="System\.out\."/> |
| 353 | + <property name="message" value="Logging with System.out is not allowed because it has no metadata and can't be configured at runtime. Please use an SLF4J logger instead, e.g. log.info("Message")."/> |
| 354 | + <property name="ignoreComments" value="true"/> |
| 355 | + </module> |
| 356 | + <module name="RegexpSinglelineJava"> |
| 357 | + <property name="id" value="BanSystemErr"/> |
| 358 | + <property name="format" value="System\.err\."/> |
| 359 | + <property name="message" value="Logging with System.err is not allowed because it has no metadata and can't be configured at runtime. Please use an SLF4J logger instead, e.g. log.info("Message")."/> |
| 360 | + <property name="ignoreComments" value="true"/> |
| 361 | + </module> |
337 | 362 | <module name="RegexpSinglelineJava"> |
338 | 363 | <property name="format" value="\bCharsets\."/> |
339 | 364 | <property name="message" value="Use JDK StandardCharsets instead of alternatives."/> |
|
399 | 424 | <property name="allowEmptyMethods" value="true"/> |
400 | 425 | <property name="allowEmptyTypes" value="true"/> |
401 | 426 | <property name="allowEmptyLoops" value="true"/> |
| 427 | + <property name="allowEmptyLambdas" value="true"/> |
402 | 428 | <property name="ignoreEnhancedForColon" value="false"/> |
403 | 429 | <message key="ws.notFollowed" value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/> |
404 | 430 | <message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/> |
|
412 | 438 | </module> |
413 | 439 | <module name="CyclomaticComplexity"/> <!-- Java Coding Guidelines: Reduce Cyclomatic Complexity --> |
414 | 440 | <module name="DesignForExtension"> <!-- Java Coding Guidelines: Design for extension --> |
415 | | - <property name="ignoredAnnotations" value="Test, Before, BeforeEach, After, AfterEach, BeforeClass, BeforeAll, AfterClass, AfterAll"/> |
| 441 | + <property name="ignoredAnnotations" value="ParameterizedTest, Test, Before, BeforeEach, After, AfterEach, BeforeClass, BeforeAll, AfterClass, AfterAll"/> |
416 | 442 | </module> |
417 | 443 | <module name="JavadocMethod"> <!-- Java Style Guide: Where Javadoc is used --> |
418 | 444 | <property name="scope" value="public"/> |
|
445 | 471 | <module name="NestedTryDepth"/> <!-- Java Coding Guide: Try/catch blocks: never nested --> |
446 | 472 | <module name="NonEmptyAtclauseDescription"/> <!-- Java Style Guide: At-clauses --> |
447 | 473 | <module name="ParameterName"> <!-- Java Style Guide: Parameter names --> |
448 | | - <property name="format" value="^[a-z][a-zA-Z0-9]+$"/> |
| 474 | + <property name="format" value="^_?[a-z][a-zA-Z0-9]+$"/> |
449 | 475 | <message key="name.invalidPattern" value="Parameter name ''{0}'' must match pattern ''{1}''."/> |
450 | 476 | </module> |
451 | 477 | <module name="SingleLineJavadoc"/> <!-- Java Style Guide: General form --> |
|
0 commit comments