|
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: true |
|
DeprecatedBlockTag: |
|
active: true |
|
EndOfSentenceFormat: |
|
active: false |
|
endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' |
|
KDocReferencesNonPublicProperty: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**' ] |
|
OutdatedDocumentation: |
|
active: false |
|
matchTypeParameters: true |
|
matchDeclarationsOrder: true |
|
allowParamOnConstructorProperties: false |
|
UndocumentedPublicClass: |
|
active: true |
|
excludes: [ '**/*.kt' , '**/*.java' ] |
|
includes: [ ] |
|
searchInNestedClass: true |
|
searchInInnerClass: true |
|
searchInInnerObject: true |
|
searchInInnerInterface: true |
|
UndocumentedPublicFunction: |
|
active: true |
|
excludes: [ '**/*.kt' , '**/*.java' ] |
|
includes: [ ] |
|
UndocumentedPublicProperty: |
|
active: false |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
|
|
complexity: |
|
active: true |
|
ComplexCondition: |
|
active: true |
|
threshold: 4 |
|
ComplexInterface: |
|
active: true |
|
threshold: 10 |
|
includeStaticDeclarations: false |
|
includePrivateDeclarations: false |
|
ComplexMethod: |
|
active: true |
|
threshold: 15 |
|
ignoreSingleWhenExpression: true |
|
ignoreSimpleWhenEntries: false |
|
ignoreNestingFunctions: false |
|
nestingFunctions: |
|
- 'also' |
|
- 'apply' |
|
- 'forEach' |
|
- 'isNotNull' |
|
- 'ifNull' |
|
- 'let' |
|
- 'run' |
|
- 'use' |
|
- 'with' |
|
LabeledExpression: |
|
active: true |
|
ignoredLabels: [ 'forEach' ] |
|
LargeClass: |
|
active: true |
|
threshold: 600 |
|
LongMethod: |
|
active: true |
|
threshold: 70 |
|
LongParameterList: |
|
active: true |
|
functionThreshold: 25 |
|
constructorThreshold: 7 |
|
ignoreDefaultParameters: true |
|
ignoreDataClasses: true |
|
ignoreAnnotatedParameter: [ ] |
|
MethodOverloading: |
|
active: true |
|
threshold: 6 |
|
NamedArguments: |
|
active: true |
|
threshold: 3 |
|
ignoreArgumentsMatchingNames: false |
|
NestedBlockDepth: |
|
active: true |
|
threshold: 4 |
|
NestedScopeFunctions: |
|
active: true |
|
threshold: 1 |
|
functions: |
|
- 'kotlin.apply' |
|
- 'kotlin.run' |
|
- 'kotlin.with' |
|
- 'kotlin.let' |
|
- 'kotlin.also' |
|
ReplaceSafeCallChainWithRun: |
|
active: true |
|
StringLiteralDuplication: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
threshold: 5 |
|
ignoreAnnotation: true |
|
excludeStringsWithLessThan5Characters: true |
|
ignoreStringsRegex: '$^' |
|
TooManyFunctions: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
thresholdInFiles: 25 |
|
thresholdInClasses: 11 |
|
thresholdInInterfaces: 11 |
|
thresholdInObjects: 11 |
|
thresholdInEnums: 11 |
|
ignoreDeprecated: false |
|
ignorePrivate: false |
|
ignoreOverridden: false |
|
|
|
coroutines: |
|
active: true |
|
GlobalCoroutineUsage: |
|
active: true |
|
InjectDispatcher: |
|
active: true |
|
dispatcherNames: |
|
- 'IO' |
|
- 'Main' |
|
- 'Default' |
|
- 'Unconfined' |
|
RedundantSuspendModifier: |
|
active: true |
|
SleepInsteadOfDelay: |
|
active: true |
|
SuspendFunWithCoroutineScopeReceiver: |
|
active: true |
|
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: true |
|
ObjectExtendsThrowable: |
|
active: true |
|
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: true |
|
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' |
|
|
|
formatting: |
|
active: true |
|
android: false |
|
autoCorrect: true |
|
AnnotationOnSeparateLine: |
|
active: false |
|
autoCorrect: true |
|
AnnotationSpacing: |
|
active: true |
|
autoCorrect: true |
|
ArgumentListWrapping: |
|
active: false |
|
autoCorrect: true |
|
indentSize: 4 |
|
maxLineLength: 100 |
|
ChainWrapping: |
|
active: true |
|
autoCorrect: true |
|
CommentSpacing: |
|
active: true |
|
autoCorrect: true |
|
EnumEntryNameCase: |
|
active: true |
|
autoCorrect: true |
|
Filename: |
|
active: true |
|
FinalNewline: |
|
active: true |
|
autoCorrect: true |
|
insertFinalNewLine: true |
|
ImportOrdering: |
|
active: true |
|
autoCorrect: true |
|
layout: '*,android.*,androidx.*,com.*,java.*,javax.*,kotlin.*,kotlinx.*,$*' |
|
Indentation: |
|
active: true |
|
autoCorrect: true |
|
indentSize: 4 |
|
continuationIndentSize: 4 |
|
MaximumLineLength: |
|
active: true |
|
maxLineLength: 100 |
|
ignoreBackTickedIdentifier: false |
|
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: true |
|
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: false |
|
autoCorrect: false |
|
ParameterListWrapping: |
|
active: true |
|
autoCorrect: true |
|
indentSize: 4 |
|
maxLineLength: 100 |
|
SpacingAroundAngleBrackets: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundColon: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundComma: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundCurly: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundDot: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundDoubleColon: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundKeyword: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundOperators: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundParens: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundRangeOperator: |
|
active: true |
|
autoCorrect: true |
|
SpacingAroundUnaryOperator: |
|
active: true |
|
autoCorrect: true |
|
SpacingBetweenDeclarationsWithAnnotations: |
|
active: true |
|
autoCorrect: true |
|
SpacingBetweenDeclarationsWithComments: |
|
active: true |
|
autoCorrect: true |
|
StringTemplate: |
|
active: true |
|
autoCorrect: true |
|
|
|
naming: |
|
active: true |
|
BooleanPropertyNaming: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
allowedPattern: '^(is|has|are)' |
|
ignoreOverridden: 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: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
# Instead of using 'Manager' use 'Controller' and so on. |
|
forbiddenName: [ 'Util', 'Manager', 'Processor' ] |
|
FunctionMaxLength: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
maximumFunctionNameLength: 35 |
|
FunctionMinLength: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
minimumFunctionNameLength: 2 |
|
FunctionNaming: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
functionPattern: '[A-Za-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: true |
|
rootPackage: '' |
|
requireRootInDeclaration: false |
|
excludes: [ '**/build-logic/**/*.kt', '**/*.kts' ] |
|
LambdaParameterNaming: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
parameterPattern: '[a-z][A-Za-z0-9]*|_' |
|
MatchingDeclarationName: |
|
active: true |
|
mustBeFirst: true |
|
MemberNameEqualsClassName: |
|
active: true |
|
ignoreOverridden: true |
|
NoNameShadowing: |
|
active: true |
|
NonBooleanPropertyPrefixedWithIs: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
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-Za-z0-9]*|[A-Z][_A-Z0-9]*' |
|
propertyPattern: '[A-Za-z][_A-Za-z0-9]*' |
|
privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' |
|
VariableMaxLength: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
maximumVariableNameLength: 64 |
|
VariableMinLength: |
|
active: true |
|
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 |
|
CouldBeSequence: |
|
active: true |
|
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: true |
|
Deprecation: |
|
active: true |
|
DontDowncastCollectionTypes: |
|
active: true |
|
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' |
|
DuplicateCaseInWhenExpression: |
|
active: true |
|
ElseCaseInsteadOfExhaustiveWhen: |
|
active: true |
|
EqualsAlwaysReturnsTrueOrFalse: |
|
active: true |
|
EqualsWithHashCodeExist: |
|
active: true |
|
ExitOutsideMain: |
|
active: false |
|
ExplicitGarbageCollectionCall: |
|
active: true |
|
HasPlatformType: |
|
active: true |
|
IgnoredReturnValue: |
|
active: true |
|
restrictToAnnotatedMethods: true |
|
returnValueAnnotations: |
|
- '*.CheckResult' |
|
- '*.CheckReturnValue' |
|
ignoreReturnValueAnnotations: |
|
- '*.CanIgnoreReturnValue' |
|
ignoreFunctionCall: [ ] |
|
ImplicitDefaultLocale: |
|
active: true |
|
ImplicitUnitReturnType: |
|
active: true |
|
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' ] |
|
MissingWhenCase: |
|
active: true |
|
allowElseExpression: true |
|
NullCheckOnMutableProperty: |
|
active: true |
|
NullableToStringCall: |
|
active: true |
|
RedundantElseInWhen: |
|
active: true |
|
UnconditionalJumpStatementInLoop: |
|
active: true |
|
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 |
|
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ] |
|
UnusedUnaryOperator: |
|
active: true |
|
UselessPostfixExpression: |
|
active: true |
|
WrongEqualsTypeParameter: |
|
active: true |
|
|
|
style: |
|
active: true |
|
CanBeNonNullable: |
|
active: true |
|
CascadingCallWrapping: |
|
active: true |
|
includeElvis: true |
|
ClassOrdering: |
|
active: true |
|
CollapsibleIfStatements: |
|
active: true |
|
DataClassContainsFunctions: |
|
active: true |
|
conversionFunctionPrefix: 'to' |
|
DataClassShouldBeImmutable: |
|
active: true |
|
DestructuringDeclarationWithTooManyEntries: |
|
active: true |
|
maxDestructuringEntries: 11 |
|
EqualsNullCall: |
|
active: true |
|
EqualsOnSignatureLine: |
|
active: true |
|
ExplicitCollectionElementAccessMethod: |
|
active: true |
|
ExplicitItLambdaParameter: |
|
active: true |
|
ExpressionBodySyntax: |
|
active: true |
|
includeLineWrapping: false |
|
ForbiddenComment: |
|
active: true |
|
values: |
|
- 'FIXME:' |
|
- 'STOPSHIP:' |
|
- 'TODO:' |
|
- '@author' |
|
- '@requiresTypeResolution' |
|
allowedPatterns: '' |
|
customMessage: '' |
|
ForbiddenImport: |
|
active: true |
|
imports: [ 'org.assertj.core.api.Assertions' ] |
|
forbiddenPatterns: '' |
|
ForbiddenMethodCall: |
|
active: true |
|
methods: |
|
- 'kotlin.io.print' |
|
- 'kotlin.io.println' |
|
- 'java.net.URL.openStream' |
|
- 'java.lang.Class.getResourceAsStream' |
|
- 'java.lang.ClassLoader.getResourceAsStream' |
|
ForbiddenPublicDataClass: |
|
active: true |
|
excludes: [ '**' ] |
|
ignorePackages: |
|
- '*.internal' |
|
- '*.internal.*' |
|
ForbiddenSuppress: |
|
active: true |
|
rules: [ ] |
|
ForbiddenVoid: |
|
active: true |
|
ignoreOverridden: false |
|
ignoreUsageInGenerics: false |
|
FunctionOnlyReturningConstant: |
|
active: true |
|
ignoreOverridableFunction: true |
|
ignoreActualFunction: true |
|
excludedFunctions: '' |
|
LibraryCodeMustSpecifyReturnType: |
|
active: true |
|
excludes: [ '**' ] |
|
LibraryEntitiesShouldNotBePublic: |
|
active: true |
|
excludes: [ '**' ] |
|
LoopWithTooManyJumpStatements: |
|
active: true |
|
maxJumpCount: 1 |
|
MagicNumber: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**', '**.kts' ] |
|
ignoreNumbers: |
|
- '-1' |
|
- '0' |
|
- '1' |
|
- '2' |
|
- '3' |
|
- '4' |
|
- '5' |
|
- '6' |
|
- '7' |
|
- '8' |
|
- '9' |
|
- '10' |
|
- '100' |
|
- '250' |
|
- '500' |
|
- '1000' |
|
ignoreHashCodeFunction: true |
|
ignorePropertyDeclaration: true |
|
ignoreLocalVariableDeclaration: false |
|
ignoreConstantDeclaration: true |
|
ignoreCompanionObjectPropertyDeclaration: true |
|
ignoreAnnotation: true |
|
ignoreNamedArgument: true |
|
ignoreEnums: true |
|
ignoreRanges: false |
|
ignoreExtensionFunctions: true |
|
MandatoryBracesIfStatements: |
|
active: true |
|
MandatoryBracesLoops: |
|
active: true |
|
MaxChainedCallsOnSameLine: |
|
active: false |
|
maxChainedCalls: 5 |
|
MaxLineLength: |
|
active: true |
|
maxLineLength: 100 |
|
excludePackageStatements: true |
|
excludeImportStatements: true |
|
excludeCommentStatements: true |
|
MayBeConst: |
|
active: true |
|
ModifierOrder: |
|
active: true |
|
MultilineLambdaItParameter: |
|
active: true |
|
NestedClassesVisibility: |
|
active: true |
|
NewLineAtEndOfFile: |
|
active: true |
|
NoTabs: |
|
active: false |
|
NullableBooleanCheck: |
|
active: true |
|
ObjectLiteralToLambda: |
|
active: true |
|
OptionalAbstractKeyword: |
|
active: true |
|
OptionalUnit: |
|
active: true |
|
OptionalWhenBraces: |
|
active: false |
|
PreferToOverPairSyntax: |
|
active: true |
|
ProtectedMemberInFinalClass: |
|
active: true |
|
RedundantExplicitType: |
|
active: true |
|
RedundantHigherOrderMapUsage: |
|
active: true |
|
RedundantVisibilityModifierRule: |
|
active: true |
|
ReturnCount: |
|
active: true |
|
max: 2 |
|
excludedFunctions: 'equals' |
|
excludeLabeled: false |
|
excludeReturnFromLambda: true |
|
excludeGuardClauses: true |
|
SafeCast: |
|
active: true |
|
SerialVersionUIDInSerializableClass: |
|
active: true |
|
SpacingBetweenPackageAndImports: |
|
active: true |
|
ThrowsCount: |
|
active: true |
|
max: 2 |
|
excludeGuardClauses: false |
|
TrailingWhitespace: |
|
active: false |
|
UnderscoresInNumericLiterals: |
|
active: true |
|
acceptableLength: 4 |
|
allowNonStandardGrouping: false |
|
UnnecessaryAbstractClass: |
|
active: true |
|
UnnecessaryAnnotationUseSiteTarget: |
|
active: true |
|
UnnecessaryApply: |
|
active: true |
|
UnnecessaryBackticks: |
|
active: true |
|
UnnecessaryFilter: |
|
active: true |
|
UnnecessaryInheritance: |
|
active: true |
|
UnnecessaryInnerClass: |
|
active: true |
|
ignoreAnnotated: [ 'Nested' ] |
|
UnnecessaryLet: |
|
active: true |
|
UnnecessaryParentheses: |
|
active: false |
|
UntilInsteadOfRangeTo: |
|
active: true |
|
UnusedImports: |
|
active: true |
|
UnusedPrivateClass: |
|
active: true |
|
UnusedPrivateMember: |
|
active: true |
|
allowedNames: '(_|ignored|expected|serialVersionUID)' |
|
ignoreAnnotated: [ 'Preview' ] |
|
UseAnyOrNoneInsteadOfFind: |
|
active: true |
|
UseArrayLiteralsInAnnotations: |
|
active: false |
|
UseCheckNotNull: |
|
active: true |
|
UseCheckOrError: |
|
active: true |
|
UseDataClass: |
|
active: true |
|
allowVars: false |
|
UseEmptyCounterpart: |
|
active: true |
|
UseIfEmptyOrIfBlank: |
|
active: true |
|
UseIfInsteadOfWhen: |
|
active: true |
|
UseIsNullOrEmpty: |
|
active: true |
|
UseOrEmpty: |
|
active: true |
|
UseRequire: |
|
active: true |
|
UseRequireNotNull: |
|
active: true |
|
UselessCallOnNotNull: |
|
active: true |
|
UtilityClassWithPublicConstructor: |
|
active: true |
|
VarCouldBeVal: |
|
active: true |
|
ignoreLateinitVar: false |
|
ignoreAnnotated: [ 'Parameter' ] |
|
WildcardImport: |
|
active: true |
|
excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', |
|
'**/jsTest/**', '**/iosTest/**' ] |
|
excludeImports: |
|
- 'java.util.*' |