This repository has been archived by the owner on Dec 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
detekt.yml
169 lines (160 loc) · 3.88 KB
/
detekt.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
config:
# is automatically ignored when custom-checks.jar is on the classpath
# however other CI checks use the argsfile where our plugin is not applied
# we need to care take of this by explicitly allowing this properties
excludes: 'custom-checks.*'
custom-checks:
active: true
SpekTestDiscovery:
active: true
includes: [ '**/test/**/*Spec.kt' ]
comments:
active: true
DeprecatedBlockTag:
active: true
CommentOverPrivateProperty:
active: true
UndocumentedPublicClass:
active: true
excludes: [ '**/test/**' ]
searchInNestedClass: true
searchInInnerClass: true
searchInInnerObject: true
searchInInnerInterface: true
searchInProtectedClass: false
UndocumentedPublicFunction:
active: true
excludes: [ '**/test/**' ]
UndocumentedPublicProperty:
active: false
excludes: [ '**/test/**' ]
complexity:
StringLiteralDuplication:
active: true
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
threshold: 5
ignoreAnnotation: true
excludeStringsWithLessThan5Characters: true
ignoreStringsRegex: '$^'
ComplexInterface:
active: true
threshold: 10
includeStaticDeclarations: false
includePrivateDeclarations: false
MethodOverloading:
active: true
LongParameterList:
active: false
exceptions:
NotImplementedDeclaration:
active: false
InstanceOfCheckForException:
active: true
RethrowCaughtException:
active: true
ReturnFromFinally:
active: true
SwallowedException:
active: true
ThrowingExceptionFromFinally:
active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
ThrowingNewInstanceOfSameException:
active: true
formatting:
active: true
android: false
autoCorrect: true
Indentation:
indentSize: 2
PackageNaming:
active: true
ParameterListWrapping:
indentSize: 2
MaximumLineLength:
active: true
ImportOrdering:
active: true
naming:
MemberNameEqualsClassName:
active: true
VariableNaming:
active: true
variablePattern: '[a-z][A-Za-z0-9]*'
privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
excludeClassPattern: '$^'
performance:
ArrayPrimitive:
active: true
potential-bugs:
EqualsAlwaysReturnsTrueOrFalse:
active: true
InvalidRange:
active: true
IteratorHasNextCallsNextMethod:
active: true
IteratorNotThrowingNoSuchElementException:
active: true
UnsafeCallOnNullableType:
active: true
UnsafeCast:
active: true
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
UselessPostfixExpression:
active: true
WrongEqualsTypeParameter:
active: true
style:
ClassOrdering:
active: true
CollapsibleIfStatements:
active: true
EqualsNullCall:
active: true
ForbiddenComment:
active: false
FunctionOnlyReturningConstant:
active: true
LoopWithTooManyJumpStatements:
active: true
LibraryCodeMustSpecifyReturnType:
active: true
excludes: [ '**/*.kt' ]
includes: [ '**/detekt-api/src/main/**/api/*.kt' ]
MaxLineLength:
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
excludeCommentStatements: true
MagicNumber:
ignoreHashCodeFunction: true
ignorePropertyDeclaration: true
ignoreAnnotation: true
ignoreEnums: true
ignoreNumbers: [ '-1', '0', '1', '2', '100', '1000' ]
MayBeConst:
active: true
NestedClassesVisibility:
active: true
ProtectedMemberInFinalClass:
active: true
RedundantVisibilityModifierRule:
active: false
ReturnCount:
excludeGuardClauses: true
SpacingBetweenPackageAndImports:
active: true
UnnecessaryAbstractClass:
active: true
UnnecessaryInheritance:
active: true
UnusedPrivateClass:
active: true
UnusedPrivateMember:
active: true
allowedNames: '(_|ignored|expected)'
UseCheckOrError:
active: false
UselessCallOnNotNull:
active: true
UtilityClassWithPublicConstructor:
active: true