-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdetekt.yml
116 lines (108 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
complexity:
LongMethod:
excludes: ['**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/test/**']
LongParameterList:
excludes: ['**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/test/**']
TooManyFunctions:
ignorePrivate: true
formatting:
ArgumentListWrapping:
excludes: ['**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/test/**']
Filename:
active: false
FunctionStartOfBodySpacing:
active: false
Indentation:
active: false
MaximumLineLength:
excludes: ['**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/test/**']
MultiLineIfElse:
active: false
NoConsecutiveBlankLines:
active: false
NoLineBreakAfterElse:
active: false
NoUnusedImports:
active: false
NoWildcardImports:
active: false
SpacingAroundCurly:
active: false
SpacingAroundKeyword:
active: false
SpacingAroundParens:
active: false
SpacingBetweenDeclarationsWithAnnotations:
active: false
SpacingBetweenDeclarationsWithComments:
active: false
naming:
MemberNameEqualsClassName:
active: false
TopLevelPropertyNaming:
active: false
performance:
ArrayPrimitive:
active: false
potential-bugs:
EqualsAlwaysReturnsTrueOrFalse:
active: false
UnsafeCallOnNullableType:
active: false
style:
EqualsNullCall:
active: false
DestructuringDeclarationWithTooManyEntries:
excludes: ['**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/test/**']
ForbiddenComment:
active: false
LoopWithTooManyJumpStatements:
active: false
MaxLineLength:
active: false
MayBeConst:
active: false
ProtectedMemberInFinalClass:
active: false
ReturnCount:
active: false
ThrowsCount:
active: false
UnnecessaryInheritance:
active: false
UnusedPrivateClass:
active: false
WildcardImport:
active: false
verify-implementation:
DataClass:
active: true
excludes: &verify-implementation-excludes
- '**/carp/detekt/**'
# TODO: enums may be valid for `DataClass`. At least, the following comply with the expectations.
- '**/carp/common/application/data/input/Sex.kt'
annotationClass: "dk.cachet.carp.common.application.ImplementAsDataClass"
assumeNoAnnotations: &assume-no-annotations
- 'kotlin.collections.List'
- 'kotlin.collections.Map'
- 'kotlin.sequences.Sequence'
- 'kotlinx.serialization.KSerializer'
- 'kotlinx.serialization.modules.SerializersModuleCollector'
- 'kotlinx.datetime.Clock'
Immutable:
active: true
excludes: *verify-implementation-excludes
annotationClass: "dk.cachet.carp.common.application.Immutable"
assumeNoAnnotations: *assume-no-annotations
assumeImmutable: [
'dk.cachet.carp.common.application.data.input.CustomInput',
'dk.cachet.carp.common.application.sampling.BatteryAwareSamplingConfiguration.TConfig',
'kotlin.time.Duration',
'kotlinx.datetime.Instant',
'kotlinx.serialization.json.Json'
]
carp:
CurlyBracesOnSeparateLine:
active: true
SpacingInParentheses:
active: true