-
Notifications
You must be signed in to change notification settings - Fork 1
/
detekt.yml
executable file
·125 lines (116 loc) · 3.03 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
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:
CommentOverPrivateProperty:
active: true
UndocumentedPublicClass:
active: true
excludes: ['**/*.kt']
includes: ['**/detekt-api/src/main/**/api/*.kt']
UndocumentedPublicFunction:
active: true
excludes: ['**/*.kt']
includes: ['**/detekt-api/src/main/**/api/*.kt']
complexity:
TooManyFunctions:
active: true
thresholdInFiles: 30
thresholdInClasses: 30
LongParameterList:
active: false
StringLiteralDuplication:
active: false
excludes: ['**/test/**', '**/*.Test.kt', '**/*.Spec.kt']
threshold: 5
ignoreAnnotation: true
excludeStringsWithLessThan5Characters: true
ignoreStringsRegex: '$^'
ComplexInterface:
active: true
threshold: 10
includeStaticDeclarations: false
includePrivateDeclarations: false
CyclomaticComplexMethod:
active: true
ignoreSingleWhenExpression: true
LargeClass:
active: true
excludes: ['**/test/**', '**/*.Test.kt', '**/*.Spec.kt']
MethodOverloading:
active: true
exceptions:
NotImplementedDeclaration:
active: true
InstanceOfCheckForException:
active: true
RethrowCaughtException:
active: true
ReturnFromFinally:
active: true
ThrowingExceptionFromFinally:
active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
ThrowingNewInstanceOfSameException:
active: true
TooGenericExceptionCaught:
active: true
formatting:
active: true
android: false
autoCorrect: true
MaximumLineLength:
active: false
ParameterListWrapping:
active: false
potential-bugs:
UnsafeCast:
active: true
excludes: ['**/test/**', '**/*.Test.kt', '**/*.Spec.kt']
UselessPostfixExpression:
active: true
style:
ClassOrdering:
active: true
CollapsibleIfStatements:
active: true
ForbiddenComment:
active: true
comments: ['TODO:', 'FIXME:', 'STOPSHIP:', '@author']
excludes: ['**/detekt-rules-style/**/ForbiddenComment.kt']
MaxLineLength:
active: true
excludes: ['**/test/**', '**/*.Test.kt', '**/*.Spec.kt']
excludeCommentStatements: true
MagicNumber:
ignorePropertyDeclaration: true
ignoreAnnotation: true
ignoreEnums: true
ignoreNumbers: ['-1', '0', '1', '2', '100', '1000']
NestedClassesVisibility:
active: true
RedundantVisibilityModifierRule:
active: true
ReturnCount:
active: true
excludeGuardClauses: true
SpacingBetweenPackageAndImports:
active: true
UnusedPrivateMember:
active: true
allowedNames: '(_|ignored|expected)'
UseCheckOrError:
active: true
WildcardImport:
excludeImports: ['java.util.*', 'kotlinx.android.synthetic.*', 'io.vertx.ext.auth.*']
performance:
SpreadOperator:
active: false