Compare commits
4 Commits
main
..
3d049720a9
| Author | SHA1 | Date | |
|---|---|---|---|
| 3d049720a9 | |||
| 32ab651d6d | |||
| ebdc03b0b4 | |||
| bddcc273cf |
@@ -1,10 +1,6 @@
|
|||||||
name: Build with gradle
|
name: Build with cached gradle
|
||||||
run-name: Building for ${{ gitea.actor }}
|
run-name: Building for ${{ gitea.actor }}
|
||||||
on:
|
on: [pull_request]
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Build-with-gradle:
|
Build-with-gradle:
|
||||||
@@ -19,5 +15,5 @@ jobs:
|
|||||||
# cache-dependency-path: | # optional
|
# cache-dependency-path: | # optional
|
||||||
# sub-project/*.gradle*
|
# sub-project/*.gradle*
|
||||||
# sub-project/**/gradle-wrapper.properties
|
# sub-project/**/gradle-wrapper.properties
|
||||||
- run: ./gradlew test --no-daemon
|
- run: ./gradlew build --no-daemon
|
||||||
- run: ./gradlew publishAllPublicationsToGiteaRepository -PgradleKey=${{ secrets.GRADLE_KEY }} --no-daemon
|
- run: ./gradlew publishAllPublicationsToGiteaRepository -PgradleKey="${{ secrets.GRADLE_KEY }}" --configuration-cache
|
||||||
@@ -1,15 +1,10 @@
|
|||||||
name: Java Google Checkstyle
|
name: Java Google Checkstyle
|
||||||
run-name: Linting for ${{ gitea.actor }}
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
pull-request: write
|
pull-request: write
|
||||||
|
|
||||||
on:
|
on: [pull_request]
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
checkstyle:
|
checkstyle:
|
||||||
@@ -21,17 +16,6 @@ jobs:
|
|||||||
REVIEWDOG_GITEA_API_TOKEN: ${{ secrets.REVIEWDOG_TOKEN }}
|
REVIEWDOG_GITEA_API_TOKEN: ${{ secrets.REVIEWDOG_TOKEN }}
|
||||||
GITEA_ADDRESS: http://gitea:3000
|
GITEA_ADDRESS: http://gitea:3000
|
||||||
steps:
|
steps:
|
||||||
- name: 'Setup Java JDK'
|
|
||||||
uses: actions/setup-java@v4
|
|
||||||
with:
|
|
||||||
java-version: '22'
|
|
||||||
distribution: 'zulu'
|
|
||||||
|
|
||||||
- name: 'Setup Reviewdog'
|
|
||||||
uses: reviewdog/action-setup@v1
|
|
||||||
with:
|
|
||||||
reviewdog_version: latest
|
|
||||||
|
|
||||||
- name: 'Pull code'
|
- name: 'Pull code'
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
@@ -42,6 +26,18 @@ jobs:
|
|||||||
files: |
|
files: |
|
||||||
**.java
|
**.java
|
||||||
|
|
||||||
|
- name: 'Setup Java JDK'
|
||||||
|
uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
java-version: '22'
|
||||||
|
distribution: 'zulu'
|
||||||
|
|
||||||
|
- name: 'Setup Reviewdog'
|
||||||
|
uses: reviewdog/action-setup@v1
|
||||||
|
with:
|
||||||
|
reviewdog_version: latest
|
||||||
|
# reviewdog_version: ${{ env.REVIEWDOG_VERSION }}
|
||||||
|
|
||||||
- name: 'Run Checkstyle with Reviewdog'
|
- name: 'Run Checkstyle with Reviewdog'
|
||||||
if: steps.changed-files.outputs.any_changed == 'true'
|
if: steps.changed-files.outputs.any_changed == 'true'
|
||||||
run: |
|
run: |
|
||||||
@@ -50,7 +46,7 @@ jobs:
|
|||||||
echo "Changed files:"
|
echo "Changed files:"
|
||||||
echo "${{ steps.changed-files.outputs.all_changed_files }}"
|
echo "${{ steps.changed-files.outputs.all_changed_files }}"
|
||||||
|
|
||||||
java -jar checkstyle-${{ env.CHECKSTYLE_VERSION }}-all.jar -c ./style_guide.xml -f xml ${{ steps.changed-files.outputs.all_changed_files }} \
|
java -jar checkstyle-${{ env.CHECKSTYLE_VERSION }}-all.jar -c google_checks.xml -f xml ${{ steps.changed-files.outputs.all_changed_files }} \
|
||||||
| reviewdog -f=checkstyle \
|
| reviewdog -f=checkstyle \
|
||||||
-name="Checkstyle" \
|
-name="Checkstyle" \
|
||||||
-reporter="gitea-pr-review" \
|
-reporter="gitea-pr-review" \
|
||||||
|
|||||||
+25
-25
@@ -8,7 +8,7 @@ plugins {
|
|||||||
group = "com.softwaresmyth"
|
group = "com.softwaresmyth"
|
||||||
version = "1.0-SNAPSHOT"
|
version = "1.0-SNAPSHOT"
|
||||||
|
|
||||||
val mySecret = project.findProperty("gradleKey")
|
val mySecret = project.findProperty("mySecretProperty")
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
// Define a publication, in this case for Maven
|
// Define a publication, in this case for Maven
|
||||||
@@ -29,30 +29,30 @@ publishing {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// create<MavenPublication>("Smythery") {
|
create<MavenPublication>("Smythery") {
|
||||||
// // Specify which component to publish (usually "java" for a standard library)
|
// Specify which component to publish (usually "java" for a standard library)
|
||||||
// from(components["java"])
|
from(components["java"])
|
||||||
//
|
|
||||||
// // Optional: Customize POM metadata (required for Maven Central)
|
// Optional: Customize POM metadata (required for Maven Central)
|
||||||
// pom {
|
pom {
|
||||||
// name = "Ornot"
|
name = "Ornot"
|
||||||
// description = "A library of methods that do nothing"
|
description = "A library of methods that do nothing"
|
||||||
// url = "https://gitea.softwaresmyth.com/numbers/Ornot"
|
url = "https://gitea.softwaresmyth.com/numbers/Ornot"
|
||||||
// licenses {
|
licenses {
|
||||||
// license {
|
license {
|
||||||
// name = "The Apache License, Version 2.0"
|
name = "The Apache License, Version 2.0"
|
||||||
// url = "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
url = "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// developers {
|
developers {
|
||||||
// developer {
|
developer {
|
||||||
// id = "Numbers"
|
id = "Numbers"
|
||||||
// name = "Josh Chester"
|
name = "Josh Chester"
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,19 +6,12 @@ import java.util.function.BiConsumer;
|
|||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
class NoopTest {
|
class NoopTest {
|
||||||
|
|
||||||
/**
|
|
||||||
* Test as a function with one argument.
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
void TestOneArg() {
|
void TestOneArg() {
|
||||||
Consumer<String> toTest = OrNot::noop;
|
Consumer<String> toTest = OrNot::noop;
|
||||||
toTest.accept("Ignored");
|
toTest.accept("Ignored");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Test as a function with two arguments.
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
void TestTwoArg() {
|
void TestTwoArg() {
|
||||||
BiConsumer<Double, Boolean> toTest = OrNot::noop;
|
BiConsumer<Double, Boolean> toTest = OrNot::noop;
|
||||||
|
|||||||
-483
@@ -1,483 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE module PUBLIC
|
|
||||||
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
|
||||||
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Checkstyle configuration that checks the Google coding conventions from Google Java Style
|
|
||||||
that can be found at https://google.github.io/styleguide/javaguide.html
|
|
||||||
|
|
||||||
Checkstyle is very configurable. Be sure to read the documentation at
|
|
||||||
http://checkstyle.org (or in your downloaded distribution).
|
|
||||||
|
|
||||||
To completely disable a check, just comment it out or delete it from the file.
|
|
||||||
To suppress certain violations please review suppression filters.
|
|
||||||
|
|
||||||
Authors: Max Vetrenko, Mauryan Kansara, Ruslan Diachenko, Roman Ivanov.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<module name="Checker">
|
|
||||||
|
|
||||||
<property name="charset" value="UTF-8"/>
|
|
||||||
|
|
||||||
<property name="severity" value="${org.checkstyle.google.severity}" default="warning"/>
|
|
||||||
|
|
||||||
<property name="fileExtensions" value="java, properties, xml"/>
|
|
||||||
<!-- Excludes all 'module-info.java' files -->
|
|
||||||
<!-- See https://checkstyle.org/filefilters/index.html -->
|
|
||||||
<module name="BeforeExecutionExclusionFileFilter">
|
|
||||||
<property name="fileNamePattern" value="module\-info\.java$"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="SuppressWarningsFilter"/>
|
|
||||||
|
|
||||||
<!-- https://checkstyle.org/filters/suppressionfilter.html -->
|
|
||||||
<module name="SuppressionFilter">
|
|
||||||
<property name="file" value="${org.checkstyle.google.suppressionfilter.config}"
|
|
||||||
default="checkstyle-suppressions.xml" />
|
|
||||||
<property name="optional" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<!-- https://checkstyle.org/filters/suppresswithnearbytextfilter.html -->
|
|
||||||
<module name="SuppressWithNearbyTextFilter">
|
|
||||||
<property name="nearbyTextPattern"
|
|
||||||
value="CHECKSTYLE.SUPPRESS\: (\w+) for ([+-]\d+) lines"/>
|
|
||||||
<property name="checkPattern" value="$1"/>
|
|
||||||
<property name="lineRange" value="$2"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<!-- Checks for whitespace -->
|
|
||||||
<!-- See http://checkstyle.org/checks/whitespace/index.html -->
|
|
||||||
<module name="FileTabCharacter">
|
|
||||||
<property name="eachLine" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="LineLength">
|
|
||||||
<property name="fileExtensions" value="java"/>
|
|
||||||
<property name="max" value="100"/>
|
|
||||||
<property name="ignorePattern"
|
|
||||||
value="^package.*|^import.*|href\s*=\s*"[^"]*"|http://|https://|ftp://"/>
|
|
||||||
</module>
|
|
||||||
<!-- Suppression to prevent LineLength Check from flagging lines in Text-blocks -->
|
|
||||||
<module name="SuppressWithPlainTextCommentFilter">
|
|
||||||
<property name="checkFormat" value="LineLength"/>
|
|
||||||
<property name="offCommentFormat" value='^.*"""\s*$'/>
|
|
||||||
<property name="onCommentFormat" value='^\s*"""\s*(?:[,;]|.+)$'/>
|
|
||||||
</module>
|
|
||||||
<module name="TreeWalker">
|
|
||||||
<module name="OuterTypeFilename"/>
|
|
||||||
<module name="MatchXpath">
|
|
||||||
<property name="id" value="singleLineCommentStartWithSpace"/>
|
|
||||||
<property name="query"
|
|
||||||
value="//SINGLE_LINE_COMMENT[./COMMENT_CONTENT[not(starts-with(@text, ' '))
|
|
||||||
and not(starts-with(@text, '/'))
|
|
||||||
and not(@text = '\n') and not(ends-with(@text, '//\n'))]]"/>
|
|
||||||
<message key="matchxpath.match" value="''//'' must be followed by a whitespace."/>
|
|
||||||
</module>
|
|
||||||
<module name="IllegalTokenText">
|
|
||||||
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL, TEXT_BLOCK_CONTENT"/>
|
|
||||||
<property name="format"
|
|
||||||
value="\\u00(09|0(a|A)|0(b|B)|(0|1)(c|C)|(0|1)(d|D)|1(d|D)|1(e|E)|1(f|F)|22|27|5(C|c))|\\u1680|\\u3000|\\u20(00|0(a|A)|28|29|(2|5)(f|F))|\\(0(10|11|12|14|15|40|42|47)|134)"/>
|
|
||||||
<property name="message"
|
|
||||||
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
|
|
||||||
</module>
|
|
||||||
<module name="AvoidEscapedUnicodeCharacters">
|
|
||||||
<property name="allowEscapesForControlCharacters" value="true"/>
|
|
||||||
<property name="allowByTailComment" value="true"/>
|
|
||||||
<property name="allowNonPrintableEscapes" value="true"/>
|
|
||||||
</module>
|
|
||||||
<module name="AvoidStarImport"/>
|
|
||||||
<module name="OneTopLevelClass"/>
|
|
||||||
<module name="NoLineWrap">
|
|
||||||
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/>
|
|
||||||
</module>
|
|
||||||
<module name="NeedBraces">
|
|
||||||
<property name="tokens"
|
|
||||||
value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
|
|
||||||
</module>
|
|
||||||
<module name="LeftCurly">
|
|
||||||
<property name="id" value="LeftCurlyEol"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,
|
|
||||||
INTERFACE_DEF, LAMBDA, LITERAL_CATCH,
|
|
||||||
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,
|
|
||||||
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,
|
|
||||||
OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="LeftCurly">
|
|
||||||
<property name="id" value="LeftCurlyNl"/>
|
|
||||||
<property name="option" value="nl"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="LITERAL_CASE, LITERAL_DEFAULT"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<!-- LITERAL_CASE, LITERAL_DEFAULT are reused in SWITCH_RULE -->
|
|
||||||
<property name="id" value="LeftCurlyNl"/>
|
|
||||||
<property name="query" value="//SWITCH_RULE/SLIST"/>
|
|
||||||
</module>
|
|
||||||
<module name="RightCurly">
|
|
||||||
<property name="id" value="RightCurlySame"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_IF, LITERAL_ELSE,
|
|
||||||
LITERAL_DO"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<property name="id" value="RightCurlySame"/>
|
|
||||||
<property name="query" value="//RCURLY[parent::SLIST[parent::LITERAL_CATCH
|
|
||||||
and not(parent::LITERAL_CATCH/following-sibling::*)]]"/>
|
|
||||||
</module>
|
|
||||||
<module name="RightCurly">
|
|
||||||
<property name="id" value="RightCurlyAlone"/>
|
|
||||||
<property name="option" value="alone"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
|
|
||||||
INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF, INTERFACE_DEF, RECORD_DEF,
|
|
||||||
COMPACT_CTOR_DEF, LITERAL_SWITCH, LITERAL_CASE, LITERAL_FINALLY,
|
|
||||||
LITERAL_CATCH"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<!-- suppression is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
|
|
||||||
<property name="id" value="RightCurlyAlone"/>
|
|
||||||
<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1
|
|
||||||
and not(parent::LITERAL_CATCH)]
|
|
||||||
or (preceding-sibling::*[last()][self::LCURLY]
|
|
||||||
and not(parent::SLIST/parent::LITERAL_CATCH))
|
|
||||||
or (parent::SLIST/parent::LITERAL_CATCH
|
|
||||||
and parent::SLIST/parent::LITERAL_CATCH/following-sibling::*)]"/>
|
|
||||||
</module>
|
|
||||||
<module name="WhitespaceAfter">
|
|
||||||
<property name="tokens"
|
|
||||||
value="COMMA, SEMI, TYPECAST, ELLIPSIS, LITERAL_YIELD, LITERAL_CASE, ANNOTATIONS"/>
|
|
||||||
</module>
|
|
||||||
<module name="WhitespaceAround">
|
|
||||||
<property name="allowEmptyConstructors" value="true"/>
|
|
||||||
<property name="allowEmptyLambdas" value="true"/>
|
|
||||||
<property name="allowEmptyMethods" value="true"/>
|
|
||||||
<property name="allowEmptyTypes" value="true"/>
|
|
||||||
<property name="allowEmptyLoops" value="true"/>
|
|
||||||
<property name="allowEmptySwitchBlockStatements" value="true"/>
|
|
||||||
<property name="ignoreEnhancedForColon" value="false"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR,
|
|
||||||
BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND,
|
|
||||||
LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,
|
|
||||||
LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,
|
|
||||||
LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN,
|
|
||||||
NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,
|
|
||||||
SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT,
|
|
||||||
TYPE_EXTENSION_AND, LITERAL_WHEN"/>
|
|
||||||
<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)"/>
|
|
||||||
<message key="ws.notPreceded"
|
|
||||||
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<property name="checks" value="WhitespaceAround"/>
|
|
||||||
<property name="query" value="//*[self::LITERAL_IF or self::LITERAL_ELSE or
|
|
||||||
self::STATIC_INIT]/SLIST[count(./*)=1]
|
|
||||||
| //*[self::STATIC_INIT or self::LITERAL_TRY or self::LITERAL_IF]
|
|
||||||
//*[self::RCURLY][parent::SLIST[count(./*)=1]]
|
|
||||||
| //SLIST[count(./*)=1][parent::LITERAL_TRY and
|
|
||||||
not(following-sibling::*)]
|
|
||||||
| //SLIST[count(./*)=1][parent::LITERAL_CATCH and
|
|
||||||
not(parent::LITERAL_CATCH/following-sibling::*)]"/>
|
|
||||||
</module>
|
|
||||||
<module name="RegexpSinglelineJava">
|
|
||||||
<property name="format" value="\{[ ]+\}"/>
|
|
||||||
<property name="message" value="Empty blocks should have no spaces. Empty blocks
|
|
||||||
may only be represented as '{}' when not part of a
|
|
||||||
multi-block statement (4.1.3)"/>
|
|
||||||
</module>
|
|
||||||
<module name="OneStatementPerLine"/>
|
|
||||||
<module name="MultipleVariableDeclarations"/>
|
|
||||||
<module name="ArrayTypeStyle"/>
|
|
||||||
<module name="JavadocLeadingAsteriskAlign"/>
|
|
||||||
<module name="JavadocMissingLeadingAsterisk"/>
|
|
||||||
<module name="JavadocContentLocation"/>
|
|
||||||
<module name="MissingSwitchDefault"/>
|
|
||||||
<module name="FallThrough"/>
|
|
||||||
<module name="UpperEll"/>
|
|
||||||
<module name="ModifierOrder"/>
|
|
||||||
<module name="TextBlockGoogleStyleFormatting"/>
|
|
||||||
<module name="EmptyLineSeparator">
|
|
||||||
<property name="tokens"
|
|
||||||
value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
|
|
||||||
STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF, RECORD_DEF,
|
|
||||||
COMPACT_CTOR_DEF"/>
|
|
||||||
<property name="allowNoEmptyLineBetweenFields" value="true"/>
|
|
||||||
<property name="allowMultipleEmptyLines" value="false"/>
|
|
||||||
</module>
|
|
||||||
<module name="SeparatorWrap">
|
|
||||||
<property name="id" value="SeparatorWrapDot"/>
|
|
||||||
<property name="tokens" value="DOT"/>
|
|
||||||
<property name="option" value="nl"/>
|
|
||||||
</module>
|
|
||||||
<module name="SeparatorWrap">
|
|
||||||
<property name="id" value="SeparatorWrapComma"/>
|
|
||||||
<property name="tokens" value="COMMA"/>
|
|
||||||
<property name="option" value="EOL"/>
|
|
||||||
</module>
|
|
||||||
<module name="SeparatorWrap">
|
|
||||||
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/259 -->
|
|
||||||
<property name="id" value="SeparatorWrapEllipsis"/>
|
|
||||||
<property name="tokens" value="ELLIPSIS"/>
|
|
||||||
<property name="option" value="EOL"/>
|
|
||||||
</module>
|
|
||||||
<module name="SeparatorWrap">
|
|
||||||
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/258 -->
|
|
||||||
<property name="id" value="SeparatorWrapArrayDeclarator"/>
|
|
||||||
<property name="tokens" value="ARRAY_DECLARATOR"/>
|
|
||||||
<property name="option" value="EOL"/>
|
|
||||||
</module>
|
|
||||||
<module name="SeparatorWrap">
|
|
||||||
<property name="id" value="SeparatorWrapMethodRef"/>
|
|
||||||
<property name="tokens" value="METHOD_REF"/>
|
|
||||||
<property name="option" value="nl"/>
|
|
||||||
</module>
|
|
||||||
<module name="PackageName">
|
|
||||||
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Package name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="TypeName">
|
|
||||||
<property name="format" value="^[A-Z][a-zA-Z0-9]*(?:[0-9](?:_[0-9]+)*)?$"/>
|
|
||||||
<property name="tokens" value="CLASS_DEF"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="TypeName">
|
|
||||||
<property name="tokens" value="INTERFACE_DEF, ENUM_DEF,
|
|
||||||
ANNOTATION_DEF, RECORD_DEF"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="MemberName">
|
|
||||||
<property name="format"
|
|
||||||
value="^(?![a-z]$)(?![a-z][A-Z])[a-z][a-zA-Z0-9]*(?:_[0-9]+)*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Member name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="ParameterName">
|
|
||||||
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="LambdaParameterName">
|
|
||||||
<property name="format" value="^(_|[a-z]([a-z0-9][a-zA-Z0-9]*)?)$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="CatchParameterName">
|
|
||||||
<property name="format" value="^(_|[a-z]([a-z0-9][a-zA-Z0-9]*)?)$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="LocalVariableName">
|
|
||||||
<property name="format" value="^(_|[a-z]([a-z0-9][a-zA-Z0-9]*)?)$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="PatternVariableName">
|
|
||||||
<property name="format" value="^(_|[a-z]([a-z0-9][a-zA-Z0-9]*)?)$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Pattern variable name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="ClassTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Class type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="RecordComponentName">
|
|
||||||
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Record component name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="RecordTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Record type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="MethodTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Method type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="InterfaceTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="NoFinalizer"/>
|
|
||||||
<module name="GenericWhitespace">
|
|
||||||
<message key="ws.followed"
|
|
||||||
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
|
|
||||||
<message key="ws.preceded"
|
|
||||||
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
|
|
||||||
<message key="ws.illegalFollow"
|
|
||||||
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
|
|
||||||
<message key="ws.notPreceded"
|
|
||||||
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
|
|
||||||
</module>
|
|
||||||
<module name="Indentation">
|
|
||||||
<property name="basicOffset" value="4"/>
|
|
||||||
<property name="braceAdjustment" value="4"/>
|
|
||||||
<property name="caseIndent" value="4"/>
|
|
||||||
<property name="throwsIndent" value="4"/>
|
|
||||||
<property name="lineWrappingIndentation" value="4"/>
|
|
||||||
<property name="arrayInitIndent" value="2"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="AbbreviationAsWordInName">
|
|
||||||
<property name="ignoreFinal" value="false"/>
|
|
||||||
<property name="allowedAbbreviationLength" value="0"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF,
|
|
||||||
PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, PATTERN_VARIABLE_DEF, RECORD_DEF,
|
|
||||||
RECORD_COMPONENT_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="NoWhitespaceBeforeCaseDefaultColon"/>
|
|
||||||
<module name="OverloadMethodsDeclarationOrder"/>
|
|
||||||
<module name="ConstructorsDeclarationGrouping"/>
|
|
||||||
<module name="VariableDeclarationUsageDistance"/>
|
|
||||||
<module name="CustomImportOrder">
|
|
||||||
<property name="sortImportsInGroupAlphabetically" value="true"/>
|
|
||||||
<property name="separateLineBetweenGroups" value="true"/>
|
|
||||||
<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
|
|
||||||
<property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="MethodParamPad">
|
|
||||||
<property name="tokens"
|
|
||||||
value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, CTOR_CALL,
|
|
||||||
SUPER_CTOR_CALL, ENUM_CONSTANT_DEF, RECORD_DEF, RECORD_PATTERN_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="NoWhitespaceBefore">
|
|
||||||
<property name="tokens"
|
|
||||||
value="COMMA, SEMI, POST_INC, POST_DEC, DOT,
|
|
||||||
LABELED_STAT, METHOD_REF, ELLIPSIS"/>
|
|
||||||
<property name="allowLineBreaks" value="true"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<property name="checks" value="NoWhitespaceBefore"/>
|
|
||||||
<property name="query"
|
|
||||||
value="//ELLIPSIS[preceding-sibling::TYPE/ANNOTATIONS[ANNOTATION[LPAREN]
|
|
||||||
or not(following-sibling::*)]]"/>
|
|
||||||
</module>
|
|
||||||
<module name="ParenPad">
|
|
||||||
<property name="tokens"
|
|
||||||
value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,
|
|
||||||
EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,
|
|
||||||
LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,
|
|
||||||
METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA,
|
|
||||||
RECORD_DEF, RECORD_PATTERN_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="OperatorWrap">
|
|
||||||
<property name="option" value="NL"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
|
|
||||||
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF,
|
|
||||||
TYPE_EXTENSION_AND "/>
|
|
||||||
</module>
|
|
||||||
<module name="AnnotationLocation">
|
|
||||||
<property name="id" value="AnnotationLocationMostCases"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF,
|
|
||||||
RECORD_DEF, COMPACT_CTOR_DEF, PACKAGE_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="AnnotationLocation">
|
|
||||||
<property name="id" value="AnnotationLocationVariables"/>
|
|
||||||
<property name="tokens" value="VARIABLE_DEF"/>
|
|
||||||
<property name="allowSamelineMultipleAnnotations" value="true"/>
|
|
||||||
</module>
|
|
||||||
<!-- <module name="MissingOverrideOnRecordAccessor"/>-->
|
|
||||||
<module name="NonEmptyAtclauseDescription"/>
|
|
||||||
<module name="InvalidJavadocPosition"/>
|
|
||||||
<module name="JavadocTagContinuationIndentation"/>
|
|
||||||
<module name="SummaryJavadoc">
|
|
||||||
<property name="forbiddenSummaryFragments"
|
|
||||||
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )|^[a-z]"/>
|
|
||||||
</module>
|
|
||||||
<module name="JavadocParagraph">
|
|
||||||
<property name="allowNewlineParagraph" value="false"/>
|
|
||||||
</module>
|
|
||||||
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
|
|
||||||
<module name="AtclauseOrder">
|
|
||||||
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
|
|
||||||
<property name="target"
|
|
||||||
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="JavadocMethod">
|
|
||||||
<property name="accessModifiers" value="public"/>
|
|
||||||
<property name="allowMissingParamTags" value="true"/>
|
|
||||||
<property name="allowMissingReturnTag" value="true"/>
|
|
||||||
<property name="allowedAnnotations" value="Override, Test"/>
|
|
||||||
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF, COMPACT_CTOR_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="MissingJavadocMethod">
|
|
||||||
<property name="scope" value="protected"/>
|
|
||||||
<property name="allowMissingPropertyJavadoc" value="true"/>
|
|
||||||
<property name="allowedAnnotations" value="Override, Test"/>
|
|
||||||
<property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF,
|
|
||||||
COMPACT_CTOR_DEF"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<property name="checks" value="MissingJavadocMethod"/>
|
|
||||||
<property name="query" value="//*[self::METHOD_DEF or self::CTOR_DEF
|
|
||||||
or self::ANNOTATION_FIELD_DEF or self::COMPACT_CTOR_DEF]
|
|
||||||
[ancestor::*[self::INTERFACE_DEF or self::CLASS_DEF
|
|
||||||
or self::RECORD_DEF or self::ENUM_DEF]
|
|
||||||
[not(./MODIFIERS/LITERAL_PUBLIC)]]"/>
|
|
||||||
</module>
|
|
||||||
<module name="MissingJavadocType">
|
|
||||||
<property name="scope" value="protected"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
|
|
||||||
RECORD_DEF, ANNOTATION_DEF"/>
|
|
||||||
<property name="excludeScope" value="nothing"/>
|
|
||||||
</module>
|
|
||||||
<module name="MethodName">
|
|
||||||
<property name="format"
|
|
||||||
value="^(?![a-z]$)(?![a-z][A-Z])[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)*(?:_[0-9]+)*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Method name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressionXpathSingleFilter">
|
|
||||||
<property name="checks" value="MethodName"/>
|
|
||||||
<property name="query" value="//METHOD_DEF[
|
|
||||||
./MODIFIERS/ANNOTATION//IDENT[contains(@text, 'Test')]
|
|
||||||
]/IDENT"/>
|
|
||||||
<property name="message" value="'[a-z][a-z0-9][a-zA-Z0-9]*(?:_[a-z][a-z0-9][a-zA-Z0-9]*)*'"/>
|
|
||||||
</module>
|
|
||||||
<module name="SingleLineJavadoc"/>
|
|
||||||
<module name="TodoComment">
|
|
||||||
<property name="format" value="^[ \t]*(?!TODO:)(?i:TODO)\b:?"/>
|
|
||||||
<message key="todo.match"
|
|
||||||
value="''TODO:'' must be written in all caps and followed by a colon."/>
|
|
||||||
</module>
|
|
||||||
<module name="EmptyCatchBlock">
|
|
||||||
<property name="commentFormat" value="\w+"/>
|
|
||||||
</module>
|
|
||||||
<module name="CommentsIndentation">
|
|
||||||
<property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/>
|
|
||||||
</module>
|
|
||||||
<!-- https://checkstyle.org/filters/suppressionxpathfilter.html -->
|
|
||||||
<module name="SuppressionXpathFilter">
|
|
||||||
<property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}"
|
|
||||||
default="checkstyle-xpath-suppressions.xml" />
|
|
||||||
<property name="optional" value="true"/>
|
|
||||||
</module>
|
|
||||||
<module name="SuppressWarningsHolder" />
|
|
||||||
<module name="SuppressionCommentFilter">
|
|
||||||
<property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)" />
|
|
||||||
<property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)" />
|
|
||||||
<property name="checkFormat" value="$1" />
|
|
||||||
</module>
|
|
||||||
<module name="SuppressWithNearbyCommentFilter">
|
|
||||||
<property name="commentFormat" value="CHECKSTYLE.SUPPRESS\: ([\w\|]+)"/>
|
|
||||||
<!-- $1 refers to the first match group in the regex defined in commentFormat -->
|
|
||||||
<property name="checkFormat" value="$1"/>
|
|
||||||
<!-- The check is suppressed in the next line of code after the comment -->
|
|
||||||
<property name="influenceFormat" value="1"/>
|
|
||||||
</module>
|
|
||||||
</module>
|
|
||||||
</module>
|
|
||||||
Reference in New Issue
Block a user