585 lines
13 KiB
YAML
585 lines
13 KiB
YAML
build:
|
|
maxIssues: -1
|
|
excludeCorrectable: false
|
|
|
|
config:
|
|
validation: true
|
|
warningsAsErrors: false
|
|
|
|
processors:
|
|
active: true
|
|
exclude:
|
|
- 'DetektProgressListener'
|
|
|
|
console-reports:
|
|
active: true
|
|
|
|
output-reports:
|
|
active: true
|
|
exclude:
|
|
- 'TxtOutputReport'
|
|
|
|
complexity:
|
|
active: true
|
|
ComplexCondition:
|
|
active: true
|
|
threshold: 5
|
|
CyclomaticComplexMethod:
|
|
active: true
|
|
threshold: 50
|
|
ignoreSingleWhenExpression: true
|
|
ignoreSimpleWhenEntries: true
|
|
ignoreNestingFunctions: false
|
|
nestingFunctions:
|
|
- 'also'
|
|
- 'apply'
|
|
- 'let'
|
|
- 'run'
|
|
- 'with'
|
|
LabeledExpression:
|
|
active: false
|
|
LargeClass:
|
|
active: true
|
|
threshold: 800
|
|
LongMethod:
|
|
active: true
|
|
threshold: 120
|
|
ignoreAnnotated:
|
|
- 'Composable'
|
|
- 'Test'
|
|
LongParameterList:
|
|
active: true
|
|
functionThreshold: 15
|
|
constructorThreshold: 15
|
|
ignoreDefaultParameters: true
|
|
ignoreDataClasses: true
|
|
ignoreAnnotatedParameter:
|
|
- 'Composable'
|
|
MethodOverloading:
|
|
active: false
|
|
NamedArguments:
|
|
active: false
|
|
NestedBlockDepth:
|
|
active: true
|
|
threshold: 8
|
|
NestedScopeFunctions:
|
|
active: true
|
|
threshold: 2
|
|
functions:
|
|
- 'also'
|
|
- 'apply'
|
|
- 'let'
|
|
- 'run'
|
|
- 'with'
|
|
ReplaceSafeCallChainWithRun:
|
|
active: false
|
|
StringLiteralDuplication:
|
|
active: false
|
|
threshold: 4
|
|
ignoreAnnotation: true
|
|
excludeStringsWithLessThan5Characters: true
|
|
ignoreStringsRegex: '$^'
|
|
TooManyFunctions:
|
|
active: true
|
|
thresholdInFiles: 40
|
|
thresholdInClasses: 40
|
|
thresholdInInterfaces: 25
|
|
thresholdInObjects: 25
|
|
thresholdInEnums: 15
|
|
ignoreDeprecated: true
|
|
ignorePrivate: true
|
|
ignoreOverridden: true
|
|
|
|
coroutines:
|
|
active: true
|
|
GlobalCoroutineUsage:
|
|
active: true
|
|
InjectDispatcher:
|
|
active: true
|
|
dispatcherNames:
|
|
- 'IO'
|
|
- 'Default'
|
|
- 'Unconfined'
|
|
RedundantSuspendModifier:
|
|
active: true
|
|
SleepInsteadOfDelay:
|
|
active: true
|
|
SuspendFunSwallowedCancellation:
|
|
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: true
|
|
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
|
|
NotImplementedDeclaration:
|
|
active: false
|
|
ObjectExtendsThrowable:
|
|
active: false
|
|
PrintStackTrace:
|
|
active: true
|
|
RethrowCaughtException:
|
|
active: true
|
|
ReturnFromFinally:
|
|
active: true
|
|
SwallowedException:
|
|
active: false
|
|
ignoredExceptionTypes:
|
|
- 'InterruptedException'
|
|
- 'MalformedURLException'
|
|
- 'NumberFormatException'
|
|
- 'ParseException'
|
|
allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
ThrowingExceptionFromFinally:
|
|
active: true
|
|
ThrowingExceptionInMain:
|
|
active: false
|
|
ThrowingExceptionsWithoutMessageOrCause:
|
|
active: true
|
|
excludes: ['**/test/**', '**/androidTest/**', '**/*.Test.kt', '**/*.Spec.kt', '**/*.Spek.kt']
|
|
exceptions:
|
|
- 'ArrayIndexOutOfBoundsException'
|
|
- 'Exception'
|
|
- 'IllegalArgumentException'
|
|
- 'IllegalMonitorStateException'
|
|
- 'IllegalStateException'
|
|
- 'IndexOutOfBoundsException'
|
|
- 'NullPointerException'
|
|
- 'RuntimeException'
|
|
- 'Throwable'
|
|
ThrowingNewInstanceOfSameException:
|
|
active: true
|
|
TooGenericExceptionCaught:
|
|
active: false
|
|
excludes: ['**/test/**', '**/androidTest/**', '**/*.Test.kt', '**/*.Spec.kt', '**/*.Spek.kt']
|
|
exceptionNames:
|
|
- 'ArrayIndexOutOfBoundsException'
|
|
- 'Error'
|
|
- 'Exception'
|
|
- 'IllegalMonitorStateException'
|
|
- 'IndexOutOfBoundsException'
|
|
- 'NullPointerException'
|
|
- 'RuntimeException'
|
|
- 'Throwable'
|
|
allowedExceptionNameRegex: '_|(ignore|expected).*'
|
|
TooGenericExceptionThrown:
|
|
active: false
|
|
exceptionNames:
|
|
- 'Error'
|
|
- 'Exception'
|
|
- 'RuntimeException'
|
|
- 'Throwable'
|
|
|
|
naming:
|
|
active: true
|
|
BooleanPropertyNaming:
|
|
active: true
|
|
allowedPattern: '^(is|has|are|should|can|will|does|did)'
|
|
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: '$^'
|
|
EnumNaming:
|
|
active: true
|
|
enumEntryPattern: '[A-Z][_a-zA-Z0-9]*'
|
|
ForbiddenClassName:
|
|
active: false
|
|
FunctionMaxLength:
|
|
active: false
|
|
FunctionMinLength:
|
|
active: false
|
|
FunctionNaming:
|
|
active: true
|
|
functionPattern: '[a-zA-Z][a-zA-Z0-9]*'
|
|
excludeClassPattern: '$^'
|
|
ignoreAnnotated:
|
|
- 'Composable'
|
|
FunctionParameterNaming:
|
|
active: true
|
|
parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
excludeClassPattern: '$^'
|
|
InvalidPackageDeclaration:
|
|
active: true
|
|
rootPackage: 'com.atridad.ascently'
|
|
LambdaParameterNaming:
|
|
active: true
|
|
parameterPattern: '[a-z][A-Za-z0-9]*|_'
|
|
MatchingDeclarationName:
|
|
active: false
|
|
mustBeFirst: true
|
|
MemberNameEqualsClassName:
|
|
active: true
|
|
ignoreOverridden: true
|
|
NoNameShadowing:
|
|
active: true
|
|
NonBooleanPropertyPrefixedWithIs:
|
|
active: true
|
|
ObjectPropertyNaming:
|
|
active: false
|
|
PackageNaming:
|
|
active: true
|
|
packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
|
|
TopLevelPropertyNaming:
|
|
active: true
|
|
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
|
|
VariableMinLength:
|
|
active: false
|
|
VariableNaming:
|
|
active: true
|
|
variablePattern: '[a-z][A-Za-z0-9]*'
|
|
privateVariablePattern: '[_a-z][A-Za-z0-9]*'
|
|
excludeClassPattern: '$^'
|
|
|
|
performance:
|
|
active: true
|
|
ArrayPrimitive:
|
|
active: true
|
|
CouldBeSequence:
|
|
active: false
|
|
ForEachOnRange:
|
|
active: true
|
|
SpreadOperator:
|
|
active: false
|
|
UnnecessaryPartOfBinaryExpression:
|
|
active: true
|
|
UnnecessaryTemporaryInstantiation:
|
|
active: true
|
|
|
|
potential-bugs:
|
|
active: true
|
|
AvoidReferentialEquality:
|
|
active: true
|
|
CastNullableToNonNullableType:
|
|
active: true
|
|
CastToNullableType:
|
|
active: false
|
|
Deprecation:
|
|
active: false
|
|
DontDowncastCollectionTypes:
|
|
active: true
|
|
DoubleMutabilityForCollection:
|
|
active: true
|
|
ElseCaseInsteadOfExhaustiveWhen:
|
|
active: false
|
|
EqualsAlwaysReturnsTrueOrFalse:
|
|
active: true
|
|
EqualsWithHashCodeExist:
|
|
active: true
|
|
ExitOutsideMain:
|
|
active: false
|
|
ExplicitGarbageCollectionCall:
|
|
active: true
|
|
HasPlatformType:
|
|
active: true
|
|
IgnoredReturnValue:
|
|
active: true
|
|
ImplicitDefaultLocale:
|
|
active: true
|
|
ImplicitUnitReturnType:
|
|
active: true
|
|
allowExplicitReturnType: true
|
|
InvalidRange:
|
|
active: true
|
|
IteratorHasNextCallsNextMethod:
|
|
active: true
|
|
IteratorNotThrowingNoSuchElementException:
|
|
active: true
|
|
LateinitUsage:
|
|
active: false
|
|
MapGetWithNotNullAssertionOperator:
|
|
active: true
|
|
MissingPackageDeclaration:
|
|
active: true
|
|
NullCheckOnMutableProperty:
|
|
active: true
|
|
NullableToStringCall:
|
|
active: true
|
|
PropertyUsedBeforeDeclaration:
|
|
active: false
|
|
UnconditionalJumpStatementInLoop:
|
|
active: true
|
|
UnnecessaryNotNullCheck:
|
|
active: true
|
|
UnnecessaryNotNullOperator:
|
|
active: true
|
|
UnnecessarySafeCall:
|
|
active: true
|
|
UnreachableCatchBlock:
|
|
active: true
|
|
UnreachableCode:
|
|
active: true
|
|
UnsafeCallOnNullableType:
|
|
active: true
|
|
UnsafeCast:
|
|
active: true
|
|
UnusedUnaryOperator:
|
|
active: true
|
|
UselessPostfixExpression:
|
|
active: true
|
|
WrongEqualsTypeParameter:
|
|
active: true
|
|
|
|
style:
|
|
active: true
|
|
AlsoCouldBeApply:
|
|
active: false
|
|
BracesOnIfStatements:
|
|
active: false
|
|
singleLine: 'never'
|
|
multiLine: 'always'
|
|
BracesOnWhenStatements:
|
|
active: false
|
|
singleLine: 'necessary'
|
|
multiLine: 'necessary'
|
|
CanBeNonNullable:
|
|
active: true
|
|
CascadingCallWrapping:
|
|
active: false
|
|
ClassOrdering:
|
|
active: false
|
|
CollapsibleIfStatements:
|
|
active: false
|
|
DataClassContainsFunctions:
|
|
active: false
|
|
DataClassShouldBeImmutable:
|
|
active: true
|
|
DestructuringDeclarationWithTooManyEntries:
|
|
active: true
|
|
maxDestructuringEntries: 5
|
|
EqualsNullCall:
|
|
active: true
|
|
EqualsOnSignatureLine:
|
|
active: true
|
|
ExplicitCollectionElementAccessMethod:
|
|
active: true
|
|
ExplicitItLambdaParameter:
|
|
active: false
|
|
ExpressionBodySyntax:
|
|
active: false
|
|
includeLineWrapping: false
|
|
ForbiddenAnnotation:
|
|
active: false
|
|
ForbiddenComment:
|
|
active: false
|
|
ForbiddenImport:
|
|
active: false
|
|
ForbiddenMethodCall:
|
|
active: false
|
|
ForbiddenSuppress:
|
|
active: false
|
|
ForbiddenVoid:
|
|
active: true
|
|
ignoreOverridden: true
|
|
ignoreUsageInGenerics: true
|
|
FunctionOnlyReturningConstant:
|
|
active: false
|
|
ignoreOverridableFunction: true
|
|
ignoreActualFunction: true
|
|
excludedFunctions: []
|
|
LoopWithTooManyJumpStatements:
|
|
active: true
|
|
maxJumpCount: 2
|
|
MagicNumber:
|
|
active: false
|
|
MandatoryBracesLoops:
|
|
active: true
|
|
MaxChainedCallsOnSameLine:
|
|
active: true
|
|
maxChainedCalls: 5
|
|
MaxLineLength:
|
|
active: true
|
|
maxLineLength: 220
|
|
excludePackageStatements: true
|
|
excludeImportStatements: true
|
|
excludeCommentStatements: true
|
|
excludeRawStrings: true
|
|
MayBeConst:
|
|
active: true
|
|
ModifierOrder:
|
|
active: true
|
|
MultilineRawStringIndentation:
|
|
active: false
|
|
indentSize: 4
|
|
MultilineLambdaItParameter:
|
|
active: true
|
|
NestedClassesVisibility:
|
|
active: true
|
|
NewLineAtEndOfFile:
|
|
active: false
|
|
NoTabs:
|
|
active: true
|
|
NullableBooleanCheck:
|
|
active: true
|
|
ObjectLiteralToLambda:
|
|
active: true
|
|
OptionalAbstractKeyword:
|
|
active: true
|
|
OptionalUnit:
|
|
active: true
|
|
PreferToOverPairSyntax:
|
|
active: true
|
|
ProtectedMemberInFinalClass:
|
|
active: true
|
|
RedundantExplicitType:
|
|
active: true
|
|
RedundantHigherOrderMapUsage:
|
|
active: true
|
|
RedundantVisibilityModifierRule:
|
|
active: false
|
|
ReturnCount:
|
|
active: true
|
|
max: 6
|
|
excludedFunctions:
|
|
- 'equals'
|
|
excludeLabeled: true
|
|
excludeReturnFromLambda: true
|
|
excludeGuardClauses: true
|
|
SafeCast:
|
|
active: true
|
|
SerialVersionUIDInSerializableClass:
|
|
active: false
|
|
SpacingBetweenPackageAndImports:
|
|
active: true
|
|
StringShouldBeRawString:
|
|
active: false
|
|
ThrowsCount:
|
|
active: true
|
|
max: 10
|
|
excludeGuardClauses: true
|
|
TrailingWhitespace:
|
|
active: false
|
|
TrimMultilineRawString:
|
|
active: true
|
|
UnderscoresInNumericLiterals:
|
|
active: false
|
|
acceptableLength: 4
|
|
allowNonStandardGrouping: false
|
|
UnnecessaryAbstractClass:
|
|
active: true
|
|
UnnecessaryAnnotationUseSiteTarget:
|
|
active: true
|
|
UnnecessaryApply:
|
|
active: true
|
|
UnnecessaryBackticks:
|
|
active: true
|
|
UnnecessaryBracesAroundTrailingLambda:
|
|
active: true
|
|
UnnecessaryFilter:
|
|
active: true
|
|
UnnecessaryInheritance:
|
|
active: true
|
|
UnnecessaryInnerClass:
|
|
active: true
|
|
UnnecessaryLet:
|
|
active: true
|
|
UnnecessaryParentheses:
|
|
active: false
|
|
allowForUnclearPrecedence: true
|
|
UntilInsteadOfRangeTo:
|
|
active: true
|
|
UnusedImports:
|
|
active: true
|
|
UnusedParameter:
|
|
active: true
|
|
allowedNames: 'ignored|expected|_|session|startTime|endTime|xAxisFormatter'
|
|
UnusedPrivateClass:
|
|
active: true
|
|
UnusedPrivateMember:
|
|
active: true
|
|
allowedNames: '(_|ignored|expected|serialVersionUID)'
|
|
UnusedPrivateProperty:
|
|
active: true
|
|
allowedNames: '_|ignored|expected|serialVersionUID'
|
|
UseAnyOrNoneInsteadOfFind:
|
|
active: true
|
|
UseArrayLiteralsInAnnotations:
|
|
active: true
|
|
UseCheckNotNull:
|
|
active: true
|
|
UseCheckOrError:
|
|
active: true
|
|
UseDataClass:
|
|
active: false
|
|
UseEmptyCounterpart:
|
|
active: true
|
|
UseIfEmptyOrIfBlank:
|
|
active: true
|
|
UseIfInsteadOfWhen:
|
|
active: false
|
|
UseIsNullOrEmpty:
|
|
active: true
|
|
UseLet:
|
|
active: false
|
|
UseOrEmpty:
|
|
active: true
|
|
UseRequire:
|
|
active: true
|
|
UseRequireNotNull:
|
|
active: true
|
|
UseSumOfInsteadOfFlatMapSize:
|
|
active: true
|
|
UselessCallOnNotNull:
|
|
active: true
|
|
UtilityClassWithPublicConstructor:
|
|
active: true
|
|
VarCouldBeVal:
|
|
active: true
|
|
WildcardImport:
|
|
active: false
|
|
excludeImports:
|
|
- 'java.util.*'
|
|
- 'kotlinx.android.synthetic.*'
|