2024-03-20 16:30:59 +00:00
|
|
|
build:
|
|
|
|
|
maxIssues: 0
|
|
|
|
|
excludeCorrectable: false
|
|
|
|
|
weights:
|
2024-08-08 12:23:43 +00:00
|
|
|
# complexity: 2
|
|
|
|
|
# LongParameterList: 1
|
|
|
|
|
# style: 1
|
|
|
|
|
# comments: 1
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
config:
|
|
|
|
|
validation: true
|
|
|
|
|
warningsAsErrors: false
|
2024-08-08 12:23:43 +00:00
|
|
|
checkExhaustiveness: false
|
2024-03-20 16:30:59 +00:00
|
|
|
# when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]'
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes: ""
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
processors:
|
|
|
|
|
active: true
|
|
|
|
|
exclude:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "DetektProgressListener"
|
2024-03-20 16:30:59 +00:00
|
|
|
# - 'KtFileCountProcessor'
|
|
|
|
|
# - 'PackageCountProcessor'
|
|
|
|
|
# - 'ClassCountProcessor'
|
|
|
|
|
# - 'FunctionCountProcessor'
|
|
|
|
|
# - 'PropertyCountProcessor'
|
|
|
|
|
# - 'ProjectComplexityProcessor'
|
|
|
|
|
# - 'ProjectCognitiveComplexityProcessor'
|
|
|
|
|
# - 'ProjectLLOCProcessor'
|
|
|
|
|
# - 'ProjectCLOCProcessor'
|
|
|
|
|
# - 'ProjectLOCProcessor'
|
|
|
|
|
# - 'ProjectSLOCProcessor'
|
|
|
|
|
# - 'LicenseHeaderLoaderExtension'
|
|
|
|
|
|
|
|
|
|
console-reports:
|
|
|
|
|
active: true
|
|
|
|
|
exclude:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "ProjectStatisticsReport"
|
|
|
|
|
- "ComplexityReport"
|
|
|
|
|
- "NotificationReport"
|
|
|
|
|
- "FindingsReport"
|
|
|
|
|
- "FileBasedFindingsReport"
|
|
|
|
|
# - 'LiteFindingsReport'
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
output-reports:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
exclude: []
|
2024-03-20 16:30:59 +00:00
|
|
|
# - 'TxtOutputReport'
|
|
|
|
|
# - 'XmlOutputReport'
|
|
|
|
|
# - 'HtmlOutputReport'
|
2024-08-08 12:23:43 +00:00
|
|
|
# - 'MdOutputReport'
|
|
|
|
|
# - 'SarifOutputReport'
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
comments:
|
|
|
|
|
active: true
|
|
|
|
|
AbsentOrWrongFileLicense:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
licenseTemplateFile: "license.template"
|
2024-03-20 16:30:59 +00:00
|
|
|
licenseTemplateIsRegex: false
|
|
|
|
|
CommentOverPrivateFunction:
|
|
|
|
|
active: false
|
|
|
|
|
CommentOverPrivateProperty:
|
|
|
|
|
active: false
|
|
|
|
|
DeprecatedBlockTag:
|
|
|
|
|
active: false
|
|
|
|
|
EndOfSentenceFormat:
|
|
|
|
|
active: false
|
|
|
|
|
endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
|
2024-08-08 12:23:43 +00:00
|
|
|
KDocReferencesNonPublicProperty:
|
|
|
|
|
active: false
|
|
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
OutdatedDocumentation:
|
|
|
|
|
active: false
|
|
|
|
|
matchTypeParameters: true
|
|
|
|
|
matchDeclarationsOrder: true
|
|
|
|
|
allowParamOnConstructorProperties: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UndocumentedPublicClass:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
searchInNestedClass: true
|
|
|
|
|
searchInInnerClass: true
|
|
|
|
|
searchInInnerObject: true
|
|
|
|
|
searchInInnerInterface: true
|
2024-08-08 12:23:43 +00:00
|
|
|
searchInProtectedClass: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UndocumentedPublicFunction:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
searchProtectedFunction: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UndocumentedPublicProperty:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
searchProtectedProperty: false
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
complexity:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
CognitiveComplexMethod:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 15
|
2024-03-20 16:30:59 +00:00
|
|
|
ComplexCondition:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
threshold: 4
|
2024-03-20 16:30:59 +00:00
|
|
|
ComplexInterface:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 10
|
|
|
|
|
includeStaticDeclarations: false
|
|
|
|
|
includePrivateDeclarations: false
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreOverloaded: false
|
|
|
|
|
CyclomaticComplexMethod:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
threshold: 15
|
|
|
|
|
ignoreSingleWhenExpression: false
|
|
|
|
|
ignoreSimpleWhenEntries: false
|
|
|
|
|
ignoreNestingFunctions: false
|
|
|
|
|
nestingFunctions:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "also"
|
|
|
|
|
- "apply"
|
|
|
|
|
- "forEach"
|
|
|
|
|
- "isNotNull"
|
|
|
|
|
- "ifNull"
|
|
|
|
|
- "let"
|
|
|
|
|
- "run"
|
|
|
|
|
- "use"
|
|
|
|
|
- "with"
|
2024-03-20 16:30:59 +00:00
|
|
|
LabeledExpression:
|
|
|
|
|
active: false
|
|
|
|
|
ignoredLabels: []
|
|
|
|
|
LargeClass:
|
|
|
|
|
active: true
|
|
|
|
|
threshold: 600
|
|
|
|
|
LongMethod:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
threshold: 150 #60
|
2024-03-20 16:30:59 +00:00
|
|
|
LongParameterList:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
# Updating Common values based on current scenario
|
|
|
|
|
functionThreshold: 20 #6
|
|
|
|
|
constructorThreshold: 30 #7
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreDefaultParameters: false
|
|
|
|
|
ignoreDataClasses: true
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreAnnotatedParameter: []
|
2024-03-20 16:30:59 +00:00
|
|
|
MethodOverloading:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 6
|
|
|
|
|
NamedArguments:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 3
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreArgumentsMatchingNames: false
|
2024-03-20 16:30:59 +00:00
|
|
|
NestedBlockDepth:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
threshold: 4
|
|
|
|
|
NestedScopeFunctions:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 1
|
|
|
|
|
functions:
|
|
|
|
|
- "kotlin.apply"
|
|
|
|
|
- "kotlin.run"
|
|
|
|
|
- "kotlin.with"
|
|
|
|
|
- "kotlin.let"
|
|
|
|
|
- "kotlin.also"
|
2024-03-20 16:30:59 +00:00
|
|
|
ReplaceSafeCallChainWithRun:
|
|
|
|
|
active: false
|
|
|
|
|
StringLiteralDuplication:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
threshold: 3
|
|
|
|
|
ignoreAnnotation: true
|
|
|
|
|
excludeStringsWithLessThan5Characters: true
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreStringsRegex: "$^"
|
2024-03-20 16:30:59 +00:00
|
|
|
TooManyFunctions:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
# Modifying default values 11 to 20
|
|
|
|
|
thresholdInFiles: 20
|
|
|
|
|
thresholdInClasses: 20
|
|
|
|
|
thresholdInInterfaces: 20
|
|
|
|
|
thresholdInObjects: 20
|
|
|
|
|
thresholdInEnums: 20
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreDeprecated: false
|
|
|
|
|
ignorePrivate: false
|
|
|
|
|
ignoreOverridden: false
|
|
|
|
|
|
|
|
|
|
coroutines:
|
|
|
|
|
active: true
|
|
|
|
|
GlobalCoroutineUsage:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
InjectDispatcher:
|
|
|
|
|
active: true
|
|
|
|
|
dispatcherNames:
|
|
|
|
|
- "IO"
|
|
|
|
|
- "Default"
|
|
|
|
|
- "Unconfined"
|
2024-03-20 16:30:59 +00:00
|
|
|
RedundantSuspendModifier:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
SleepInsteadOfDelay:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
SuspendFunSwallowedCancellation:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
SuspendFunWithCoroutineScopeReceiver:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
SuspendFunWithFlowReturnType:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
empty-blocks:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyCatchBlock:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
allowedExceptionNameRegex: "_|(ignore|expected).*"
|
2024-03-20 16:30:59 +00:00
|
|
|
EmptyClassBlock:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyDefaultConstructor:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyDoWhileBlock:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyElseBlock:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyFinallyBlock:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyForBlock:
|
|
|
|
|
active: true
|
|
|
|
|
EmptyFunctionBlock:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: false # Turning off for current implementation
|
2024-03-20 16:30:59 +00:00
|
|
|
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:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "equals"
|
|
|
|
|
- "finalize"
|
|
|
|
|
- "hashCode"
|
|
|
|
|
- "toString"
|
2024-03-20 16:30:59 +00:00
|
|
|
InstanceOfCheckForException:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
NotImplementedDeclaration:
|
|
|
|
|
active: false
|
|
|
|
|
ObjectExtendsThrowable:
|
|
|
|
|
active: false
|
|
|
|
|
PrintStackTrace:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
RethrowCaughtException:
|
|
|
|
|
active: true
|
|
|
|
|
ReturnFromFinally:
|
|
|
|
|
active: true
|
|
|
|
|
ignoreLabeled: false
|
|
|
|
|
SwallowedException:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: false # Turning off for current implementation
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoredExceptionTypes:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "InterruptedException"
|
|
|
|
|
- "MalformedURLException"
|
|
|
|
|
- "NumberFormatException"
|
|
|
|
|
- "ParseException"
|
|
|
|
|
allowedExceptionNameRegex: "_|(ignore|expected).*"
|
2024-03-20 16:30:59 +00:00
|
|
|
ThrowingExceptionFromFinally:
|
|
|
|
|
active: true
|
|
|
|
|
ThrowingExceptionInMain:
|
|
|
|
|
active: false
|
|
|
|
|
ThrowingExceptionsWithoutMessageOrCause:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
exceptions:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "ArrayIndexOutOfBoundsException"
|
|
|
|
|
- "Exception"
|
|
|
|
|
- "IllegalArgumentException"
|
|
|
|
|
- "IllegalMonitorStateException"
|
|
|
|
|
- "IllegalStateException"
|
|
|
|
|
- "IndexOutOfBoundsException"
|
|
|
|
|
- "NullPointerException"
|
|
|
|
|
- "RuntimeException"
|
|
|
|
|
- "Throwable"
|
2024-03-20 16:30:59 +00:00
|
|
|
ThrowingNewInstanceOfSameException:
|
|
|
|
|
active: true
|
|
|
|
|
TooGenericExceptionCaught:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
exceptionNames:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "ArrayIndexOutOfBoundsException"
|
|
|
|
|
- "Error"
|
|
|
|
|
- "Exception"
|
|
|
|
|
- "IllegalMonitorStateException"
|
|
|
|
|
- "IndexOutOfBoundsException"
|
|
|
|
|
- "NullPointerException"
|
|
|
|
|
- "RuntimeException"
|
|
|
|
|
- "Throwable"
|
|
|
|
|
allowedExceptionNameRegex: "_|(ignore|expected).*"
|
2024-03-20 16:30:59 +00:00
|
|
|
TooGenericExceptionThrown:
|
|
|
|
|
active: false
|
|
|
|
|
exceptionNames:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "Error"
|
|
|
|
|
- "Exception"
|
|
|
|
|
- "RuntimeException"
|
|
|
|
|
- "Throwable"
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
naming:
|
|
|
|
|
active: true
|
|
|
|
|
BooleanPropertyNaming:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
allowedPattern: "^(is|has|are)"
|
2024-03-20 16:30:59 +00:00
|
|
|
ClassNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
classPattern: "[A-Z][a-zA-Z0-9]*"
|
2024-03-20 16:30:59 +00:00
|
|
|
ConstructorParameterNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
parameterPattern: "[a-z][A-Za-z0-9]*"
|
|
|
|
|
privateParameterPattern: "[a-z][A-Za-z0-9]*"
|
|
|
|
|
excludeClassPattern: "$^"
|
2024-03-20 16:30:59 +00:00
|
|
|
EnumNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
enumEntryPattern: "[A-Z][_a-zA-Z0-9]*"
|
2024-03-20 16:30:59 +00:00
|
|
|
ForbiddenClassName:
|
|
|
|
|
active: false
|
|
|
|
|
forbiddenName: []
|
|
|
|
|
FunctionMaxLength:
|
|
|
|
|
active: false
|
|
|
|
|
maximumFunctionNameLength: 30
|
|
|
|
|
FunctionMinLength:
|
|
|
|
|
active: false
|
|
|
|
|
minimumFunctionNameLength: 3
|
|
|
|
|
FunctionNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
2025-07-30 07:50:26 +00:00
|
|
|
"**/generated/**",
|
2024-08-08 12:23:43 +00:00
|
|
|
]
|
|
|
|
|
functionPattern: "[a-z][a-zA-Z0-9]*"
|
|
|
|
|
excludeClassPattern: "$^"
|
|
|
|
|
ignoreAnnotated: ["Composable"]
|
2024-03-20 16:30:59 +00:00
|
|
|
FunctionParameterNaming:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
parameterPattern: "[a-z][A-Za-z0-9]*"
|
|
|
|
|
excludeClassPattern: "$^"
|
2024-03-20 16:30:59 +00:00
|
|
|
InvalidPackageDeclaration:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
rootPackage: ""
|
|
|
|
|
requireRootInDeclaration: false
|
|
|
|
|
LambdaParameterNaming:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
parameterPattern: "[a-z][A-Za-z0-9]*|_"
|
2024-03-20 16:30:59 +00:00
|
|
|
MatchingDeclarationName:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
mustBeFirst: true
|
2025-07-30 07:50:26 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/*.android.*",
|
|
|
|
|
"**/*.desktop.*",
|
|
|
|
|
"**/*.js.*",
|
|
|
|
|
"**/*.native.*",
|
|
|
|
|
"**/*.jvm.*",
|
|
|
|
|
"**/*.linux.*",
|
|
|
|
|
"**/*.macos.*",
|
|
|
|
|
"**/*.wasmJs.*",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
MemberNameEqualsClassName:
|
|
|
|
|
active: true
|
|
|
|
|
ignoreOverridden: true
|
|
|
|
|
NoNameShadowing:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
NonBooleanPropertyPrefixedWithIs:
|
|
|
|
|
active: false
|
|
|
|
|
ObjectPropertyNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
constantPattern: "[A-Za-z][_A-Za-z0-9]*"
|
|
|
|
|
propertyPattern: "[A-Za-z][_A-Za-z0-9]*"
|
|
|
|
|
privatePropertyPattern: "(_)?[A-Za-z][_A-Za-z0-9]*"
|
2024-03-20 16:30:59 +00:00
|
|
|
PackageNaming:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*'
|
2025-07-30 07:50:26 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/generated/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
TopLevelPropertyNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
constantPattern: "[A-Z][_A-Z0-9]*"
|
|
|
|
|
propertyPattern: "[A-Za-z][_A-Za-z0-9]*"
|
|
|
|
|
privatePropertyPattern: "_?[A-Za-z][_A-Za-z0-9]*"
|
2024-03-20 16:30:59 +00:00
|
|
|
VariableMaxLength:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
maximumVariableNameLength: 100 #64
|
2024-03-20 16:30:59 +00:00
|
|
|
VariableMinLength:
|
|
|
|
|
active: false
|
|
|
|
|
minimumVariableNameLength: 1
|
|
|
|
|
VariableNaming:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
variablePattern: "[a-z][A-Za-z0-9]*"
|
|
|
|
|
privateVariablePattern: "(_)?[a-z][A-Za-z0-9]*"
|
|
|
|
|
excludeClassPattern: "$^"
|
2024-03-20 16:30:59 +00:00
|
|
|
|
|
|
|
|
performance:
|
|
|
|
|
active: true
|
|
|
|
|
ArrayPrimitive:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
CouldBeSequence:
|
|
|
|
|
active: false
|
|
|
|
|
threshold: 3
|
2024-03-20 16:30:59 +00:00
|
|
|
ForEachOnRange:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
SpreadOperator:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
UnnecessaryPartOfBinaryExpression:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UnnecessaryTemporaryInstantiation:
|
|
|
|
|
active: true
|
|
|
|
|
|
|
|
|
|
potential-bugs:
|
|
|
|
|
active: true
|
|
|
|
|
AvoidReferentialEquality:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
forbiddenTypePatterns:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "kotlin.String"
|
|
|
|
|
CastNullableToNonNullableType:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
CastToNullableType:
|
|
|
|
|
active: false
|
|
|
|
|
Deprecation:
|
|
|
|
|
active: false
|
|
|
|
|
DontDowncastCollectionTypes:
|
|
|
|
|
active: false
|
|
|
|
|
DoubleMutabilityForCollection:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
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"
|
|
|
|
|
ElseCaseInsteadOfExhaustiveWhen:
|
|
|
|
|
active: false
|
|
|
|
|
ignoredSubjectTypes: []
|
2024-03-20 16:30:59 +00:00
|
|
|
EqualsAlwaysReturnsTrueOrFalse:
|
|
|
|
|
active: true
|
|
|
|
|
EqualsWithHashCodeExist:
|
|
|
|
|
active: true
|
|
|
|
|
ExitOutsideMain:
|
|
|
|
|
active: false
|
|
|
|
|
ExplicitGarbageCollectionCall:
|
|
|
|
|
active: true
|
|
|
|
|
HasPlatformType:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
IgnoredReturnValue:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
restrictToConfig: true
|
2024-03-20 16:30:59 +00:00
|
|
|
returnValueAnnotations:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "CheckResult"
|
|
|
|
|
- "*.CheckResult"
|
|
|
|
|
- "CheckReturnValue"
|
|
|
|
|
- "*.CheckReturnValue"
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreReturnValueAnnotations:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "CanIgnoreReturnValue"
|
|
|
|
|
- "*.CanIgnoreReturnValue"
|
|
|
|
|
returnValueTypes:
|
|
|
|
|
- "kotlin.sequences.Sequence"
|
|
|
|
|
- "kotlinx.coroutines.flow.*Flow"
|
|
|
|
|
- "java.util.stream.*Stream"
|
|
|
|
|
ignoreFunctionCall: []
|
2024-03-20 16:30:59 +00:00
|
|
|
ImplicitDefaultLocale:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
ImplicitUnitReturnType:
|
|
|
|
|
active: false
|
|
|
|
|
allowExplicitReturnType: true
|
|
|
|
|
InvalidRange:
|
|
|
|
|
active: true
|
|
|
|
|
IteratorHasNextCallsNextMethod:
|
|
|
|
|
active: true
|
|
|
|
|
IteratorNotThrowingNoSuchElementException:
|
|
|
|
|
active: true
|
|
|
|
|
LateinitUsage:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
|
|
|
|
ignoreOnClassesPattern: ""
|
2024-03-20 16:30:59 +00:00
|
|
|
MapGetWithNotNullAssertionOperator:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
MissingPackageDeclaration:
|
|
|
|
|
active: false
|
|
|
|
|
excludes: ["**/*.kts"]
|
|
|
|
|
NullCheckOnMutableProperty:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
NullableToStringCall:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
PropertyUsedBeforeDeclaration:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UnconditionalJumpStatementInLoop:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
UnnecessaryNotNullCheck:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UnnecessaryNotNullOperator:
|
|
|
|
|
active: true
|
|
|
|
|
UnnecessarySafeCall:
|
|
|
|
|
active: true
|
|
|
|
|
UnreachableCatchBlock:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UnreachableCode:
|
|
|
|
|
active: true
|
|
|
|
|
UnsafeCallOnNullableType:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
UnsafeCast:
|
|
|
|
|
active: true
|
|
|
|
|
UnusedUnaryOperator:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UselessPostfixExpression:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
WrongEqualsTypeParameter:
|
|
|
|
|
active: true
|
|
|
|
|
|
|
|
|
|
style:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
AlsoCouldBeApply:
|
|
|
|
|
active: false
|
|
|
|
|
BracesOnIfStatements:
|
|
|
|
|
active: false
|
|
|
|
|
singleLine: "never"
|
|
|
|
|
multiLine: "always"
|
|
|
|
|
BracesOnWhenStatements:
|
|
|
|
|
active: false
|
|
|
|
|
singleLine: "necessary"
|
|
|
|
|
multiLine: "consistent"
|
|
|
|
|
CanBeNonNullable:
|
|
|
|
|
active: false
|
|
|
|
|
CascadingCallWrapping:
|
|
|
|
|
active: false
|
|
|
|
|
includeElvis: true
|
2024-03-20 16:30:59 +00:00
|
|
|
ClassOrdering:
|
|
|
|
|
active: false
|
|
|
|
|
CollapsibleIfStatements:
|
|
|
|
|
active: false
|
|
|
|
|
DataClassContainsFunctions:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
conversionFunctionPrefix:
|
|
|
|
|
- "to"
|
|
|
|
|
allowOperators: false
|
2024-03-20 16:30:59 +00:00
|
|
|
DataClassShouldBeImmutable:
|
|
|
|
|
active: false
|
|
|
|
|
DestructuringDeclarationWithTooManyEntries:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
maxDestructuringEntries: 3
|
2024-08-08 12:23:43 +00:00
|
|
|
DoubleNegativeLambda:
|
|
|
|
|
active: false
|
|
|
|
|
negativeFunctions:
|
|
|
|
|
- reason: "Use `takeIf` instead."
|
|
|
|
|
value: "takeUnless"
|
|
|
|
|
- reason: "Use `all` instead."
|
|
|
|
|
value: "none"
|
|
|
|
|
negativeFunctionNameParts:
|
|
|
|
|
- "not"
|
|
|
|
|
- "non"
|
2024-03-20 16:30:59 +00:00
|
|
|
EqualsNullCall:
|
|
|
|
|
active: true
|
|
|
|
|
EqualsOnSignatureLine:
|
|
|
|
|
active: false
|
|
|
|
|
ExplicitCollectionElementAccessMethod:
|
|
|
|
|
active: false
|
|
|
|
|
ExplicitItLambdaParameter:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
ExpressionBodySyntax:
|
|
|
|
|
active: false
|
|
|
|
|
includeLineWrapping: false
|
2024-08-08 12:23:43 +00:00
|
|
|
ForbiddenAnnotation:
|
|
|
|
|
active: false
|
|
|
|
|
annotations:
|
|
|
|
|
- reason: "it is a java annotation. Use `Suppress` instead."
|
|
|
|
|
value: "java.lang.SuppressWarnings"
|
|
|
|
|
- reason: "it is a java annotation. Use `kotlin.Deprecated` instead."
|
|
|
|
|
value: "java.lang.Deprecated"
|
|
|
|
|
- reason: "it is a java annotation. Use `kotlin.annotation.MustBeDocumented` instead."
|
|
|
|
|
value: "java.lang.annotation.Documented"
|
|
|
|
|
- reason: "it is a java annotation. Use `kotlin.annotation.Target` instead."
|
|
|
|
|
value: "java.lang.annotation.Target"
|
|
|
|
|
- reason: "it is a java annotation. Use `kotlin.annotation.Retention` instead."
|
|
|
|
|
value: "java.lang.annotation.Retention"
|
|
|
|
|
- reason: "it is a java annotation. Use `kotlin.annotation.Repeatable` instead."
|
|
|
|
|
value: "java.lang.annotation.Repeatable"
|
|
|
|
|
- reason: "Kotlin does not support @Inherited annotation, see https://youtrack.jetbrains.com/issue/KT-22265"
|
|
|
|
|
value: "java.lang.annotation.Inherited"
|
2024-03-20 16:30:59 +00:00
|
|
|
ForbiddenComment:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: false # Turning off for this implementation
|
|
|
|
|
comments:
|
|
|
|
|
- reason: "Forbidden FIXME todo marker in comment, please fix the problem."
|
|
|
|
|
value: "FIXME:"
|
|
|
|
|
- reason: "Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code."
|
|
|
|
|
value: "STOPSHIP:"
|
|
|
|
|
- reason: "Forbidden TODO todo marker in comment, please do the changes."
|
|
|
|
|
value: "TODO:"
|
|
|
|
|
allowedPatterns: ""
|
2024-03-20 16:30:59 +00:00
|
|
|
ForbiddenImport:
|
|
|
|
|
active: false
|
|
|
|
|
imports: []
|
2024-08-08 12:23:43 +00:00
|
|
|
forbiddenPatterns: ""
|
2024-03-20 16:30:59 +00:00
|
|
|
ForbiddenMethodCall:
|
|
|
|
|
active: false
|
|
|
|
|
methods:
|
2024-08-08 12:23:43 +00:00
|
|
|
- reason: "print does not allow you to configure the output stream. Use a logger instead."
|
|
|
|
|
value: "kotlin.io.print"
|
|
|
|
|
- reason: "println does not allow you to configure the output stream. Use a logger instead."
|
|
|
|
|
value: "kotlin.io.println"
|
|
|
|
|
ForbiddenSuppress:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
rules: []
|
|
|
|
|
ForbiddenVoid:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreOverridden: false
|
|
|
|
|
ignoreUsageInGenerics: false
|
|
|
|
|
FunctionOnlyReturningConstant:
|
|
|
|
|
active: true
|
|
|
|
|
ignoreOverridableFunction: true
|
|
|
|
|
ignoreActualFunction: true
|
2024-08-08 12:23:43 +00:00
|
|
|
excludedFunctions: []
|
2024-03-20 16:30:59 +00:00
|
|
|
LoopWithTooManyJumpStatements:
|
|
|
|
|
active: true
|
|
|
|
|
maxJumpCount: 1
|
|
|
|
|
MagicNumber:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: false # true
|
|
|
|
|
excludes:
|
|
|
|
|
[
|
|
|
|
|
"**/test/**",
|
|
|
|
|
"**/androidTest/**",
|
|
|
|
|
"**/commonTest/**",
|
|
|
|
|
"**/jvmTest/**",
|
|
|
|
|
"**/androidUnitTest/**",
|
|
|
|
|
"**/androidInstrumentedTest/**",
|
|
|
|
|
"**/jsTest/**",
|
|
|
|
|
"**/iosTest/**",
|
|
|
|
|
"**/*.kts",
|
|
|
|
|
]
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreNumbers:
|
2024-08-08 12:23:43 +00:00
|
|
|
- "-1"
|
|
|
|
|
- "0"
|
|
|
|
|
- "1"
|
|
|
|
|
- "2"
|
2024-03-20 16:30:59 +00:00
|
|
|
ignoreHashCodeFunction: true
|
|
|
|
|
ignorePropertyDeclaration: false
|
|
|
|
|
ignoreLocalVariableDeclaration: false
|
|
|
|
|
ignoreConstantDeclaration: true
|
|
|
|
|
ignoreCompanionObjectPropertyDeclaration: true
|
|
|
|
|
ignoreAnnotation: false
|
|
|
|
|
ignoreNamedArgument: true
|
|
|
|
|
ignoreEnums: false
|
|
|
|
|
ignoreRanges: false
|
|
|
|
|
ignoreExtensionFunctions: true
|
|
|
|
|
MandatoryBracesLoops:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
MaxChainedCallsOnSameLine:
|
|
|
|
|
active: false
|
|
|
|
|
maxChainedCalls: 5
|
2024-03-20 16:30:59 +00:00
|
|
|
MaxLineLength:
|
|
|
|
|
active: true
|
|
|
|
|
maxLineLength: 120
|
|
|
|
|
excludePackageStatements: true
|
|
|
|
|
excludeImportStatements: true
|
|
|
|
|
excludeCommentStatements: false
|
2024-08-08 12:23:43 +00:00
|
|
|
excludeRawStrings: true
|
2024-03-20 16:30:59 +00:00
|
|
|
MayBeConst:
|
|
|
|
|
active: true
|
|
|
|
|
ModifierOrder:
|
|
|
|
|
active: true
|
|
|
|
|
MultilineLambdaItParameter:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
MultilineRawStringIndentation:
|
|
|
|
|
active: false
|
|
|
|
|
indentSize: 4
|
|
|
|
|
trimmingMethods:
|
|
|
|
|
- "trimIndent"
|
|
|
|
|
- "trimMargin"
|
2024-03-20 16:30:59 +00:00
|
|
|
NestedClassesVisibility:
|
|
|
|
|
active: true
|
|
|
|
|
NewLineAtEndOfFile:
|
2024-08-11 17:36:53 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
NoTabs:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
NullableBooleanCheck:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
ObjectLiteralToLambda:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
OptionalAbstractKeyword:
|
|
|
|
|
active: true
|
|
|
|
|
OptionalUnit:
|
|
|
|
|
active: false
|
|
|
|
|
PreferToOverPairSyntax:
|
|
|
|
|
active: false
|
|
|
|
|
ProtectedMemberInFinalClass:
|
|
|
|
|
active: true
|
|
|
|
|
RedundantExplicitType:
|
|
|
|
|
active: false
|
|
|
|
|
RedundantHigherOrderMapUsage:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
RedundantVisibilityModifierRule:
|
|
|
|
|
active: false
|
|
|
|
|
ReturnCount:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
max: 2
|
2024-08-08 12:23:43 +00:00
|
|
|
excludedFunctions:
|
|
|
|
|
- "equals"
|
2024-03-20 16:30:59 +00:00
|
|
|
excludeLabeled: false
|
|
|
|
|
excludeReturnFromLambda: true
|
|
|
|
|
excludeGuardClauses: false
|
|
|
|
|
SafeCast:
|
|
|
|
|
active: true
|
|
|
|
|
SerialVersionUIDInSerializableClass:
|
|
|
|
|
active: true
|
|
|
|
|
SpacingBetweenPackageAndImports:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
StringShouldBeRawString:
|
|
|
|
|
active: false
|
|
|
|
|
maxEscapedCharacterCount: 2
|
|
|
|
|
ignoredCharacters: []
|
2024-03-20 16:30:59 +00:00
|
|
|
ThrowsCount:
|
|
|
|
|
active: true
|
|
|
|
|
max: 2
|
|
|
|
|
excludeGuardClauses: false
|
|
|
|
|
TrailingWhitespace:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
TrimMultilineRawString:
|
|
|
|
|
active: false
|
|
|
|
|
trimmingMethods:
|
|
|
|
|
- "trimIndent"
|
|
|
|
|
- "trimMargin"
|
2024-03-20 16:30:59 +00:00
|
|
|
UnderscoresInNumericLiterals:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
acceptableLength: 4
|
|
|
|
|
allowNonStandardGrouping: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UnnecessaryAbstractClass:
|
|
|
|
|
active: true
|
|
|
|
|
UnnecessaryAnnotationUseSiteTarget:
|
|
|
|
|
active: false
|
|
|
|
|
UnnecessaryApply:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
UnnecessaryBackticks:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
UnnecessaryBracesAroundTrailingLambda:
|
|
|
|
|
active: false
|
|
|
|
|
UnnecessaryFilter:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UnnecessaryInheritance:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
UnnecessaryInnerClass:
|
|
|
|
|
active: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UnnecessaryLet:
|
|
|
|
|
active: false
|
|
|
|
|
UnnecessaryParentheses:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
allowForUnclearPrecedence: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UntilInsteadOfRangeTo:
|
|
|
|
|
active: false
|
|
|
|
|
UnusedImports:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
UnusedParameter:
|
|
|
|
|
active: true
|
|
|
|
|
allowedNames: "ignored|expected"
|
2024-03-20 16:30:59 +00:00
|
|
|
UnusedPrivateClass:
|
|
|
|
|
active: true
|
|
|
|
|
UnusedPrivateMember:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
allowedNames: ""
|
|
|
|
|
ignoreAnnotated: ['Preview', 'DevicePreviews']
|
|
|
|
|
UnusedPrivateProperty:
|
|
|
|
|
active: true
|
|
|
|
|
allowedNames: "_|ignored|expected|serialVersionUID"
|
|
|
|
|
UseAnyOrNoneInsteadOfFind:
|
|
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseArrayLiteralsInAnnotations:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseCheckNotNull:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseCheckOrError:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseDataClass:
|
|
|
|
|
active: false
|
|
|
|
|
allowVars: false
|
|
|
|
|
UseEmptyCounterpart:
|
|
|
|
|
active: false
|
|
|
|
|
UseIfEmptyOrIfBlank:
|
|
|
|
|
active: false
|
|
|
|
|
UseIfInsteadOfWhen:
|
|
|
|
|
active: false
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreWhenContainingVariableDeclaration: false
|
2024-03-20 16:30:59 +00:00
|
|
|
UseIsNullOrEmpty:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
UseLet:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
|
|
|
|
UseOrEmpty:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseRequire:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
UseRequireNotNull:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
|
|
|
|
UseSumOfInsteadOfFlatMapSize:
|
2024-03-20 16:30:59 +00:00
|
|
|
active: false
|
|
|
|
|
UselessCallOnNotNull:
|
|
|
|
|
active: true
|
|
|
|
|
UtilityClassWithPublicConstructor:
|
2024-08-08 12:23:43 +00:00
|
|
|
active: true
|
2024-03-20 16:30:59 +00:00
|
|
|
VarCouldBeVal:
|
|
|
|
|
active: true
|
2024-08-08 12:23:43 +00:00
|
|
|
ignoreLateinitVar: false
|
2024-03-20 16:30:59 +00:00
|
|
|
WildcardImport:
|
|
|
|
|
active: true
|
|
|
|
|
excludeImports:
|
2024-08-11 17:36:53 +00:00
|
|
|
- "java.util.*"
|
|
|
|
|
|
|
|
|
|
TwitterCompose:
|
|
|
|
|
CompositionLocalAllowlist:
|
2024-08-16 15:11:28 +00:00
|
|
|
active: false
|
2024-08-11 17:36:53 +00:00
|
|
|
# You can optionally define a list of CompositionLocals that are allowed here
|
|
|
|
|
# allowedCompositionLocals: LocalSomething,LocalSomethingElse
|
|
|
|
|
CompositionLocalNaming:
|
|
|
|
|
active: true
|
|
|
|
|
ContentEmitterReturningValues:
|
|
|
|
|
active: true
|
|
|
|
|
# You can optionally add your own composables here
|
|
|
|
|
# contentEmitters: MyComposable,MyOtherComposable
|
|
|
|
|
ModifierComposable:
|
|
|
|
|
active: true
|
|
|
|
|
ModifierMissing:
|
|
|
|
|
active: true
|
|
|
|
|
ModifierReused:
|
|
|
|
|
active: true
|
|
|
|
|
ModifierWithoutDefault:
|
|
|
|
|
active: true
|
|
|
|
|
MultipleEmitters:
|
|
|
|
|
active: true
|
|
|
|
|
# You can optionally add your own composables here
|
|
|
|
|
# contentEmitters: MyComposable,MyOtherComposable
|
|
|
|
|
MutableParams:
|
|
|
|
|
active: true
|
|
|
|
|
ComposableNaming:
|
|
|
|
|
active: true
|
|
|
|
|
# You can optionally disable the checks in this rule for regex matches against the composable name (e.g. molecule presenters)
|
|
|
|
|
# allowedComposableFunctionNames: .*Presenter,.*MoleculePresenter
|
|
|
|
|
ComposableParamOrder:
|
|
|
|
|
active: true
|
|
|
|
|
PreviewNaming:
|
|
|
|
|
active: true
|
|
|
|
|
PreviewPublic:
|
|
|
|
|
active: true
|
|
|
|
|
# You can optionally disable that only previews with @PreviewParameter are flagged
|
|
|
|
|
# previewPublicOnlyIfParams: false
|
|
|
|
|
RememberMissing:
|
|
|
|
|
active: true
|
|
|
|
|
UnstableCollections:
|
|
|
|
|
active: false
|
|
|
|
|
ViewModelForwarding:
|
|
|
|
|
active: true
|
|
|
|
|
ViewModelInjection:
|
|
|
|
|
active: true
|