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.*'