Skip to content

Commit c3d06e6

Browse files
Copilottrask
andcommitted
Sync checkstyle configuration with OpenTelemetry
Co-authored-by: trask <[email protected]>
1 parent 4a24c2e commit c3d06e6

File tree

2 files changed

+433
-30
lines changed

2 files changed

+433
-30
lines changed

buildscripts/checkstyle.xml

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@
5050
-->
5151

5252
<module name="TreeWalker">
53+
<module name="RegexpSinglelineJava">
54+
<property name="format"
55+
value="(?&lt;!import static io.opentelemetry.sdk.testing.assertj.)OpenTelemetryAssertions\."/>
56+
<property name="message"
57+
value="Please statically import methods from OpenTelemetryAssertions"/>
58+
</module>
59+
<module name="RegexpSinglelineJava">
60+
<property name="format"
61+
value="(?&lt;!import static org.assertj.core.api.|OpenTelemetry)Assertions.assertThat"/>
62+
<property name="message"
63+
value="Please statically import methods from Assertions (OpenTelemetryAssertions extends Assertions)"/>
64+
</module>
5365
<module name="OuterTypeFilename"/>
5466
<module name="IllegalTokenText">
5567
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
@@ -77,30 +89,8 @@
7789
<property name="tokens"
7890
value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
7991
</module>
80-
<module name="LeftCurly">
81-
<property name="tokens"
82-
value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,
83-
INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT,
84-
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,
85-
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,
86-
OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/>
87-
</module>
88-
<module name="RightCurly">
89-
<property name="id" value="RightCurlySame"/>
90-
<property name="tokens"
91-
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
92-
LITERAL_DO"/>
93-
</module>
94-
<module name="RightCurly">
95-
<property name="id" value="RightCurlyAlone"/>
96-
<property name="option" value="alone"/>
97-
<property name="tokens"
98-
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
99-
INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF, INTERFACE_DEF, RECORD_DEF,
100-
COMPACT_CTOR_DEF"/>
101-
</module>
10292
<module name="SuppressionXpathSingleFilter">
103-
<!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
93+
<!-- suppression is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
10494
<property name="id" value="RightCurlyAlone"/>
10595
<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1]
10696
or preceding-sibling::*[last()][self::LCURLY]]"/>
@@ -190,6 +180,11 @@
190180
<message key="name.invalidPattern"
191181
value="Member name ''{0}'' must match pattern ''{1}''."/>
192182
</module>
183+
<module name="ConstantName">
184+
<property name="format" value="^(?!log$)(?!LOG$)(?!LOGGER$)"/>
185+
<message key="name.invalidPattern"
186+
value="Logger fields must be named ''logger''."/>
187+
</module>
193188
<module name="ParameterName">
194189
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
195190
<message key="name.invalidPattern"
@@ -222,7 +217,7 @@
222217
value="Class type name ''{0}'' must match pattern ''{1}''."/>
223218
</module>
224219
<module name="RecordTypeParameterName">
225-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
220+
<property name="format" value="^[A-Z]+[0-9]?$"/>
226221
<message key="name.invalidPattern"
227222
value="Record type name ''{0}'' must match pattern ''{1}''."/>
228223
</module>
@@ -259,6 +254,7 @@
259254
<property name="arrayInitIndent" value="2"/>
260255
</module>
261256
-->
257+
<!-- handled by error prone
262258
<module name="AbbreviationAsWordInName">
263259
<property name="ignoreFinal" value="false"/>
264260
<property name="allowedAbbreviationLength" value="0"/>
@@ -267,6 +263,7 @@
267263
PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, PATTERN_VARIABLE_DEF, RECORD_DEF,
268264
RECORD_COMPONENT_DEF"/>
269265
</module>
266+
-->
270267
<module name="OverloadMethodsDeclarationOrder"/>
271268
<!-- there are only a few violations of this, and they all appear to be for good reasons
272269
<module name="VariableDeclarationUsageDistance"/>
@@ -322,15 +319,14 @@
322319
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
323320
</module-->
324321
<module name="JavadocParagraph"/>
325-
<!-- needed temporarily while hosting azure-monitor-opentelemetry-exporter in this repo -->
326-
<!--module name="RequireEmptyLineBeforeBlockTagGroup"/-->
322+
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
327323
<module name="AtclauseOrder">
328324
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
329325
<property name="target"
330326
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
331327
</module>
332328
<module name="JavadocMethod">
333-
<property name="scope" value="public"/>
329+
<property name="accessModifiers" value="public"/>
334330
<property name="allowMissingParamTags" value="true"/>
335331
<property name="allowMissingReturnTag" value="true"/>
336332
<property name="allowedAnnotations" value="Override, Test"/>
@@ -359,9 +355,10 @@
359355
<!-- modified from "expected" to "ignored" to match Intellij -->
360356
<property name="exceptionVariableName" value="ignored"/>
361357
</module>
362-
<module name="CommentsIndentation">
358+
<!-- using Google Java Format which sometimes conflicts with this indentation rule -->
359+
<!-- module name="CommentsIndentation">
363360
<property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/>
364-
</module>
361+
</module -->
365362
<!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->
366363
<module name="SuppressionXpathFilter">
367364
<property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}"
@@ -370,13 +367,26 @@
370367
</module>
371368
<!-- this enables @SuppressWarnings("checkstyle:...") annotations -->
372369
<module name="SuppressWarningsHolder"/>
370+
<!-- this enables CHECKSTYLE:OFF and CHECKSTYLE:ON comments -->
371+
<module name="SuppressionCommentFilter"/>
372+
<module name="Regexp">
373+
<!-- see comment in otel.errorprone-conventions.gradle.kts for why we disable the SystemOut
374+
rule there and rely on this check -->
375+
<property name="id" value="SystemOut"/>
376+
<!-- . matches any character, so we need to escape it and use \. to match dots. -->
377+
<property name="format"
378+
value="(System\.out\.print|System\.err\.print|\.printStackTrace\(\)|Thread\.dumpStack)"/>
379+
<property name="illegalPattern" value="true"/>
380+
</module>
373381
</module>
374382
<!-- this enables @SuppressWarnings("checkstyle:...") annotations -->
375383
<module name="SuppressWarningsFilter"/>
376384
<!-- skip jflex generated files -->
377385
<module name="SuppressionSingleFilter">
378386
<property name="checks" value=".*"/>
379-
<property name="files" value="instrumentation-api[/\\]build[/\\]generated[/\\]jflex"/>
387+
<!-- TODO: Fix path after https://github.com/jprante/gradle-plugin-jflex/issues/20 -->
388+
<property name="files"
389+
value="instrumentation-api[/\\]build[/\\]generated[/\\]sources[/\\]main"/>
380390
</module>
381391
<module name="SuppressionSingleFilter">
382392
<property name="checks" value="MethodName"/>

0 commit comments

Comments
 (0)