@ -1,5 +1,6 @@
build:
build:
maxIssues : 0
maxIssues : 0
excludeCorrectable : false
weights:
weights:
# complexity: 2
# complexity: 2
# LongParameterList: 1
# LongParameterList: 1
@ -9,11 +10,19 @@ build:
processors:
processors:
active : true
active : true
exclude:
exclude:
# - 'DetektProgressListener'
# - 'KtFileCountProcessor'
# - 'PackageCountProcessor'
# - 'ClassCountProcessor'
# - 'FunctionCountProcessor'
# - 'FunctionCountProcessor'
# - 'PropertyCountProcessor'
# - 'PropertyCountProcessor'
# - 'ClassCountProcessor'
# - 'ProjectComplexityProcessor'
# - 'PackageCountProcessor'
# - 'ProjectCognitiveComplexityProcessor'
# - 'KtFileCountProcessor'
# - 'ProjectLLOCProcessor'
# - 'ProjectCLOCProcessor'
# - 'ProjectLOCProcessor'
# - 'ProjectSLOCProcessor'
# - 'LicenseHeaderLoaderExtension'
console-reports:
console-reports:
active : true
active : true
@ -22,30 +31,37 @@ console-reports:
# - 'ComplexityReport'
# - 'ComplexityReport'
# - 'NotificationReport'
# - 'NotificationReport'
# - 'FindingsReport'
# - 'FindingsReport'
# - 'BuildFailureReport'
# - 'FileBasedFindingsReport'
# - 'HtmlOutputReport'
- 'LiteFindingsReport'
- 'PlainOutputReport'
- 'XmlOutputReport'
comments:
comments:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
AbsentOrWrongFileLicense:
AbsentOrWrongFileLicense:
active : true
active : false
licenseTemplateFile : 'license.template'
licenseTemplateIsRegex : false
CommentOverPrivateFunction:
CommentOverPrivateFunction:
active : false
active : false
CommentOverPrivateProperty:
CommentOverPrivateProperty:
active : false
active : false
DeprecatedBlockTag:
active : false
EndOfSentenceFormat:
EndOfSentenceFormat:
active : false
active : false
endOfSentenceFormat : ([.?!][ \t\n\r\f<])|([.?!]$)
endOfSentenceFormat : '([.?!][ \t\n\r\f<])|([.?!:]$)'
UndocumentedPublicClass :
OutdatedDocumentation :
active : false
active : false
matchTypeParameters : true
matchDeclarationsOrder : true
UndocumentedPublicClass:
active : true
searchInNestedClass : true
searchInNestedClass : true
searchInInnerClass : true
searchInInnerClass : true
searchInInnerObject : true
searchInInnerObject : true
searchInInnerInterface : true
searchInInnerInterface : true
UndocumentedPublicFunction:
UndocumentedPublicFunction:
active : true
UndocumentedPublicProperty:
active : false
active : false
complexity:
complexity:
@ -57,52 +73,83 @@ complexity:
active : false
active : false
threshold : 10
threshold : 10
includeStaticDeclarations : false
includeStaticDeclarations : false
includePrivateDeclarations : false
ComplexMethod:
ComplexMethod:
active : true
active : true
threshold : 1 5
threshold : 1 8
ignoreSingleWhenExpression : true
ignoreSingleWhenExpression : true
ignoreSimpleWhenEntries : false
ignoreNestingFunctions : false
nestingFunctions:
- 'also'
- 'apply'
- 'forEach'
- 'isNotNull'
- 'ifNull'
- 'let'
- 'run'
- 'use'
- 'with'
LabeledExpression:
LabeledExpression:
active : false
active : false
ignoredLabels : [ ]
LargeClass:
LargeClass:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
threshold : 600
# Had to increase the threshold as RC13 started counting lines of code
# https://github.com/mozilla-mobile/fenix/issues/4861
threshold : 200
LongMethod:
LongMethod:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
# Had to increase the threshold as RC13 started counting lines of code
# https://github.com/mozilla-mobile/fenix/issues/4861
threshold : 75
threshold : 75
LongParameterList:
LongParameterList:
active : true
active : true
excludes : "**/*Controller.kt, **/*Integration.kt"
functionThreshold : 6
functionThreshold : 6
constructorThreshold : 7
constructorThreshold : 7
ignoreDefaultParameters : fals e
ignoreDefaultParameters : tru e
ignoreDataClasses : true
ignoreDataClasses : true
ignoreAnnotatedParameter : [ ]
MethodOverloading:
MethodOverloading:
active : false
active : false
threshold : 6
threshold : 6
NamedArguments:
active : false
threshold : 3
NestedBlockDepth:
NestedBlockDepth:
active : true
active : true
threshold : 4
threshold : 4
ReplaceSafeCallChainWithRun:
active : false
StringLiteralDuplication:
StringLiteralDuplication:
active : false
active : false
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
threshold : 3
threshold : 3
ignoreAnnotation : true
ignoreAnnotation : true
excludeStringsWithLessThan5Characters : true
excludeStringsWithLessThan5Characters : true
ignoreStringsRegex : '$^'
ignoreStringsRegex : '$^'
TooManyFunctions:
TooManyFunctions:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
thresholdInFiles : 26
thresholdInFiles : 11
thresholdInClasses : 26
thresholdInClasses : 11
thresholdInInterfaces : 26
thresholdInInterfaces : 11
thresholdInObjects : 26
thresholdInObjects : 11
thresholdInEnums : 11
thresholdInEnums : 11
ignoreDeprecated : false
ignorePrivate : false
ignoreOverridden : false
coroutines:
active : true
GlobalCoroutineUsage:
active : false
InjectDispatcher:
active : false
dispatcherNames:
- 'IO'
- 'Default'
- 'Unconfined'
RedundantSuspendModifier:
active : false
SleepInsteadOfDelay:
active : false
SuspendFunWithFlowReturnType:
active : false
mozilla-detekt-rules:
mozilla-detekt-rules:
active : true
active : true
@ -111,15 +158,13 @@ mozilla-detekt-rules:
# BuildConfig.Debug: This property tests whether the application was built
# BuildConfig.Debug: This property tests whether the application was built
# with the debuggable flag or not. Use a check for different build variants,
# with the debuggable flag or not. Use a check for different build variants,
# instead.
# instead.
bannedProperties : "BuildConfig.DEBUG"
bannedProperties : 'BuildConfig.DEBUG'
MozillaStrictModeSuppression:
MozillaStrictModeSuppression:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
MozillaCorrectUnitTestRunner:
MozillaCorrectUnitTestRunner:
active : true
active : true
MozillaRunBlockingCheck:
MozillaRunBlockingCheck:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
MozillaUseLazyMonitored:
MozillaUseLazyMonitored:
active : true
active : true
@ -127,7 +172,7 @@ empty-blocks:
active : true
active : true
EmptyCatchBlock:
EmptyCatchBlock:
active : true
active : true
allowedExceptionNameRegex : "^(ignore|expected).*"
allowedExceptionNameRegex : '_|(ignore|expected).*'
EmptyClassBlock:
EmptyClassBlock:
active : true
active : true
EmptyDefaultConstructor:
EmptyDefaultConstructor:
@ -142,7 +187,7 @@ empty-blocks:
active : true
active : true
EmptyFunctionBlock:
EmptyFunctionBlock:
active : true
active : true
excludes: "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
ignoreOverridden: false
EmptyIfBlock:
EmptyIfBlock:
active : true
active : true
EmptyInitBlock:
EmptyInitBlock:
@ -151,6 +196,8 @@ empty-blocks:
active : true
active : true
EmptySecondaryConstructor:
EmptySecondaryConstructor:
active : true
active : true
EmptyTryBlock:
active : true
EmptyWhenBlock:
EmptyWhenBlock:
active : true
active : true
EmptyWhileBlock:
EmptyWhileBlock:
@ -160,61 +207,90 @@ exceptions:
active : true
active : true
ExceptionRaisedInUnexpectedLocation:
ExceptionRaisedInUnexpectedLocation:
active : false
active : false
methodNames : 'toString,hashCode,equals,finalize'
methodNames:
- 'equals'
- 'finalize'
- 'hashCode'
- 'toString'
InstanceOfCheckForException:
InstanceOfCheckForException:
active : false
active : false
NotImplementedDeclaration:
NotImplementedDeclaration:
active : false
active : false
PrintStackTrac e:
ObjectExtendsThrowabl e:
active : false
active : false
PrintStackTrace:
active : true
RethrowCaughtException:
RethrowCaughtException:
active : false
active : false
ReturnFromFinally:
ReturnFromFinally:
active : false
active : true
ignoreLabeled : false
SwallowedException:
SwallowedException:
active : false
active : false
ignoredExceptionTypes:
- 'InterruptedException'
- 'MalformedURLException'
- 'NumberFormatException'
- 'ParseException'
allowedExceptionNameRegex : '_|(ignore|expected).*'
ThrowingExceptionFromFinally:
ThrowingExceptionFromFinally:
active : false
active : tru e
ThrowingExceptionInMain:
ThrowingExceptionInMain:
active : false
active : false
ThrowingExceptionsWithoutMessageOrCause:
ThrowingExceptionsWithoutMessageOrCause:
active : false
active : false
exceptions : 'IllegalArgumentException,IllegalStateException,IOException'
exceptions:
- 'ArrayIndexOutOfBoundsException'
- 'Exception'
- 'IllegalArgumentException'
- 'IllegalMonitorStateException'
- 'IllegalStateException'
- 'IndexOutOfBoundsException'
- 'NullPointerException'
- 'RuntimeException'
- 'Throwable'
ThrowingNewInstanceOfSameException:
ThrowingNewInstanceOfSameException:
active : false
active : tru e
TooGenericExceptionCaught:
TooGenericExceptionCaught:
active : true
active : true
exceptionNames:
exceptionNames:
- ArrayIndexOutOfBoundsException
- 'ArrayIndexOutOfBoundsException'
- Error
- 'Error'
- Exception
- 'Exception'
- IllegalMonitorStateException
- 'IllegalMonitorStateException'
- NullPointerException
- 'IndexOutOfBoundsException'
- IndexOutOfBoundsException
- 'NullPointerException'
- RuntimeException
- 'RuntimeException'
- Throwable
- 'Throwable'
allowedExceptionNameRegex : '_|(ignore|expected).*'
TooGenericExceptionThrown:
TooGenericExceptionThrown:
active : true
active : true
exceptionNames:
exceptionNames:
- Error
- 'Error'
- Exception
- 'Exception'
- Throwable
- 'RuntimeException'
- RuntimeException
- 'Throwable'
formatting:
autoCorrect : true
naming:
naming:
active : true
active : true
BooleanPropertyNaming:
active : false
allowedPattern : '^(is|has|are)'
ClassNaming:
ClassNaming:
active : true
active : true
classPattern : '[A-Z$][a-zA-Z0-9$]*'
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:
EnumNaming:
active : true
active : true
enumEntryPattern : '^[A-Z][_a-zA-Z0-9]*'
enumEntryPattern : ' [A-Z][_a-zA-Z0-9]*'
ForbiddenClassName:
ForbiddenClassName:
active : false
active : false
forbiddenName : ''
forbiddenName : [ ]
FunctionMaxLength:
FunctionMaxLength:
active : false
active : false
maximumFunctionNameLength : 30
maximumFunctionNameLength : 30
@ -223,25 +299,44 @@ naming:
minimumFunctionNameLength : 3
minimumFunctionNameLength : 3
FunctionNaming:
FunctionNaming:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
functionPattern : '([a-z][a-zA-Z0-9]*)|(`.*`)'
functionPattern : '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$'
excludeClassPattern : '$^'
ignoreOverridden : true
ignoreAnnotated : [ 'Composable' ]
FunctionParameterNaming:
active : true
parameterPattern : '[a-z][A-Za-z0-9]*'
excludeClassPattern : '$^'
excludeClassPattern : '$^'
ignoreOverridden : true
InvalidPackageDeclaration:
active : false
rootPackage : ''
LambdaParameterNaming:
active : false
parameterPattern : '[a-z][A-Za-z0-9]*|_'
MatchingDeclarationName:
MatchingDeclarationName:
active : true
active : true
mustBeFirst : true
MemberNameEqualsClassName:
MemberNameEqualsClassName:
active : false
active : false
ignoreOverridden : true
ignoreOverridden : true
NoNameShadowing:
active : false
NonBooleanPropertyPrefixedWithIs:
active : false
ObjectPropertyNaming:
ObjectPropertyNaming:
active : true
active : true
constantPattern : '[A-Za-z][_A-Za-z0-9]*'
propertyPattern : '[A-Za-z][_A-Za-z0-9]*'
propertyPattern : '[A-Za-z][_A-Za-z0-9]*'
privatePropertyPattern : '(_)?[A-Za-z][_A-Za-z0-9]*'
PackageNaming:
PackageNaming:
active : true
active : true
packagePattern : ' ^ [a-z]+(\.[a-z][a-z0-9]*)*$ '
packagePattern : ' [a-z]+(\.[a-z][A-Z a-z0-9]*)*'
TopLevelPropertyNaming:
TopLevelPropertyNaming:
active : true
active : true
constantPattern : '[A-Z][_A-Z0-9]*'
constantPattern : '[A-Z][_A-Z0-9]*'
propertyPattern : '[ a-z][A-Za-z\d ]*'
propertyPattern : '[ A-Za-z][_A-Za-z0-9 ]*'
privatePropertyPattern : ' ( _) ?[a-z][A-Za-z0-9]*'
privatePropertyPattern : ' _?[A-Z a-z][_ A-Za-z0-9]*'
VariableMaxLength:
VariableMaxLength:
active : false
active : false
maximumVariableNameLength : 64
maximumVariableNameLength : 64
@ -253,130 +348,256 @@ naming:
variablePattern : '[a-z][A-Za-z0-9]*'
variablePattern : '[a-z][A-Za-z0-9]*'
privateVariablePattern : '(_)?[a-z][A-Za-z0-9]*'
privateVariablePattern : '(_)?[a-z][A-Za-z0-9]*'
excludeClassPattern : '$^'
excludeClassPattern : '$^'
ignoreOverridden : true
performance:
performance:
active : true
active : true
ArrayPrimitive:
active : true
ForEachOnRange:
ForEachOnRange:
active : true
active : true
SpreadOperator:
SpreadOperator:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
UnnecessaryTemporaryInstantiation:
UnnecessaryTemporaryInstantiation:
active : true
active : true
potential-bugs:
potential-bugs:
active : true
active : true
AvoidReferentialEquality:
active : false
forbiddenTypePatterns:
- 'kotlin.String'
CastToNullableType:
active : false
Deprecation:
active : false
DontDowncastCollectionTypes:
active : false
DoubleMutabilityForCollection:
active : false
DuplicateCaseInWhenExpression:
DuplicateCaseInWhenExpression:
active : true
active : true
EqualsAlwaysReturnsTrueOrFalse:
EqualsAlwaysReturnsTrueOrFalse:
active : false
active : tru e
EqualsWithHashCodeExist:
EqualsWithHashCodeExist:
active : true
active : true
ExitOutsideMain:
active : false
ExplicitGarbageCollectionCall:
ExplicitGarbageCollectionCall:
active : true
active : true
InvalidRange:
HasPlatformTyp e:
active : false
active : false
IteratorHasNextCallsNextMethod:
I gnoredReturnValue :
active : false
active : false
IteratorNotThrowingNoSuchElementException:
restrictToAnnotatedMethods : true
returnValueAnnotations:
- '*.CheckResult'
- '*.CheckReturnValue'
ignoreReturnValueAnnotations:
- '*.CanIgnoreReturnValue'
ImplicitDefaultLocale:
active : false
active : false
ImplicitUnitReturnType:
active : false
allowExplicitReturnType : true
InvalidRange:
active : true
IteratorHasNextCallsNextMethod:
active : true
IteratorNotThrowingNoSuchElementException:
active : true
LateinitUsage:
LateinitUsage:
active : false
active : false
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
ignoreOnClassesPattern : ''
excludeAnnotatedProperties : ""
MapGetWithNotNullAssertionOperator:
ignoreOnClassesPattern : ""
active : false
MissingPackageDeclaration:
active : false
excludes : [ '**/*.kts' ]
MissingWhenCase:
active : true
allowElseExpression : true
NullableToStringCall:
active : false
RedundantElseInWhen:
active : true
UnconditionalJumpStatementInLoop:
UnconditionalJumpStatementInLoop:
active : false
active : false
UnnecessaryNotNullOperator:
active : true
UnnecessarySafeCall:
active : true
UnreachableCatchBlock:
active : false
UnreachableCode:
UnreachableCode:
active : true
active : true
UnsafeCallOnNullableType:
UnsafeCallOnNullableType:
active : false
active : tru e
UnsafeCast:
UnsafeCast:
active : true
UnusedUnaryOperator:
active : false
active : false
UselessPostfixExpression:
UselessPostfixExpression:
active : false
active : false
WrongEqualsTypeParameter:
WrongEqualsTypeParameter:
active : fals e
active : tru e
style:
style:
active : true
active : true
ClassOrdering:
active : false
CollapsibleIfStatements:
CollapsibleIfStatements:
active : true
active : true
DataClassContainsFunctions:
DataClassContainsFunctions:
active : false
active : false
conversionFunctionPrefix : 'to'
conversionFunctionPrefix : 'to'
DataClassShouldBeImmutable:
active : false
DestructuringDeclarationWithTooManyEntries:
active : false
maxDestructuringEntries : 3
EqualsNullCall:
EqualsNullCall:
active : true
EqualsOnSignatureLine:
active : false
ExplicitCollectionElementAccessMethod:
active : false
ExplicitItLambdaParameter:
active : false
active : false
ExpressionBodySyntax:
ExpressionBodySyntax:
active : false
active : false
includeLineWrapping : false
ForbiddenComment:
ForbiddenComment:
active : true
active : true
values : 'TODO:,FIXME:,STOPSHIP:'
values:
- 'FIXME:'
- 'STOPSHIP:'
- 'TODO:'
allowedPatterns : ''
customMessage : ''
ForbiddenImport:
ForbiddenImport:
active : false
active : false
imports : ''
imports : [ ]
FunctionOnlyReturningConstant:
forbiddenPatterns : ''
ForbiddenMethodCall:
active : false
active : false
methods:
- 'kotlin.io.print'
- 'kotlin.io.println'
ForbiddenPublicDataClass:
active : true
excludes : [ '**' ]
ignorePackages:
- '*.internal'
- '*.internal.*'
ForbiddenVoid:
active : false
ignoreOverridden : false
ignoreUsageInGenerics : false
FunctionOnlyReturningConstant:
active : true
ignoreOverridableFunction : true
ignoreOverridableFunction : true
excludedFunctions : 'describeContents'
ignoreActualFunction : true
excludedFunctions : ''
LibraryCodeMustSpecifyReturnType:
active : true
excludes : [ '**' ]
LibraryEntitiesShouldNotBePublic:
active : true
excludes : [ '**' ]
LoopWithTooManyJumpStatements:
LoopWithTooManyJumpStatements:
active : false
active : false
maxJumpCount : 1
maxJumpCount : 1
MagicNumber:
MagicNumber:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
ignoreNumbers:
ignoreNumbers : '-1,0,1,2'
- '-1'
ignoreHashCodeFunction : false
- '0'
ignorePropertyDeclaration : false
- '1'
- '2'
ignoreHashCodeFunction : true
ignorePropertyDeclaration : true
ignoreLocalVariableDeclaration : false
ignoreConstantDeclaration : true
ignoreConstantDeclaration : true
ignoreCompanionObjectPropertyDeclaration : true
ignoreCompanionObjectPropertyDeclaration : true
ignoreAnnotation : false
ignoreAnnotation : false
ignoreNamedArgument : true
ignoreNamedArgument : true
ignoreEnums : false
ignoreEnums : false
ignoreRanges : false
ignoreExtensionFunctions : true
MandatoryBracesIfStatements:
active : true
MandatoryBracesLoops:
active : false
MaxLineLength:
MaxLineLength:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
maxLineLength : 120
maxLineLength : 120
excludePackageStatements : false
excludePackageStatements : true
excludeImportStatements : false
excludeImportStatements : true
excludeCommentStatements : false
MayBeConst:
MayBeConst:
active : true
active : true
ModifierOrder:
ModifierOrder:
active : true
active : true
NestedClassesVisibility :
MultilineLambdaItParameter :
active : false
active : false
NestedClassesVisibility:
active : true
NewLineAtEndOfFile:
NewLineAtEndOfFile:
active : true
active : true
NoTabs:
NoTabs:
active : true
active : true
ObjectLiteralToLambda:
active : false
OptionalAbstractKeyword:
OptionalAbstractKeyword:
active : true
active : true
OptionalUnit:
OptionalUnit:
active : false
active : false
OptionalWhenBraces:
OptionalWhenBraces:
active : false
active : false
PreferToOverPairSyntax:
active : false
ProtectedMemberInFinalClass:
ProtectedMemberInFinalClass:
active : true
RedundantExplicitType:
active : false
RedundantHigherOrderMapUsage:
active : false
active : false
RedundantVisibilityModifierRule:
RedundantVisibilityModifierRule:
active : false
active : false
ReturnCount:
ReturnCount:
active : true
active : true
max : 3
max : 3
excludedFunctions : "equals"
excludedFunctions : 'equals'
excludeLabeled : false
excludeReturnFromLambda : true
excludeGuardClauses : false
SafeCast:
SafeCast:
active : true
active : true
SerialVersionUIDInSerializableClass:
SerialVersionUIDInSerializableClass:
active : fals e
active : tru e
SpacingBetweenPackageAndImports:
SpacingBetweenPackageAndImports:
active : true
active : true
ThrowsCount:
ThrowsCount:
active : true
active : true
max : 2
max : 2
excludeGuardClauses : false
TrailingWhitespace:
TrailingWhitespace:
active : false
active : false
UnderscoresInNumericLiterals:
active : false
acceptableLength : 4
UnnecessaryAbstractClass:
UnnecessaryAbstractClass:
active : true
active : true
UnnecessaryAnnotationUseSiteTarget:
active : false
UnnecessaryApply:
active : true
UnnecessaryFilter:
active : false
UnnecessaryInheritance:
UnnecessaryInheritance:
active : true
UnnecessaryLet:
active : false
active : false
UnnecessaryParentheses:
UnnecessaryParentheses:
active : false
active : false
@ -384,14 +605,44 @@ style:
active : false
active : false
UnusedImports:
UnusedImports:
active : false
active : false
UnusedPrivateClass:
active : true
UnusedPrivateMember:
UnusedPrivateMember:
active : true
allowedNames : '(_|ignored|expected|serialVersionUID)'
ignoreAnnotated : [ 'Composable' ]
UseAnyOrNoneInsteadOfFind:
active : false
UseArrayLiteralsInAnnotations:
active : false
UseCheckNotNull:
active : true
UseCheckOrError:
active : false
active : false
UseDataClass:
UseDataClass:
active : false
active : false
excludeAnnotatedClasses : ""
allowVars : false
UtilityClassWithPublicConstructor:
UseEmptyCounterpart:
active : false
UseIfEmptyOrIfBlank:
active : false
UseIfInsteadOfWhen:
active : false
UseIsNullOrEmpty:
active : false
active : false
UseOrEmpty:
active : true
UseRequire:
active : true
UseRequireNotNull:
active : true
UselessCallOnNotNull:
active : true
UtilityClassWithPublicConstructor:
active : true
VarCouldBeVal:
active : true
WildcardImport:
WildcardImport:
active : true
active : true
excludes : "**/*Test.kt, **/*Spec.kt, **/test/**, **/androidTest/**"
excludeImports:
excludeImports : 'java.util.*'
- 'java.util.*'