detekt-config.yml raw

   1  build:
   2    maxIssues: 0
   3    excludeCorrectable: true
   4    weights:
   5      # complexity: 2
   6      # LongParameterList: 1
   7      # style: 1
   8      # comments: 1
   9  
  10  config:
  11    validation: true
  12    warningsAsErrors: true
  13    checkExhaustiveness: true
  14    # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]'
  15    excludes: ''
  16  
  17  processors:
  18    active: true
  19    exclude:
  20      - 'DetektProgressListener'
  21    # - 'KtFileCountProcessor'
  22    # - 'PackageCountProcessor'
  23    # - 'ClassCountProcessor'
  24    # - 'FunctionCountProcessor'
  25    # - 'PropertyCountProcessor'
  26    # - 'ProjectComplexityProcessor'
  27    # - 'ProjectCognitiveComplexityProcessor'
  28    # - 'ProjectLLOCProcessor'
  29    # - 'ProjectCLOCProcessor'
  30    # - 'ProjectLOCProcessor'
  31    # - 'ProjectSLOCProcessor'
  32    # - 'LicenseHeaderLoaderExtension'
  33  
  34  console-reports:
  35    active: true
  36    exclude:
  37       - 'ProjectStatisticsReport'
  38       - 'ComplexityReport'
  39       - 'NotificationReport'
  40       - 'FindingsReport'
  41       - 'FileBasedFindingsReport'
  42    #  - 'LiteFindingsReport'
  43  
  44  output-reports:
  45    active: true
  46    exclude:
  47    # - 'TxtOutputReport'
  48    # - 'XmlOutputReport'
  49    # - 'HtmlOutputReport'
  50    # - 'MdOutputReport'
  51    # - 'SarifOutputReport'
  52  
  53  comments:
  54    active: true
  55    AbsentOrWrongFileLicense:
  56      active: false
  57      licenseTemplateFile: 'license.template'
  58      licenseTemplateIsRegex: true
  59    CommentOverPrivateFunction:
  60      active: true
  61    CommentOverPrivateProperty:
  62      active: true
  63    DeprecatedBlockTag:
  64      active: true
  65    EndOfSentenceFormat:
  66      active: true
  67      endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
  68    KDocReferencesNonPublicProperty:
  69      active: true
  70      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
  71    OutdatedDocumentation:
  72      active: true
  73      matchTypeParameters: true
  74      matchDeclarationsOrder: true
  75      allowParamOnConstructorProperties: true
  76    UndocumentedPublicClass:
  77      active: false
  78      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
  79      searchInNestedClass: true
  80      searchInInnerClass: true
  81      searchInInnerObject: true
  82      searchInInnerInterface: true
  83      searchInProtectedClass: true
  84    UndocumentedPublicFunction:
  85      active: false
  86      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
  87      searchProtectedFunction: true
  88    UndocumentedPublicProperty:
  89      active: false
  90      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
  91      searchProtectedProperty: true
  92  
  93  complexity:
  94    active: true
  95    CognitiveComplexMethod:
  96      active: true
  97      threshold: 15
  98    ComplexCondition:
  99      active: true
 100      threshold: 4
 101    ComplexInterface:
 102      active: true
 103      threshold: 10
 104      includeStaticDeclarations: true
 105      includePrivateDeclarations: true
 106      ignoreOverloaded: true
 107    CyclomaticComplexMethod:
 108      active: true
 109      threshold: 15
 110      ignoreSingleWhenExpression: true
 111      ignoreSimpleWhenEntries: true
 112      ignoreNestingFunctions: true
 113      nestingFunctions:
 114        - 'also'
 115        - 'apply'
 116        - 'forEach'
 117        - 'isNotNull'
 118        - 'ifNull'
 119        - 'let'
 120        - 'run'
 121        - 'use'
 122        - 'with'
 123    LabeledExpression:
 124      active: true
 125      ignoredLabels: []
 126    LargeClass:
 127      active: true
 128      threshold: 600
 129    LongMethod:
 130      active: true
 131      threshold: 60
 132    LongParameterList:
 133      active: true
 134      functionThreshold: 6
 135      constructorThreshold: 7
 136      ignoreDefaultParameters: true
 137      ignoreDataClasses: true
 138      ignoreAnnotatedParameter: []
 139    MethodOverloading:
 140      active: true
 141      threshold: 6
 142    NamedArguments:
 143      active: true
 144      threshold: 3
 145      ignoreArgumentsMatchingNames: true
 146    NestedBlockDepth:
 147      active: true
 148      threshold: 4
 149    NestedScopeFunctions:
 150      active: true
 151      threshold: 1
 152      functions:
 153        - 'kotlin.apply'
 154        - 'kotlin.run'
 155        - 'kotlin.with'
 156        - 'kotlin.let'
 157        - 'kotlin.also'
 158    ReplaceSafeCallChainWithRun:
 159      active: true
 160    StringLiteralDuplication:
 161      active: true
 162      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 163      threshold: 3
 164      ignoreAnnotation: true
 165      excludeStringsWithLessThan5Characters: true
 166      ignoreStringsRegex: '$^'
 167    TooManyFunctions:
 168      active: true
 169      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 170      thresholdInFiles: 11
 171      thresholdInClasses: 11
 172      thresholdInInterfaces: 11
 173      thresholdInObjects: 11
 174      thresholdInEnums: 11
 175      ignoreDeprecated: true
 176      ignorePrivate: true
 177      ignoreOverridden: true
 178  
 179  coroutines:
 180    active: true
 181    GlobalCoroutineUsage:
 182      active: true
 183    InjectDispatcher:
 184      active: true
 185      dispatcherNames:
 186        - 'IO'
 187        - 'Default'
 188        - 'Unconfined'
 189    RedundantSuspendModifier:
 190      active: true
 191    SleepInsteadOfDelay:
 192      active: true
 193    SuspendFunSwallowedCancellation:
 194      active: true
 195    SuspendFunWithCoroutineScopeReceiver:
 196      active: true
 197    SuspendFunWithFlowReturnType:
 198      active: true
 199  
 200  empty-blocks:
 201    active: true
 202    EmptyCatchBlock:
 203      active: true
 204      allowedExceptionNameRegex: '_|(ignore|expected).*'
 205    EmptyClassBlock:
 206      active: true
 207    EmptyDefaultConstructor:
 208      active: true
 209    EmptyDoWhileBlock:
 210      active: true
 211    EmptyElseBlock:
 212      active: true
 213    EmptyFinallyBlock:
 214      active: true
 215    EmptyForBlock:
 216      active: true
 217    EmptyFunctionBlock:
 218      active: true
 219      ignoreOverridden: true
 220    EmptyIfBlock:
 221      active: true
 222    EmptyInitBlock:
 223      active: true
 224    EmptyKtFile:
 225      active: true
 226    EmptySecondaryConstructor:
 227      active: true
 228    EmptyTryBlock:
 229      active: true
 230    EmptyWhenBlock:
 231      active: true
 232    EmptyWhileBlock:
 233      active: true
 234  
 235  exceptions:
 236    active: true
 237    ExceptionRaisedInUnexpectedLocation:
 238      active: true
 239      methodNames:
 240        - 'equals'
 241        - 'finalize'
 242        - 'hashCode'
 243        - 'toString'
 244    InstanceOfCheckForException:
 245      active: true
 246      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 247    NotImplementedDeclaration:
 248      active: true
 249    ObjectExtendsThrowable:
 250      active: true
 251    PrintStackTrace:
 252      active: true
 253    RethrowCaughtException:
 254      active: true
 255    ReturnFromFinally:
 256      active: true
 257      ignoreLabeled: true
 258    SwallowedException:
 259      active: true
 260      ignoredExceptionTypes:
 261        - 'InterruptedException'
 262        - 'MalformedURLException'
 263        - 'NumberFormatException'
 264        - 'ParseException'
 265      allowedExceptionNameRegex: '_|(ignore|expected).*'
 266    ThrowingExceptionFromFinally:
 267      active: true
 268    ThrowingExceptionInMain:
 269      active: true
 270    ThrowingExceptionsWithoutMessageOrCause:
 271      active: true
 272      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 273      exceptions:
 274        - 'ArrayIndexOutOfBoundsException'
 275        - 'Exception'
 276        - 'IllegalArgumentException'
 277        - 'IllegalMonitorStateException'
 278        - 'IllegalStateException'
 279        - 'IndexOutOfBoundsException'
 280        - 'NullPointerException'
 281        - 'RuntimeException'
 282        - 'Throwable'
 283    ThrowingNewInstanceOfSameException:
 284      active: true
 285    TooGenericExceptionCaught:
 286      active: true
 287      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 288      exceptionNames:
 289        - 'ArrayIndexOutOfBoundsException'
 290        - 'Error'
 291        - 'Exception'
 292        - 'IllegalMonitorStateException'
 293        - 'IndexOutOfBoundsException'
 294        - 'NullPointerException'
 295        - 'RuntimeException'
 296        - 'Throwable'
 297      allowedExceptionNameRegex: '_|(ignore|expected).*'
 298    TooGenericExceptionThrown:
 299      active: true
 300      exceptionNames:
 301        - 'Error'
 302        - 'Exception'
 303        - 'RuntimeException'
 304        - 'Throwable'
 305  
 306  naming:
 307    active: true
 308    BooleanPropertyNaming:
 309      active: true
 310      allowedPattern: '^(is|has|are)'
 311    ClassNaming:
 312      active: true
 313      classPattern: '[A-Z][a-zA-Z0-9]*'
 314    ConstructorParameterNaming:
 315      active: true
 316      parameterPattern: '[a-z][A-Za-z0-9]*'
 317      privateParameterPattern: '[a-z][A-Za-z0-9]*'
 318      excludeClassPattern: '$^'
 319    EnumNaming:
 320      active: true
 321      enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
 322    ForbiddenClassName:
 323      active: true
 324      forbiddenName: []
 325    FunctionMaxLength:
 326      active: true
 327      maximumFunctionNameLength: 30
 328    FunctionMinLength:
 329      active: true
 330      minimumFunctionNameLength: 3
 331    FunctionNaming:
 332      active: true
 333      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 334      functionPattern: '[a-z][a-zA-Z0-9]*'
 335      excludeClassPattern: '$^'
 336    FunctionParameterNaming:
 337      active: true
 338      parameterPattern: '[a-z][A-Za-z0-9]*'
 339      excludeClassPattern: '$^'
 340    InvalidPackageDeclaration:
 341      active: true
 342      rootPackage: ''
 343      requireRootInDeclaration: false
 344    LambdaParameterNaming:
 345      active: true
 346      parameterPattern: '[a-z][A-Za-z0-9]*|_'
 347    MatchingDeclarationName:
 348      active: true
 349      mustBeFirst: true
 350    MemberNameEqualsClassName:
 351      active: true
 352      ignoreOverridden: true
 353    NoNameShadowing:
 354      active: true
 355    NonBooleanPropertyPrefixedWithIs:
 356      active: true
 357    ObjectPropertyNaming:
 358      active: true
 359      constantPattern: '[A-Za-z][_A-Za-z0-9]*'
 360      propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
 361      privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
 362    PackageNaming:
 363      active: true
 364      packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
 365    TopLevelPropertyNaming:
 366      active: true
 367      constantPattern: '[A-Z][_A-Z0-9]*'
 368      propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
 369      privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
 370    VariableMaxLength:
 371      active: true
 372      maximumVariableNameLength: 64
 373    VariableMinLength:
 374      active: true
 375      minimumVariableNameLength: 1
 376    VariableNaming:
 377      active: true
 378      variablePattern: '[a-z][A-Za-z0-9]*'
 379      privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
 380      excludeClassPattern: '$^'
 381  
 382  performance:
 383    active: true
 384    ArrayPrimitive:
 385      active: true
 386    CouldBeSequence:
 387      active: true
 388      threshold: 3
 389    ForEachOnRange:
 390      active: true
 391      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 392    SpreadOperator:
 393      active: true
 394      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 395    UnnecessaryPartOfBinaryExpression:
 396      active: true
 397    UnnecessaryTemporaryInstantiation:
 398      active: true
 399  
 400  potential-bugs:
 401    active: true
 402    AvoidReferentialEquality:
 403      active: true
 404      forbiddenTypePatterns:
 405        - 'kotlin.String'
 406    CastNullableToNonNullableType:
 407      active: true
 408    CastToNullableType:
 409      active: true
 410    Deprecation:
 411      active: true
 412    DontDowncastCollectionTypes:
 413      active: true
 414    DoubleMutabilityForCollection:
 415      active: true
 416      mutableTypes:
 417        - 'kotlin.collections.MutableList'
 418        - 'kotlin.collections.MutableMap'
 419        - 'kotlin.collections.MutableSet'
 420        - 'java.util.ArrayList'
 421        - 'java.util.LinkedHashSet'
 422        - 'java.util.HashSet'
 423        - 'java.util.LinkedHashMap'
 424        - 'java.util.HashMap'
 425    ElseCaseInsteadOfExhaustiveWhen:
 426      active: true
 427      ignoredSubjectTypes: []
 428    EqualsAlwaysReturnsTrueOrFalse:
 429      active: true
 430    EqualsWithHashCodeExist:
 431      active: true
 432    ExitOutsideMain:
 433      active: true
 434    ExplicitGarbageCollectionCall:
 435      active: true
 436    HasPlatformType:
 437      active: true
 438    IgnoredReturnValue:
 439      active: true
 440      restrictToConfig: true
 441      returnValueAnnotations:
 442        - 'CheckResult'
 443        - '*.CheckResult'
 444        - 'CheckReturnValue'
 445        - '*.CheckReturnValue'
 446      ignoreReturnValueAnnotations:
 447        - 'CanIgnoreReturnValue'
 448        - '*.CanIgnoreReturnValue'
 449      returnValueTypes:
 450        - 'kotlin.sequences.Sequence'
 451        - 'kotlinx.coroutines.flow.*Flow'
 452        - 'java.util.stream.*Stream'
 453      ignoreFunctionCall: []
 454    ImplicitDefaultLocale:
 455      active: true
 456    ImplicitUnitReturnType:
 457      active: true
 458      allowExplicitReturnType: true
 459    InvalidRange:
 460      active: true
 461    IteratorHasNextCallsNextMethod:
 462      active: true
 463    IteratorNotThrowingNoSuchElementException:
 464      active: true
 465    LateinitUsage:
 466      active: false
 467      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 468      ignoreOnClassesPattern: ''
 469    MapGetWithNotNullAssertionOperator:
 470      active: true
 471    MissingPackageDeclaration:
 472      active: true
 473      excludes: ['**/*.kts']
 474    NullCheckOnMutableProperty:
 475      active: true
 476    NullableToStringCall:
 477      active: true
 478    PropertyUsedBeforeDeclaration:
 479      active: true
 480    UnconditionalJumpStatementInLoop:
 481      active: true
 482    UnnecessaryNotNullCheck:
 483      active: true
 484    UnnecessaryNotNullOperator:
 485      active: true
 486    UnnecessarySafeCall:
 487      active: true
 488    UnreachableCatchBlock:
 489      active: true
 490    UnreachableCode:
 491      active: true
 492    UnsafeCallOnNullableType:
 493      active: true
 494      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**']
 495    UnsafeCast:
 496      active: true
 497    UnusedUnaryOperator:
 498      active: true
 499    UselessPostfixExpression:
 500      active: true
 501    WrongEqualsTypeParameter:
 502      active: true
 503  
 504  style:
 505    active: true
 506    AlsoCouldBeApply:
 507      active: true
 508    BracesOnIfStatements:
 509      active: true
 510      singleLine: 'never'
 511      multiLine: 'always'
 512    BracesOnWhenStatements:
 513      active: true
 514      singleLine: 'necessary'
 515      multiLine: 'consistent'
 516    CanBeNonNullable:
 517      active: true
 518    CascadingCallWrapping:
 519      active: true
 520      includeElvis: true
 521    ClassOrdering:
 522      active: true
 523    CollapsibleIfStatements:
 524      active: true
 525    DataClassContainsFunctions:
 526      active: true
 527      conversionFunctionPrefix:
 528        - 'to'
 529      allowOperators: true
 530    DataClassShouldBeImmutable:
 531      active: true
 532    DestructuringDeclarationWithTooManyEntries:
 533      active: true
 534      maxDestructuringEntries: 3
 535    DoubleNegativeLambda:
 536      active: true
 537      negativeFunctions:
 538        - reason: 'Use `takeIf` instead.'
 539          value: 'takeUnless'
 540        - reason: 'Use `all` instead.'
 541          value: 'none'
 542      negativeFunctionNameParts:
 543        - 'not'
 544        - 'non'
 545    EqualsNullCall:
 546      active: true
 547    EqualsOnSignatureLine:
 548      active: true
 549    ExplicitCollectionElementAccessMethod:
 550      active: true
 551    ExplicitItLambdaParameter:
 552      active: true
 553    ExpressionBodySyntax:
 554      active: true
 555      includeLineWrapping: true
 556    ForbiddenAnnotation:
 557      active: true
 558      annotations:
 559        - reason: 'it is a java annotation. Use `Suppress` instead.'
 560          value: 'java.lang.SuppressWarnings'
 561        - reason: 'it is a java annotation. Use `kotlin.Deprecated` instead.'
 562          value: 'java.lang.Deprecated'
 563        - reason: 'it is a java annotation. Use `kotlin.annotation.MustBeDocumented` instead.'
 564          value: 'java.lang.annotation.Documented'
 565        - reason: 'it is a java annotation. Use `kotlin.annotation.Target` instead.'
 566          value: 'java.lang.annotation.Target'
 567        - reason: 'it is a java annotation. Use `kotlin.annotation.Retention` instead.'
 568          value: 'java.lang.annotation.Retention'
 569        - reason: 'it is a java annotation. Use `kotlin.annotation.Repeatable` instead.'
 570          value: 'java.lang.annotation.Repeatable'
 571        - reason: 'Kotlin does not support @Inherited annotation, see https://youtrack.jetbrains.com/issue/KT-22265'
 572          value: 'java.lang.annotation.Inherited'
 573    ForbiddenComment:
 574      active: true
 575      comments:
 576        - reason: 'Forbidden FIXME todo marker in comment, please fix the problem.'
 577          value: 'FIXME:'
 578        - reason: 'Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code.'
 579          value: 'STOPSHIP:'
 580        - reason: 'Forbidden TODO todo marker in comment, please do the changes.'
 581          value: 'TODO:'
 582      allowedPatterns: ''
 583    ForbiddenImport:
 584      active: true
 585      imports: []
 586      forbiddenPatterns: ''
 587    ForbiddenMethodCall:
 588      active: true
 589      methods:
 590        - reason: 'print does not allow you to configure the output stream. Use a logger instead.'
 591          value: 'kotlin.io.print'
 592        - reason: 'println does not allow you to configure the output stream. Use a logger instead.'
 593          value: 'kotlin.io.println'
 594    ForbiddenSuppress:
 595      active: true
 596      rules: []
 597    ForbiddenVoid:
 598      active: true
 599      ignoreOverridden: true
 600      ignoreUsageInGenerics: true
 601    FunctionOnlyReturningConstant:
 602      active: true
 603      ignoreOverridableFunction: true
 604      ignoreActualFunction: true
 605      excludedFunctions: []
 606    LoopWithTooManyJumpStatements:
 607      active: true
 608      maxJumpCount: 1
 609    MagicNumber:
 610      active: true
 611      excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts']
 612      ignoreNumbers:
 613        - '-1'
 614        - '0'
 615        - '1'
 616        - '2'
 617      ignoreHashCodeFunction: true
 618      ignorePropertyDeclaration: true
 619      ignoreLocalVariableDeclaration: true
 620      ignoreConstantDeclaration: true
 621      ignoreCompanionObjectPropertyDeclaration: true
 622      ignoreAnnotation: true
 623      ignoreNamedArgument: true
 624      ignoreEnums: true
 625      ignoreRanges: true
 626      ignoreExtensionFunctions: true
 627    MandatoryBracesLoops:
 628      active: true
 629    MaxChainedCallsOnSameLine:
 630      active: true
 631      maxChainedCalls: 5
 632    MaxLineLength:
 633      active: true
 634      maxLineLength: 120
 635      excludePackageStatements: true
 636      excludeImportStatements: true
 637      excludeCommentStatements: true
 638      excludeRawStrings: true
 639    MayBeConst:
 640      active: true
 641    ModifierOrder:
 642      active: true
 643    MultilineLambdaItParameter:
 644      active: true
 645    MultilineRawStringIndentation:
 646      active: true
 647      indentSize: 4
 648      trimmingMethods:
 649        - 'trimIndent'
 650        - 'trimMargin'
 651    NestedClassesVisibility:
 652      active: true
 653    NewLineAtEndOfFile:
 654      active: true
 655    NoTabs:
 656      active: true
 657    NullableBooleanCheck:
 658      active: true
 659    ObjectLiteralToLambda:
 660      active: true
 661    OptionalAbstractKeyword:
 662      active: true
 663    OptionalUnit:
 664      active: true
 665    PreferToOverPairSyntax:
 666      active: true
 667    ProtectedMemberInFinalClass:
 668      active: true
 669    RedundantExplicitType:
 670      active: true
 671    RedundantHigherOrderMapUsage:
 672      active: true
 673    RedundantVisibilityModifierRule:
 674      active: true
 675    ReturnCount:
 676      active: true
 677      max: 2
 678      excludedFunctions:
 679        - 'equals'
 680      excludeLabeled: true
 681      excludeReturnFromLambda: true
 682      excludeGuardClauses: true
 683    SafeCast:
 684      active: true
 685    SerialVersionUIDInSerializableClass:
 686      active: true
 687    SpacingBetweenPackageAndImports:
 688      active: true
 689    StringShouldBeRawString:
 690      active: true
 691      maxEscapedCharacterCount: 2
 692      ignoredCharacters: []
 693    ThrowsCount:
 694      active: true
 695      max: 2
 696      excludeGuardClauses: true
 697    TrailingWhitespace:
 698      active: true
 699    TrimMultilineRawString:
 700      active: true
 701      trimmingMethods:
 702        - 'trimIndent'
 703        - 'trimMargin'
 704    UnderscoresInNumericLiterals:
 705      active: true
 706      acceptableLength: 4
 707      allowNonStandardGrouping: true
 708    UnnecessaryAbstractClass:
 709      active: true
 710    UnnecessaryAnnotationUseSiteTarget:
 711      active: true
 712    UnnecessaryApply:
 713      active: true
 714    UnnecessaryBackticks:
 715      active: true
 716    UnnecessaryBracesAroundTrailingLambda:
 717      active: true
 718    UnnecessaryFilter:
 719      active: true
 720    UnnecessaryInheritance:
 721      active: true
 722    UnnecessaryInnerClass:
 723      active: true
 724    UnnecessaryLet:
 725      active: true
 726    UnnecessaryParentheses:
 727      active: true
 728      allowForUnclearPrecedence: true
 729    UntilInsteadOfRangeTo:
 730      active: true
 731    UnusedImports:
 732      active: true
 733    UnusedParameter:
 734      active: true
 735      allowedNames: 'ignored|expected'
 736    UnusedPrivateClass:
 737      active: true
 738    UnusedPrivateMember:
 739      active: true
 740      allowedNames: ''
 741    UnusedPrivateProperty:
 742      active: true
 743      allowedNames: '_|ignored|expected|serialVersionUID'
 744    UseAnyOrNoneInsteadOfFind:
 745      active: true
 746    UseArrayLiteralsInAnnotations:
 747      active: true
 748    UseCheckNotNull:
 749      active: true
 750    UseCheckOrError:
 751      active: true
 752    UseDataClass:
 753      active: true
 754      allowVars: true
 755    UseEmptyCounterpart:
 756      active: true
 757    UseIfEmptyOrIfBlank:
 758      active: true
 759    UseIfInsteadOfWhen:
 760      active: true
 761      ignoreWhenContainingVariableDeclaration: true
 762    UseIsNullOrEmpty:
 763      active: true
 764    UseLet:
 765      active: true
 766    UseOrEmpty:
 767      active: true
 768    UseRequire:
 769      active: true
 770    UseRequireNotNull:
 771      active: true
 772    UseSumOfInsteadOfFlatMapSize:
 773      active: true
 774    UselessCallOnNotNull:
 775      active: true
 776    UtilityClassWithPublicConstructor:
 777      active: true
 778    VarCouldBeVal:
 779      active: true
 780      ignoreLateinitVar: true
 781    WildcardImport:
 782      active: true
 783      excludeImports:
 784        - 'java.util.*'
 785