build: maxIssues: 50 processors: active: true console-reports: active: true comments: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" AbsentOrWrongFileLicense: active: false CommentOverPrivateFunction: active: true CommentOverPrivateProperty: active: true EndOfSentenceFormat: active: true endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!]$) UndocumentedPublicClass: active: true searchInNestedClass: true searchInInnerClass: true searchInInnerObject: true searchInInnerInterface: true UndocumentedPublicFunction: active: true complexity: active: true ComplexCondition: active: true threshold: 4 ComplexInterface: active: true threshold: 10 includeStaticDeclarations: false ComplexMethod: active: true threshold: 10 ignoreSingleWhenExpression: false ignoreSimpleWhenEntries: false LabeledExpression: active: false ignoredLabels: "" LargeClass: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" threshold: 150 LongMethod: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" threshold: 30 LongParameterList: active: true constructorThreshold: 6 functionThreshold: 6 ignoreDefaultParameters: false MethodOverloading: active: false threshold: 6 NestedBlockDepth: active: true threshold: 4 StringLiteralDuplication: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" threshold: 3 ignoreAnnotation: true excludeStringsWithLessThan5Characters: true ignoreStringsRegex: '$^' TooManyFunctions: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" thresholdInFiles: 11 thresholdInClasses: 11 thresholdInInterfaces: 11 thresholdInObjects: 11 thresholdInEnums: 11 ignoreDeprecated: false ignorePrivate: false ignoreOverridden: false coroutines: active: true GlobalCoroutineUsage: active: true RedundantSuspendModifier: 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: 'toString,hashCode,equals,finalize' InstanceOfCheckForException: active: true NotImplementedDeclaration: active: false PrintStackTrace: active: true RethrowCaughtException: active: true ReturnFromFinally: active: true SwallowedException: active: true ignoredExceptionTypes: 'InterruptedException,NumberFormatException,ParseException,MalformedURLException' ThrowingExceptionFromFinally: active: true ThrowingExceptionInMain: active: true ThrowingExceptionsWithoutMessageOrCause: active: true exceptions: 'IllegalArgumentException,IllegalStateException,IOException' ThrowingNewInstanceOfSameException: active: true TooGenericExceptionCaught: active: true exceptionNames: - ArrayIndexOutOfBoundsException - Error - Exception - IllegalMonitorStateException - NullPointerException - IndexOutOfBoundsException - RuntimeException - Throwable TooGenericExceptionThrown: active: true exceptionNames: - Error - Exception - Throwable - RuntimeException naming: active: true ClassNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" classPattern: '[A-Z$][a-zA-Z0-9$]*' ConstructorParameterNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" parameterPattern: '[a-z][A-Za-z0-9]*' privateParameterPattern: '[a-z][A-Za-z0-9]*' excludeClassPattern: '$^' EnumNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*' ForbiddenClassName: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" forbiddenName: '' FunctionMaxLength: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" maximumFunctionNameLength: 30 FunctionMinLength: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" minimumFunctionNameLength: 3 FunctionNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' excludeClassPattern: '$^' ignoreOverridden: true FunctionParameterNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" parameterPattern: '[a-z][A-Za-z0-9]*' excludeClassPattern: '$^' ignoreOverridden: true InvalidPackageDeclaration: active: true rootPackage: '' MatchingDeclarationName: active: true MemberNameEqualsClassName: active: false ignoreOverridden: true ObjectPropertyNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" 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/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" packagePattern: '^[a-z]+(\.[a-z][A-Za-z0-9]*)*$' TopLevelPropertyNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" constantPattern: '[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/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" maximumVariableNameLength: 64 VariableMinLength: active: false excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" minimumVariableNameLength: 1 VariableNaming: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" 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/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" SpreadOperator: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" UnnecessaryTemporaryInstantiation: active: true potential-bugs: active: true DuplicateCaseInWhenExpression: active: true EqualsAlwaysReturnsTrueOrFalse: active: false EqualsWithHashCodeExist: active: true ExplicitGarbageCollectionCall: active: true IgnoredReturnValue: active: true ImplicitUnitReturnType: active: true InvalidRange: active: true IteratorHasNextCallsNextMethod: active: true IteratorNotThrowingNoSuchElementException: active: true LateinitUsage: active: false excludeAnnotatedProperties: "" ignoreOnClassesPattern: "" MapGetWithNotNullAssertionOperator: active: true MissingWhenCase: active: true UnconditionalJumpStatementInLoop: active: true UnnecessaryNotNullOperator: active: true UnnecessarySafeCall: active: true UnreachableCode: active: true UnsafeCallOnNullableType: active: true UnsafeCast: active: true UselessPostfixExpression: active: true WrongEqualsTypeParameter: active: true style: active: true CollapsibleIfStatements: active: true DataClassContainsFunctions: active: false conversionFunctionPrefix: 'to' DataClassShouldBeImmutable: active: false EqualsNullCall: active: true EqualsOnSignatureLine: active: true ExplicitCollectionElementAccessMethod: active: true ExplicitItLambdaParameter: active: true ExpressionBodySyntax: active: true includeLineWrapping: false ForbiddenComment: active: false values: 'FIXME:,STOPSHIP:' ForbiddenImport: active: true imports: '' ForbiddenMethodCall: active: false methods: '' ForbiddenPublicDataClass: active: false ignorePackages: '*.internal,*.internal.*' ForbiddenVoid: active: true ignoreOverridden: false FunctionOnlyReturningConstant: active: true ignoreOverridableFunction: true excludedFunctions: 'describeContents' LoopWithTooManyJumpStatements: active: true maxJumpCount: 1 MagicNumber: active: false ignoreNumbers: '-1,0,1,2' ignoreHashCodeFunction: true ignorePropertyDeclaration: false ignoreConstantDeclaration: true ignoreCompanionObjectPropertyDeclaration: true ignoreAnnotation: false ignoreNamedArgument: true ignoreEnums: false ignoreRanges: false MandatoryBracesIfStatements: active: true MandatoryBracesLoops: active: true MaxLineLength: active: true maxLineLength: 120 excludePackageStatements: true excludeImportStatements: true excludeCommentStatements: false MayBeConst: active: true ModifierOrder: active: true NestedClassesVisibility: active: true NewLineAtEndOfFile: active: true NoTabs: active: true OptionalAbstractKeyword: active: true OptionalUnit: active: true OptionalWhenBraces: active: true PreferToOverPairSyntax: active: true ProtectedMemberInFinalClass: active: true RedundantVisibilityModifierRule: active: true ReturnCount: active: true max: 2 excludedFunctions: "equals" excludeLabeled: false excludeReturnFromLambda: true SafeCast: active: true SerialVersionUIDInSerializableClass: active: true SpacingBetweenPackageAndImports: active: true ThrowsCount: active: true max: 2 TrailingWhitespace: active: true UnderscoresInNumericLiterals: active: false acceptableDecimalLength: 5 UnnecessaryAbstractClass: active: false excludeAnnotatedClasses: "dagger.Module" UnnecessaryAnnotationUseSiteTarget: active: true UnnecessaryApply: active: true UnnecessaryInheritance: active: true UnnecessaryLet: active: true UnnecessaryParentheses: active: true UntilInsteadOfRangeTo: active: true UnusedImports: active: true UnusedPrivateClass: active: true UnusedPrivateMember: active: true allowedNames: "(_|ignored|expected|serialVersionUID)" UseCheckOrError: active: true UseDataClass: active: true excludeAnnotatedClasses: "" UseRequire: active: true UselessCallOnNotNull: active: true UtilityClassWithPublicConstructor: active: true VarCouldBeVal: active: true WildcardImport: active: true excludes: "**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt" excludeImports: 'java.util.*,kotlinx.android.synthetic.*'