summaryrefslogtreecommitdiff
path: root/config/detekt
diff options
context:
space:
mode:
Diffstat (limited to 'config/detekt')
-rw-r--r--config/detekt/detekt.yml699
1 files changed, 0 insertions, 699 deletions
diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml
deleted file mode 100644
index 67d95a88..00000000
--- a/config/detekt/detekt.yml
+++ /dev/null
@@ -1,699 +0,0 @@
-build:
- maxIssues: 0
- excludeCorrectable: false
- weights:
- # complexity: 2
- # LongParameterList: 1
- # style: 1
- # comments: 1
-
-config:
- validation: true
- warningsAsErrors: false
- # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]'
- excludes: ''
-
-processors:
- active: true
- exclude:
- - 'DetektProgressListener'
- # - 'KtFileCountProcessor'
- # - 'PackageCountProcessor'
- # - 'ClassCountProcessor'
- # - 'FunctionCountProcessor'
- # - 'PropertyCountProcessor'
- # - 'ProjectComplexityProcessor'
- # - 'ProjectCognitiveComplexityProcessor'
- # - 'ProjectLLOCProcessor'
- # - 'ProjectCLOCProcessor'
- # - 'ProjectLOCProcessor'
- # - 'ProjectSLOCProcessor'
- # - 'LicenseHeaderLoaderExtension'
-
-console-reports:
- active: true
- exclude:
- - 'ProjectStatisticsReport'
- - 'ComplexityReport'
- - 'NotificationReport'
- - 'FindingsReport'
- - 'FileBasedFindingsReport'
- # - 'LiteFindingsReport'
-
-output-reports:
- active: true
- exclude:
- # - 'TxtOutputReport'
- # - 'XmlOutputReport'
- # - 'HtmlOutputReport'
- # - 'MdOutputReport'
-
-comments:
- active: true
- AbsentOrWrongFileLicense:
- active: false
- licenseTemplateFile: 'license.template'
- licenseTemplateIsRegex: false
- CommentOverPrivateFunction:
- active: false
- CommentOverPrivateProperty:
- active: false
- DeprecatedBlockTag:
- active: false
- EndOfSentenceFormat:
- active: false
- endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
- KDocReferencesNonPublicProperty:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- OutdatedDocumentation:
- active: false
- matchTypeParameters: true
- matchDeclarationsOrder: true
- allowParamOnConstructorProperties: false
- UndocumentedPublicClass:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- searchInNestedClass: true
- searchInInnerClass: true
- searchInInnerObject: true
- searchInInnerInterface: true
- UndocumentedPublicFunction:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- UndocumentedPublicProperty:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
-
-complexity:
- active: true
- CognitiveComplexMethod:
- active: false
- threshold: 15
- ComplexCondition:
- active: true
- threshold: 4
- ComplexInterface:
- active: false
- threshold: 10
- includeStaticDeclarations: false
- includePrivateDeclarations: false
- # TODO(msfjarvis): cleanup the offenders and wind this down
- CyclomaticComplexMethod:
- active: true
- threshold: 40
- ignoreSingleWhenExpression: false
- ignoreSimpleWhenEntries: false
- ignoreNestingFunctions: false
- nestingFunctions:
- - 'also'
- - 'apply'
- - 'forEach'
- - 'isNotNull'
- - 'ifNull'
- - 'let'
- - 'run'
- - 'use'
- - 'with'
- 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
- ignoreAnnotatedParameter: []
- MethodOverloading:
- active: false
- threshold: 6
- NamedArguments:
- active: false
- threshold: 3
- ignoreArgumentsMatchingNames: false
- NestedBlockDepth:
- active: true
- threshold: 4
- NestedScopeFunctions:
- active: false
- threshold: 1
- functions:
- - 'kotlin.apply'
- - 'kotlin.run'
- - 'kotlin.with'
- - 'kotlin.let'
- - 'kotlin.also'
- ReplaceSafeCallChainWithRun:
- active: false
- 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: 15
- thresholdInClasses: 15
- thresholdInInterfaces: 15
- thresholdInObjects: 15
- thresholdInEnums: 15
- ignoreDeprecated: false
- ignorePrivate: false
- ignoreOverridden: false
-
-coroutines:
- active: true
- GlobalCoroutineUsage:
- active: false
- InjectDispatcher:
- active: true
- dispatcherNames:
- - 'IO'
- - 'Default'
- - 'Unconfined'
- RedundantSuspendModifier:
- active: true
- SleepInsteadOfDelay:
- active: true
- SuspendFunWithCoroutineScopeReceiver:
- active: false
- SuspendFunWithFlowReturnType:
- active: true
-
-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: true
- methodNames:
- - 'equals'
- - 'finalize'
- - 'hashCode'
- - 'toString'
- InstanceOfCheckForException:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- NotImplementedDeclaration:
- active: false
- ObjectExtendsThrowable:
- active: false
- PrintStackTrace:
- active: true
- RethrowCaughtException:
- active: true
- ReturnFromFinally:
- active: true
- ignoreLabeled: false
- SwallowedException:
- active: true
- ignoredExceptionTypes:
- - 'InterruptedException'
- - 'MalformedURLException'
- - 'NumberFormatException'
- - 'ParseException'
- allowedExceptionNameRegex: '_|(ignore|expected).*'
- ThrowingExceptionFromFinally:
- active: true
- ThrowingExceptionInMain:
- active: false
- ThrowingExceptionsWithoutMessageOrCause:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- exceptions:
- - 'ArrayIndexOutOfBoundsException'
- - 'Exception'
- - 'IllegalArgumentException'
- - 'IllegalMonitorStateException'
- - 'IllegalStateException'
- - 'IndexOutOfBoundsException'
- - 'NullPointerException'
- - 'RuntimeException'
- - 'Throwable'
- ThrowingNewInstanceOfSameException:
- active: true
- TooGenericExceptionCaught:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- exceptionNames:
- - 'ArrayIndexOutOfBoundsException'
- - 'Error'
- - 'Exception'
- - 'IllegalMonitorStateException'
- - 'IndexOutOfBoundsException'
- - 'NullPointerException'
- - 'RuntimeException'
- - 'Throwable'
- allowedExceptionNameRegex: '_|(ignore|expected).*'
- TooGenericExceptionThrown:
- active: true
- exceptionNames:
- - 'Error'
- - 'Exception'
- - 'RuntimeException'
- - 'Throwable'
-
-naming:
- active: true
- BooleanPropertyNaming:
- active: false
- allowedPattern: '^(is|has|are)'
- ignoreOverridden: true
- ClassNaming:
- active: true
- classPattern: '[A-Z][a-zA-Z0-9]*'
- ConstructorParameterNaming:
- active: true
- parameterPattern: '[a-z][A-Za-z0-9]*'
- privateParameterPattern: '[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- ignoreOverridden: true
- EnumNaming:
- active: true
- enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
- ForbiddenClassName:
- active: false
- forbiddenName: []
- FunctionMaxLength:
- active: false
- maximumFunctionNameLength: 30
- FunctionMinLength:
- active: false
- 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
- parameterPattern: '[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- ignoreOverridden: true
- InvalidPackageDeclaration:
- active: true
- rootPackage: ''
- requireRootInDeclaration: false
- LambdaParameterNaming:
- active: false
- parameterPattern: '[a-z][A-Za-z0-9]*|_'
- MatchingDeclarationName:
- active: true
- mustBeFirst: true
- MemberNameEqualsClassName:
- active: true
- ignoreOverridden: true
- NoNameShadowing:
- active: true
- NonBooleanPropertyPrefixedWithIs:
- active: false
- ObjectPropertyNaming:
- active: true
- 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
- packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
- TopLevelPropertyNaming:
- active: true
- constantPattern: '[A-Z][A-Za-z0-9]*'
- propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
- privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*'
- VariableMaxLength:
- active: false
- maximumVariableNameLength: 64
- VariableMinLength:
- active: false
- minimumVariableNameLength: 1
- VariableNaming:
- active: true
- variablePattern: '[a-z][A-Za-z0-9]*'
- privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
- ignoreOverridden: true
-
-performance:
- active: true
- ArrayPrimitive:
- active: true
- CouldBeSequence:
- active: false
- threshold: 3
- 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
- AvoidReferentialEquality:
- active: true
- forbiddenTypePatterns:
- - 'kotlin.String'
- CastToNullableType:
- active: false
- Deprecation:
- active: false
- DontDowncastCollectionTypes:
- active: false
- DoubleMutabilityForCollection:
- active: true
- mutableTypes:
- - 'kotlin.collections.MutableList'
- - 'kotlin.collections.MutableMap'
- - 'kotlin.collections.MutableSet'
- - 'java.util.ArrayList'
- - 'java.util.LinkedHashSet'
- - 'java.util.HashSet'
- - 'java.util.LinkedHashMap'
- - 'java.util.HashMap'
- ElseCaseInsteadOfExhaustiveWhen:
- active: false
- EqualsAlwaysReturnsTrueOrFalse:
- active: true
- EqualsWithHashCodeExist:
- active: true
- ExitOutsideMain:
- active: false
- ExplicitGarbageCollectionCall:
- active: true
- HasPlatformType:
- active: true
- IgnoredReturnValue:
- active: true
- restrictToConfig: true
- returnValueAnnotations:
- - '*.CheckResult'
- - '*.CheckReturnValue'
- ignoreReturnValueAnnotations:
- - '*.CanIgnoreReturnValue'
- ignoreFunctionCall: []
- ImplicitDefaultLocale:
- active: true
- ImplicitUnitReturnType:
- active: false
- allowExplicitReturnType: true
- InvalidRange:
- active: true
- IteratorHasNextCallsNextMethod:
- active: true
- IteratorNotThrowingNoSuchElementException:
- active: true
- LateinitUsage:
- active: false
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- ignoreOnClassesPattern: ''
- MapGetWithNotNullAssertionOperator:
- active: true
- MissingPackageDeclaration:
- active: false
- excludes: ['**/*.kts']
- NullCheckOnMutableProperty:
- active: false
- NullableToStringCall:
- active: false
- UnconditionalJumpStatementInLoop:
- active: false
- UnnecessaryNotNullOperator:
- active: true
- UnnecessarySafeCall:
- active: true
- UnreachableCatchBlock:
- active: true
- UnreachableCode:
- active: true
- UnsafeCallOnNullableType:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- UnsafeCast:
- active: true
- UnusedUnaryOperator:
- active: true
- UselessPostfixExpression:
- active: true
- WrongEqualsTypeParameter:
- active: true
-
-style:
- active: true
- CanBeNonNullable:
- active: false
- CascadingCallWrapping:
- active: false
- includeElvis: true
- ClassOrdering:
- active: false
- CollapsibleIfStatements:
- active: false
- DataClassContainsFunctions:
- active: false
- conversionFunctionPrefix: ['to']
- DataClassShouldBeImmutable:
- active: false
- DestructuringDeclarationWithTooManyEntries:
- active: true
- maxDestructuringEntries: 3
- EqualsNullCall:
- active: true
- EqualsOnSignatureLine:
- active: false
- ExplicitCollectionElementAccessMethod:
- active: false
- ExplicitItLambdaParameter:
- active: true
- ExpressionBodySyntax:
- active: false
- includeLineWrapping: false
- ForbiddenComment:
- active: true
- values:
- - 'FIXME:'
- - 'STOPSHIP:'
- - 'TODO:'
- allowedPatterns: ''
- customMessage: ''
- ForbiddenImport:
- active: false
- imports: []
- forbiddenPatterns: ''
- ForbiddenMethodCall:
- active: false
- methods:
- - 'kotlin.io.print'
- - 'kotlin.io.println'
- ForbiddenSuppress:
- active: false
- rules: []
- ForbiddenVoid:
- active: true
- ignoreOverridden: false
- ignoreUsageInGenerics: false
- FunctionOnlyReturningConstant:
- active: true
- ignoreOverridableFunction: true
- ignoreActualFunction: true
- excludedFunctions: []
- LoopWithTooManyJumpStatements:
- active: true
- maxJumpCount: 1
- MagicNumber:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts']
- ignoreNumbers:
- - '-1'
- - '0'
- - '1'
- - '2'
- ignoreHashCodeFunction: true
- ignorePropertyDeclaration: true
- ignoreLocalVariableDeclaration: false
- ignoreConstantDeclaration: true
- ignoreCompanionObjectPropertyDeclaration: true
- ignoreAnnotation: false
- ignoreNamedArgument: true
- ignoreEnums: false
- ignoreRanges: false
- ignoreExtensionFunctions: true
- MandatoryBracesIfStatements:
- active: false
- MandatoryBracesLoops:
- active: false
- MaxChainedCallsOnSameLine:
- active: false
- maxChainedCalls: 5
- MaxLineLength:
- active: true
- maxLineLength: 120
- excludePackageStatements: true
- excludeImportStatements: true
- excludeCommentStatements: false
- MayBeConst:
- active: true
- ModifierOrder:
- active: true
- MultilineLambdaItParameter:
- active: false
- NestedClassesVisibility:
- active: true
- NewLineAtEndOfFile:
- active: true
- NoTabs:
- active: false
- NullableBooleanCheck:
- active: false
- ObjectLiteralToLambda:
- active: true
- OptionalAbstractKeyword:
- active: true
- OptionalUnit:
- active: false
- OptionalWhenBraces:
- active: false
- PreferToOverPairSyntax:
- active: false
- ProtectedMemberInFinalClass:
- active: true
- RedundantExplicitType:
- active: false
- RedundantHigherOrderMapUsage:
- active: true
- RedundantVisibilityModifierRule:
- active: false
- ReturnCount:
- active: true
- max: 2
- excludedFunctions: ['equals']
- excludeLabeled: false
- excludeReturnFromLambda: true
- excludeGuardClauses: false
- SafeCast:
- active: true
- SerialVersionUIDInSerializableClass:
- active: true
- SpacingBetweenPackageAndImports:
- active: false
- ThrowsCount:
- active: true
- max: 2
- excludeGuardClauses: false
- TrailingWhitespace:
- active: false
- UnderscoresInNumericLiterals:
- active: false
- acceptableLength: 4
- allowNonStandardGrouping: false
- UnnecessaryAbstractClass:
- active: true
- UnnecessaryAnnotationUseSiteTarget:
- active: false
- UnnecessaryApply:
- active: true
- UnnecessaryBackticks:
- active: false
- UnnecessaryFilter:
- active: true
- UnnecessaryInheritance:
- active: true
- UnnecessaryInnerClass:
- active: false
- UnnecessaryLet:
- active: false
- UnnecessaryParentheses:
- active: false
- UntilInsteadOfRangeTo:
- active: false
- UnusedImports:
- active: false
- UnusedPrivateClass:
- active: true
- UnusedPrivateMember:
- active: true
- allowedNames: '(_|ignored|expected|serialVersionUID)'
- ignoreAnnotated: ['Preview']
- UseAnyOrNoneInsteadOfFind:
- active: true
- UseArrayLiteralsInAnnotations:
- active: true
- UseCheckNotNull:
- active: true
- UseCheckOrError:
- active: true
- UseDataClass:
- active: false
- allowVars: false
- UseEmptyCounterpart:
- active: false
- UseIfEmptyOrIfBlank:
- active: false
- UseIfInsteadOfWhen:
- active: false
- UseIsNullOrEmpty:
- active: true
- UseOrEmpty:
- active: true
- UseRequire:
- active: true
- UseRequireNotNull:
- active: true
- UselessCallOnNotNull:
- active: true
- UtilityClassWithPublicConstructor:
- active: true
- VarCouldBeVal:
- active: true
- ignoreLateinitVar: false
- WildcardImport:
- active: true
- excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
- excludeImports:
- - 'java.util.*'