Setup Detekt

This commit is contained in:
Benoit Marty
2022-12-09 16:12:18 +01:00
committed by Benoit Marty
parent 5c8549575f
commit e11a2b5341
2 changed files with 112 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ plugins {
alias(libs.plugins.ksp)
id("com.google.firebase.appdistribution") version "3.0.2"
id("org.jlleitschuh.gradle.ktlint") version "11.0.0"
id("io.gitlab.arturbosch.detekt") version "1.22.0"
}
android {
@@ -155,6 +156,17 @@ android {
}
}
allprojects {
detekt {
// preconfigure defaults
buildUponDefaultConfig = true
// activate all available (even unstable) rules.
allRules = true
// point to your custom config defining rules to run, overwriting default behavior
config = files("$rootDir/tools/detekt/detekt.yml")
}
}
dependencies {
implementation(project(":libraries:designsystem"))
implementation(project(":libraries:matrix"))

100
tools/detekt/detekt.yml Normal file
View File

@@ -0,0 +1,100 @@
# Default rules: https://github.com/detekt/detekt/blob/main/detekt-core/src/main/resources/default-detekt-config.yml
style:
MaxLineLength:
# Default is 120
maxLineLength: 160
MagicNumber:
active: false
ReturnCount:
active: false
UnnecessaryAbstractClass:
active: false
FunctionOnlyReturningConstant:
active: false
UnusedPrivateMember:
# TODO Enable it
active: false
ThrowsCount:
active: false
LoopWithTooManyJumpStatements:
active: false
SerialVersionUIDInSerializableClass:
active: false
ProtectedMemberInFinalClass:
active: false
UseCheckOrError:
active: false
empty-blocks:
EmptyFunctionBlock:
active: false
EmptySecondaryConstructor:
active: false
potential-bugs:
ImplicitDefaultLocale:
active: false
exceptions:
TooGenericExceptionCaught:
active: false
SwallowedException:
active: false
ThrowingExceptionsWithoutMessageOrCause:
active: false
TooGenericExceptionThrown:
active: false
InstanceOfCheckForException:
active: false
complexity:
TooManyFunctions:
active: false
LongMethod:
active: false
LongParameterList:
active: false
CyclomaticComplexMethod:
active: false
NestedBlockDepth:
active: false
ComplexCondition:
active: false
LargeClass:
active: false
naming:
VariableNaming:
# TODO Enable it
active: false
TopLevelPropertyNaming:
# TODO Enable it
active: false
performance:
SpreadOperator:
active: false
# Note: all rules for `comments` are disabled by default, but I put them here to be aware of their existence
comments:
AbsentOrWrongFileLicense:
active: false
licenseTemplateFile: 'license.template'
licenseTemplateIsRegex: false
CommentOverPrivateFunction:
active: false
CommentOverPrivateProperty:
active: false
DeprecatedBlockTag:
active: true
EndOfSentenceFormat:
active: true
OutdatedDocumentation:
active: true
UndocumentedPublicClass:
active: false
UndocumentedPublicFunction:
active: false
UndocumentedPublicProperty:
active: false