|
@@ -0,0 +1,648 @@
|
|
|
|
|
+build:
|
|
|
|
|
+ maxIssues: 3
|
|
|
|
|
+ excludeCorrectable: false
|
|
|
|
|
+ weights:
|
|
|
|
|
+ # complexity: 2
|
|
|
|
|
+ # LongParameterList: 1
|
|
|
|
|
+ # style: 1
|
|
|
|
|
+ # comments: 1
|
|
|
|
|
+
|
|
|
|
|
+config:
|
|
|
|
|
+ validation: true
|
|
|
|
|
+ # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]'
|
|
|
|
|
+ excludes: ''
|
|
|
|
|
+
|
|
|
|
|
+processors:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ exclude:
|
|
|
|
|
+ - 'DetektProgressListener'
|
|
|
|
|
+ # - 'FunctionCountProcessor'
|
|
|
|
|
+ # - 'PropertyCountProcessor'
|
|
|
|
|
+ # - 'ClassCountProcessor'
|
|
|
|
|
+ # - 'PackageCountProcessor'
|
|
|
|
|
+ # - 'KtFileCountProcessor'
|
|
|
|
|
+
|
|
|
|
|
+console-reports:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ exclude:
|
|
|
|
|
+ - 'ProjectStatisticsReport'
|
|
|
|
|
+ - 'ComplexityReport'
|
|
|
|
|
+ - 'NotificationReport'
|
|
|
|
|
+ # - 'FindingsReport'
|
|
|
|
|
+ - 'FileBasedFindingsReport'
|
|
|
|
|
+
|
|
|
|
|
+comments:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ AbsentOrWrongFileLicense:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ licenseTemplateFile: 'license.template'
|
|
|
|
|
+ CommentOverPrivateFunction:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ CommentOverPrivateProperty:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ EndOfSentenceFormat:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
|
|
|
|
|
+ UndocumentedPublicClass:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ searchInNestedClass: true
|
|
|
|
|
+ searchInInnerClass: true
|
|
|
|
|
+ searchInInnerObject: true
|
|
|
|
|
+ searchInInnerInterface: true
|
|
|
|
|
+ UndocumentedPublicFunction:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UndocumentedPublicProperty:
|
|
|
|
|
+ active: false
|
|
|
|
|
+
|
|
|
|
|
+complexity:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ComplexCondition:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ threshold: 4
|
|
|
|
|
+ ComplexInterface:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ threshold: 10
|
|
|
|
|
+ includeStaticDeclarations: false
|
|
|
|
|
+ includePrivateDeclarations: false
|
|
|
|
|
+ ComplexMethod:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ threshold: 15
|
|
|
|
|
+ ignoreSingleWhenExpression: false
|
|
|
|
|
+ ignoreSimpleWhenEntries: false
|
|
|
|
|
+ ignoreNestingFunctions: false
|
|
|
|
|
+ nestingFunctions: [run, let, apply, with, also, use, forEach, isNotNull, ifNull]
|
|
|
|
|
+ LabeledExpression:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ignoredLabels: []
|
|
|
|
|
+ LargeClass:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ threshold: 600
|
|
|
|
|
+ LongMethod:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ threshold: 60
|
|
|
|
|
+ LongParameterList:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ functionThreshold: 6
|
|
|
|
|
+ constructorThreshold: 7
|
|
|
|
|
+ ignoreDefaultParameters: false
|
|
|
|
|
+ ignoreDataClasses: true
|
|
|
|
|
+ ignoreAnnotated: []
|
|
|
|
|
+ MethodOverloading:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ threshold: 6
|
|
|
|
|
+ NestedBlockDepth:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ threshold: 4
|
|
|
|
|
+ StringLiteralDuplication:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ threshold: 3
|
|
|
|
|
+ ignoreAnnotation: true
|
|
|
|
|
+ excludeStringsWithLessThan5Characters: true
|
|
|
|
|
+ ignoreStringsRegex: '$^'
|
|
|
|
|
+ TooManyFunctions:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ thresholdInFiles: 11
|
|
|
|
|
+ thresholdInClasses: 11
|
|
|
|
|
+ thresholdInInterfaces: 11
|
|
|
|
|
+ thresholdInObjects: 11
|
|
|
|
|
+ thresholdInEnums: 11
|
|
|
|
|
+ ignoreDeprecated: false
|
|
|
|
|
+ ignorePrivate: false
|
|
|
|
|
+ ignoreOverridden: false
|
|
|
|
|
+
|
|
|
|
|
+coroutines:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ GlobalCoroutineUsage:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ RedundantSuspendModifier:
|
|
|
|
|
+ active: false
|
|
|
|
|
+
|
|
|
|
|
+empty-blocks:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyCatchBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
|
|
|
+ EmptyClassBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyDefaultConstructor:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyDoWhileBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyElseBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyFinallyBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyForBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyFunctionBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ignoreOverridden: false
|
|
|
|
|
+ EmptyIfBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyInitBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyKtFile:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptySecondaryConstructor:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyTryBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyWhenBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EmptyWhileBlock:
|
|
|
|
|
+ active: true
|
|
|
|
|
+
|
|
|
|
|
+exceptions:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ExceptionRaisedInUnexpectedLocation:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ methodNames: [toString, hashCode, equals, finalize]
|
|
|
|
|
+ InstanceOfCheckForException:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ NotImplementedDeclaration:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ PrintStackTrace:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ RethrowCaughtException:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ReturnFromFinally:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ignoreLabeled: false
|
|
|
|
|
+ SwallowedException:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ignoredExceptionTypes:
|
|
|
|
|
+ - InterruptedException
|
|
|
|
|
+ - NumberFormatException
|
|
|
|
|
+ - ParseException
|
|
|
|
|
+ - MalformedURLException
|
|
|
|
|
+ allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
|
|
|
+ ThrowingExceptionFromFinally:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ThrowingExceptionInMain:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ThrowingExceptionsWithoutMessageOrCause:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ exceptions:
|
|
|
|
|
+ - IllegalArgumentException
|
|
|
|
|
+ - IllegalStateException
|
|
|
|
|
+ - IOException
|
|
|
|
|
+ ThrowingNewInstanceOfSameException:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ TooGenericExceptionCaught:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ exceptionNames:
|
|
|
|
|
+ - ArrayIndexOutOfBoundsException
|
|
|
|
|
+ - Error
|
|
|
|
|
+ - Exception
|
|
|
|
|
+ - IllegalMonitorStateException
|
|
|
|
|
+ - NullPointerException
|
|
|
|
|
+ - IndexOutOfBoundsException
|
|
|
|
|
+ - RuntimeException
|
|
|
|
|
+ - Throwable
|
|
|
|
|
+ allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
|
|
|
+ TooGenericExceptionThrown:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ exceptionNames:
|
|
|
|
|
+ - Error
|
|
|
|
|
+ - Exception
|
|
|
|
|
+ - Throwable
|
|
|
|
|
+ - RuntimeException
|
|
|
|
|
+
|
|
|
|
|
+formatting:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ android: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ AnnotationOnSeparateLine:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ ChainWrapping:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ CommentSpacing:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ EnumEntryNameCase:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ Filename:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ FinalNewline:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ insertFinalNewLine: true
|
|
|
|
|
+ ImportOrdering:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ layout: 'idea'
|
|
|
|
|
+ Indentation:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ indentSize: 4
|
|
|
|
|
+ continuationIndentSize: 4
|
|
|
|
|
+ MaximumLineLength:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ maxLineLength: 120
|
|
|
|
|
+ ModifierOrdering:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ MultiLineIfElse:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoBlankLineBeforeRbrace:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoConsecutiveBlankLines:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoEmptyClassBody:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoEmptyFirstLineInMethodBlock:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoLineBreakAfterElse:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoLineBreakBeforeAssignment:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoMultipleSpaces:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoSemicolons:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoTrailingSpaces:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoUnitReturn:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoUnusedImports:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ NoWildcardImports:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ PackageName:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ ParameterListWrapping:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ indentSize: 4
|
|
|
|
|
+ SpacingAroundColon:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundComma:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundCurly:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundDot:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundDoubleColon:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundKeyword:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundOperators:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundParens:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingAroundRangeOperator:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingBetweenDeclarationsWithAnnotations:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ SpacingBetweenDeclarationsWithComments:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+ StringTemplate:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ autoCorrect: true
|
|
|
|
|
+
|
|
|
|
|
+naming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ClassNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ classPattern: '[A-Z][a-zA-Z0-9]*'
|
|
|
|
|
+ ConstructorParameterNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
|
|
|
+ privateParameterPattern: '[a-z][A-Za-z0-9]*'
|
|
|
|
|
+ excludeClassPattern: '$^'
|
|
|
|
|
+ ignoreOverridden: true
|
|
|
|
|
+ EnumNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
|
|
|
|
|
+ ForbiddenClassName:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ forbiddenName: []
|
|
|
|
|
+ FunctionMaxLength:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ maximumFunctionNameLength: 30
|
|
|
|
|
+ FunctionMinLength:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ minimumFunctionNameLength: 3
|
|
|
|
|
+ FunctionNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ functionPattern: '([a-z][a-zA-Z0-9]*)|(`.*`)'
|
|
|
|
|
+ excludeClassPattern: '$^'
|
|
|
|
|
+ ignoreOverridden: true
|
|
|
|
|
+ ignoreAnnotated: ['Composable']
|
|
|
|
|
+ FunctionParameterNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
|
|
|
+ excludeClassPattern: '$^'
|
|
|
|
|
+ ignoreOverridden: true
|
|
|
|
|
+ InvalidPackageDeclaration:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ rootPackage: ''
|
|
|
|
|
+ MatchingDeclarationName:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ mustBeFirst: true
|
|
|
|
|
+ MemberNameEqualsClassName:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ignoreOverridden: true
|
|
|
|
|
+ ObjectPropertyNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ constantPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
|
|
|
+ propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
|
|
|
+ privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
|
|
|
|
|
+ PackageNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
|
|
|
|
|
+ TopLevelPropertyNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ constantPattern: '[A-Z][_A-Z0-9]*'
|
|
|
|
|
+ propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
|
|
|
+ privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
|
|
|
|
|
+ VariableMaxLength:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ maximumVariableNameLength: 64
|
|
|
|
|
+ VariableMinLength:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ minimumVariableNameLength: 1
|
|
|
|
|
+ VariableNaming:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ variablePattern: '[a-z][A-Za-z0-9]*'
|
|
|
|
|
+ privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
|
|
|
|
|
+ excludeClassPattern: '$^'
|
|
|
|
|
+ ignoreOverridden: true
|
|
|
|
|
+
|
|
|
|
|
+performance:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ArrayPrimitive:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ForEachOnRange:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ SpreadOperator:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ UnnecessaryTemporaryInstantiation:
|
|
|
|
|
+ active: true
|
|
|
|
|
+
|
|
|
|
|
+potential-bugs:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ Deprecation:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ DuplicateCaseInWhenExpression:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EqualsAlwaysReturnsTrueOrFalse:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EqualsWithHashCodeExist:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ExplicitGarbageCollectionCall:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ HasPlatformType:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ IgnoredReturnValue:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ restrictToAnnotatedMethods: true
|
|
|
|
|
+ returnValueAnnotations: ['*.CheckReturnValue', '*.CheckResult']
|
|
|
|
|
+ ImplicitDefaultLocale:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ImplicitUnitReturnType:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ allowExplicitReturnType: true
|
|
|
|
|
+ InvalidRange:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ IteratorHasNextCallsNextMethod:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ IteratorNotThrowingNoSuchElementException:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ LateinitUsage:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ excludeAnnotatedProperties: []
|
|
|
|
|
+ ignoreOnClassesPattern: ''
|
|
|
|
|
+ MapGetWithNotNullAssertionOperator:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ MissingWhenCase:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ RedundantElseInWhen:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UnconditionalJumpStatementInLoop:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnnecessaryNotNullOperator:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnnecessarySafeCall:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnreachableCode:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UnsafeCallOnNullableType:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UnsafeCast:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UselessPostfixExpression:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ WrongEqualsTypeParameter:
|
|
|
|
|
+ active: true
|
|
|
|
|
+
|
|
|
|
|
+style:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ CollapsibleIfStatements:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ DataClassContainsFunctions:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ conversionFunctionPrefix: 'to'
|
|
|
|
|
+ DataClassShouldBeImmutable:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ EqualsNullCall:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ EqualsOnSignatureLine:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ExplicitCollectionElementAccessMethod:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ExplicitItLambdaParameter:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ExpressionBodySyntax:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ includeLineWrapping: false
|
|
|
|
|
+ ForbiddenComment:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ values: ['TODO:', 'FIXME:', 'STOPSHIP:']
|
|
|
|
|
+ allowedPatterns: ''
|
|
|
|
|
+ ForbiddenImport:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ imports: []
|
|
|
|
|
+ forbiddenPatterns: ''
|
|
|
|
|
+ ForbiddenMethodCall:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ methods: ['kotlin.io.println', 'kotlin.io.print']
|
|
|
|
|
+ ForbiddenPublicDataClass:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ignorePackages: ['*.internal', '*.internal.*']
|
|
|
|
|
+ ForbiddenVoid:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ignoreOverridden: false
|
|
|
|
|
+ ignoreUsageInGenerics: false
|
|
|
|
|
+ FunctionOnlyReturningConstant:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ignoreOverridableFunction: true
|
|
|
|
|
+ excludedFunctions: 'describeContents'
|
|
|
|
|
+ excludeAnnotatedFunction: ['dagger.Provides']
|
|
|
|
|
+ LibraryCodeMustSpecifyReturnType:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ LoopWithTooManyJumpStatements:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ maxJumpCount: 1
|
|
|
|
|
+ MagicNumber:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ ignoreNumbers: ['-1', '0', '1', '2']
|
|
|
|
|
+ ignoreHashCodeFunction: true
|
|
|
|
|
+ ignorePropertyDeclaration: false
|
|
|
|
|
+ ignoreLocalVariableDeclaration: false
|
|
|
|
|
+ ignoreConstantDeclaration: true
|
|
|
|
|
+ ignoreCompanionObjectPropertyDeclaration: true
|
|
|
|
|
+ ignoreAnnotation: false
|
|
|
|
|
+ ignoreNamedArgument: true
|
|
|
|
|
+ ignoreEnums: false
|
|
|
|
|
+ ignoreRanges: false
|
|
|
|
|
+ MandatoryBracesIfStatements:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ MandatoryBracesLoops:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ MaxLineLength:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ maxLineLength: 120
|
|
|
|
|
+ excludePackageStatements: true
|
|
|
|
|
+ excludeImportStatements: true
|
|
|
|
|
+ excludeCommentStatements: false
|
|
|
|
|
+ MayBeConst:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ ModifierOrder:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ NestedClassesVisibility:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ NewLineAtEndOfFile:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ NoTabs:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ OptionalAbstractKeyword:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ OptionalUnit:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ OptionalWhenBraces:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ PreferToOverPairSyntax:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ProtectedMemberInFinalClass:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ RedundantExplicitType:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ RedundantVisibilityModifierRule:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ReturnCount:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ max: 2
|
|
|
|
|
+ excludedFunctions: 'equals'
|
|
|
|
|
+ excludeLabeled: false
|
|
|
|
|
+ excludeReturnFromLambda: true
|
|
|
|
|
+ excludeGuardClauses: false
|
|
|
|
|
+ SafeCast:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ SerialVersionUIDInSerializableClass:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ SpacingBetweenPackageAndImports:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ ThrowsCount:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ max: 2
|
|
|
|
|
+ TrailingWhitespace:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnderscoresInNumericLiterals:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ acceptableDecimalLength: 5
|
|
|
|
|
+ UnnecessaryAbstractClass:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludeAnnotatedClasses: ['dagger.Module']
|
|
|
|
|
+ UnnecessaryAnnotationUseSiteTarget:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnnecessaryApply:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnnecessaryInheritance:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UnnecessaryLet:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnnecessaryParentheses:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UntilInsteadOfRangeTo:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnusedImports:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UnusedPrivateClass:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UnusedPrivateMember:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ allowedNames: '(_|ignored|expected|serialVersionUID)'
|
|
|
|
|
+ UseArrayLiteralsInAnnotations:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UseCheckOrError:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UseDataClass:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ excludeAnnotatedClasses: []
|
|
|
|
|
+ allowVars: false
|
|
|
|
|
+ UseIfInsteadOfWhen:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UseRequire:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ UselessCallOnNotNull:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ UtilityClassWithPublicConstructor:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ VarCouldBeVal:
|
|
|
|
|
+ active: false
|
|
|
|
|
+ WildcardImport:
|
|
|
|
|
+ active: true
|
|
|
|
|
+ excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
|
|
|
|
|
+ excludeImports: ['java.util.*', 'kotlinx.android.synthetic.*']
|