Skip to content

Commit a404d5f

Browse files
author
Gilles Grousset
committed
SwiftLint 0.21.0 support
1 parent b58396e commit a404d5f

File tree

4 files changed

+333
-19
lines changed

4 files changed

+333
-19
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ Otherwise, run the ```run-sonar-swift.sh``` script from your Xcode project root
4848
### Release history
4949

5050
#### 0.3.5
51+
- SwiftLint 0.21.0 (95 rules now)
52+
- SonarQube 6.5 support
5153
- Fixes properties with space by [Branlute](https://github.com/Branlute). See [PR 84](https://github.com/Backelite/sonar-swift/pull/84)
5254
- Finds project version automatically with CFBundleShortVersionString by [Branlute](https://github.com/Branlute). See [PR 87](https://github.com/Backelite/sonar-swift/pull/87)
5355
- Fixes coverage with mixed objc swift project by [Branlute](https://github.com/Branlute). See [PR 88](https://github.com/Backelite/sonar-swift/pull/88)

sonar-swift-plugin/src/main/resources/com/sonar/sqale/swiftlint-model.xml

+169
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,84 @@
4545
<chc>
4646
<key>READABILITY</key>
4747
<name>Readability</name>
48+
<chc>
49+
<rule-repo>SwiftLint</rule-repo>
50+
<rule-key>unneeded_parentheses_in_closure_argument</rule-key>
51+
<prop>
52+
<key>remediationFunction</key>
53+
<txt>CONSTANT_ISSUE</txt>
54+
</prop>
55+
<prop>
56+
<key>offset</key>
57+
<val>5</val>
58+
<txt>min</txt>
59+
</prop>
60+
</chc>
61+
<chc>
62+
<rule-repo>SwiftLint</rule-repo>
63+
<rule-key>trailing_closure</rule-key>
64+
<prop>
65+
<key>remediationFunction</key>
66+
<txt>CONSTANT_ISSUE</txt>
67+
</prop>
68+
<prop>
69+
<key>offset</key>
70+
<val>5</val>
71+
<txt>min</txt>
72+
</prop>
73+
</chc>
74+
<chc>
75+
<rule-repo>SwiftLint</rule-repo>
76+
<rule-key>let_var_whitespace</rule-key>
77+
<prop>
78+
<key>remediationFunction</key>
79+
<txt>CONSTANT_ISSUE</txt>
80+
</prop>
81+
<prop>
82+
<key>offset</key>
83+
<val>5</val>
84+
<txt>min</txt>
85+
</prop>
86+
</chc>
87+
<chc>
88+
<rule-repo>SwiftLint</rule-repo>
89+
<rule-key>implicit_return</rule-key>
90+
<prop>
91+
<key>remediationFunction</key>
92+
<txt>CONSTANT_ISSUE</txt>
93+
</prop>
94+
<prop>
95+
<key>offset</key>
96+
<val>5</val>
97+
<txt>min</txt>
98+
</prop>
99+
</chc>
100+
<chc>
101+
<rule-repo>SwiftLint</rule-repo>
102+
<rule-key>extension_access_modifier</rule-key>
103+
<prop>
104+
<key>remediationFunction</key>
105+
<txt>CONSTANT_ISSUE</txt>
106+
</prop>
107+
<prop>
108+
<key>offset</key>
109+
<val>5</val>
110+
<txt>min</txt>
111+
</prop>
112+
</chc>
113+
<chc>
114+
<rule-repo>SwiftLint</rule-repo>
115+
<rule-key>block_based_kvo</rule-key>
116+
<prop>
117+
<key>remediationFunction</key>
118+
<txt>CONSTANT_ISSUE</txt>
119+
</prop>
120+
<prop>
121+
<key>offset</key>
122+
<val>5</val>
123+
<txt>min</txt>
124+
</prop>
125+
</chc>
48126
<chc>
49127
<rule-repo>SwiftLint</rule-repo>
50128
<rule-key>void_return</rule-key>
@@ -647,6 +725,58 @@
647725
<chc>
648726
<key>UNDERSTANDABILITY</key>
649727
<name>Understandability</name>
728+
<chc>
729+
<rule-repo>SwiftLint</rule-repo>
730+
<rule-key>strict_fileprivate</rule-key>
731+
<prop>
732+
<key>remediationFunction</key>
733+
<txt>CONSTANT_ISSUE</txt>
734+
</prop>
735+
<prop>
736+
<key>offset</key>
737+
<val>5</val>
738+
<txt>min</txt>
739+
</prop>
740+
</chc>
741+
<chc>
742+
<rule-repo>SwiftLint</rule-repo>
743+
<rule-key>protocol_property_accessors_order</rule-key>
744+
<prop>
745+
<key>remediationFunction</key>
746+
<txt>CONSTANT_ISSUE</txt>
747+
</prop>
748+
<prop>
749+
<key>offset</key>
750+
<val>5</val>
751+
<txt>min</txt>
752+
</prop>
753+
</chc>
754+
<chc>
755+
<rule-repo>SwiftLint</rule-repo>
756+
<rule-key>private_over_fileprivate</rule-key>
757+
<prop>
758+
<key>remediationFunction</key>
759+
<txt>CONSTANT_ISSUE</txt>
760+
</prop>
761+
<prop>
762+
<key>offset</key>
763+
<val>5</val>
764+
<txt>min</txt>
765+
</prop>
766+
</chc>
767+
<chc>
768+
<rule-repo>SwiftLint</rule-repo>
769+
<rule-key>no_extension_access_modifier</rule-key>
770+
<prop>
771+
<key>remediationFunction</key>
772+
<txt>CONSTANT_ISSUE</txt>
773+
</prop>
774+
<prop>
775+
<key>offset</key>
776+
<val>5</val>
777+
<txt>min</txt>
778+
</prop>
779+
</chc>
650780
<chc>
651781
<rule-repo>SwiftLint</rule-repo>
652782
<rule-key>vertical_parameter_alignment</rule-key>
@@ -660,6 +790,19 @@
660790
<txt>min</txt>
661791
</prop>
662792
</chc>
793+
<chc>
794+
<rule-repo>SwiftLint</rule-repo>
795+
<rule-key>empty_enum_arguments</rule-key>
796+
<prop>
797+
<key>remediationFunction</key>
798+
<txt>CONSTANT_ISSUE</txt>
799+
</prop>
800+
<prop>
801+
<key>offset</key>
802+
<val>5</val>
803+
<txt>min</txt>
804+
</prop>
805+
</chc>
663806
<chc>
664807
<rule-repo>SwiftLint</rule-repo>
665808
<rule-key>sorted_imports</rule-key>
@@ -1018,6 +1161,32 @@
10181161
<chc>
10191162
<key>SECURITY_FEATURES</key>
10201163
<name>Security features</name>
1164+
<chc>
1165+
<rule-repo>SwiftLint</rule-repo>
1166+
<rule-key>explicit_top_level_acl</rule-key>
1167+
<prop>
1168+
<key>remediationFunction</key>
1169+
<txt>CONSTANT_ISSUE</txt>
1170+
</prop>
1171+
<prop>
1172+
<key>offset</key>
1173+
<val>5</val>
1174+
<txt>min</txt>
1175+
</prop>
1176+
</chc>
1177+
<chc>
1178+
<rule-repo>SwiftLint</rule-repo>
1179+
<rule-key>discouraged_direct_init</rule-key>
1180+
<prop>
1181+
<key>remediationFunction</key>
1182+
<txt>CONSTANT_ISSUE</txt>
1183+
</prop>
1184+
<prop>
1185+
<key>offset</key>
1186+
<val>5</val>
1187+
<txt>min</txt>
1188+
</prop>
1189+
</chc>
10211190
<chc>
10221191
<rule-repo>SwiftLint</rule-repo>
10231192
<rule-key>private_outlet</rule-key>

sonar-swift-plugin/src/main/resources/org/sonar/plugins/swiftlint/profile-swiftlint.xml

+56-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
<repositoryKey>SwiftLint</repositoryKey>
88
<key>attributes</key>
99
</rule>
10+
<rule>
11+
<repositoryKey>SwiftLint</repositoryKey>
12+
<key>block_based_kvo</key>
13+
</rule>
1014
<rule>
1115
<repositoryKey>SwiftLint</repositoryKey>
1216
<key>class_delegate_protocol</key>
@@ -59,6 +63,10 @@
5963
<repositoryKey>SwiftLint</repositoryKey>
6064
<key>discarded_notification_center_observer</key>
6165
</rule>
66+
<rule>
67+
<repositoryKey>SwiftLint</repositoryKey>
68+
<key>discouraged_direct_init</key>
69+
</rule>
6270
<rule>
6371
<repositoryKey>SwiftLint</repositoryKey>
6472
<key>dynamic_inline</key>
@@ -67,6 +75,10 @@
6775
<repositoryKey>SwiftLint</repositoryKey>
6876
<key>empty_count</key>
6977
</rule>
78+
<rule>
79+
<repositoryKey>SwiftLint</repositoryKey>
80+
<key>empty_enum_arguments</key>
81+
</rule>
7082
<rule>
7183
<repositoryKey>SwiftLint</repositoryKey>
7284
<key>empty_parameters</key>
@@ -79,10 +91,18 @@
7991
<repositoryKey>SwiftLint</repositoryKey>
8092
<key>explicit_init</key>
8193
</rule>
94+
<rule>
95+
<repositoryKey>SwiftLint</repositoryKey>
96+
<key>explicit_top_level_acl</key>
97+
</rule>
8298
<rule>
8399
<repositoryKey>SwiftLint</repositoryKey>
84100
<key>explicit_type_interface</key>
85101
</rule>
102+
<rule>
103+
<repositoryKey>SwiftLint</repositoryKey>
104+
<key>extension_access_modifier</key>
105+
</rule>
86106
<rule>
87107
<repositoryKey>SwiftLint</repositoryKey>
88108
<key>fatal_error_message</key>
@@ -135,6 +155,10 @@
135155
<repositoryKey>SwiftLint</repositoryKey>
136156
<key>implicit_getter</key>
137157
</rule>
158+
<rule>
159+
<repositoryKey>SwiftLint</repositoryKey>
160+
<key>implicit_return</key>
161+
</rule>
138162
<rule>
139163
<repositoryKey>SwiftLint</repositoryKey>
140164
<key>implicitly_unwrapped_optional</key>
@@ -163,6 +187,10 @@
163187
<repositoryKey>SwiftLint</repositoryKey>
164188
<key>legacy_nsgeometry_functions</key>
165189
</rule>
190+
<rule>
191+
<repositoryKey>SwiftLint</repositoryKey>
192+
<key>let_var_whitespace</key>
193+
</rule>
166194
<rule>
167195
<repositoryKey>SwiftLint</repositoryKey>
168196
<key>line_length</key>
@@ -173,7 +201,7 @@
173201
</rule>
174202
<rule>
175203
<repositoryKey>SwiftLint</repositoryKey>
176-
<key>missing_docs</key>
204+
<key>multiline_parameters</key>
177205
</rule>
178206
<rule>
179207
<repositoryKey>SwiftLint</repositoryKey>
@@ -183,6 +211,10 @@
183211
<repositoryKey>SwiftLint</repositoryKey>
184212
<key>nimble_operator</key>
185213
</rule>
214+
<rule>
215+
<repositoryKey>SwiftLint</repositoryKey>
216+
<key>no_extension_access_modifier</key>
217+
</rule>
186218
<rule>
187219
<repositoryKey>SwiftLint</repositoryKey>
188220
<key>notification_center_detachment</key>
@@ -215,6 +247,10 @@
215247
<repositoryKey>SwiftLint</repositoryKey>
216248
<key>private_outlet</key>
217249
</rule>
250+
<rule>
251+
<repositoryKey>SwiftLint</repositoryKey>
252+
<key>private_over_fileprivate</key>
253+
</rule>
218254
<rule>
219255
<repositoryKey>SwiftLint</repositoryKey>
220256
<key>private_unit_test</key>
@@ -223,6 +259,10 @@
223259
<repositoryKey>SwiftLint</repositoryKey>
224260
<key>prohibited_super_call</key>
225261
</rule>
262+
<rule>
263+
<repositoryKey>SwiftLint</repositoryKey>
264+
<key>protocol_property_accessors_order</key>
265+
</rule>
226266
<rule>
227267
<repositoryKey>SwiftLint</repositoryKey>
228268
<key>redundant_discardable_let</key>
@@ -259,6 +299,10 @@
259299
<repositoryKey>SwiftLint</repositoryKey>
260300
<key>statement_position</key>
261301
</rule>
302+
<rule>
303+
<repositoryKey>SwiftLint</repositoryKey>
304+
<key>strict_fileprivate</key>
305+
</rule>
262306
<rule>
263307
<repositoryKey>SwiftLint</repositoryKey>
264308
<key>switch_case_on_newline</key>
@@ -271,6 +315,10 @@
271315
<repositoryKey>SwiftLint</repositoryKey>
272316
<key>todo</key>
273317
</rule>
318+
<rule>
319+
<repositoryKey>SwiftLint</repositoryKey>
320+
<key>trailing_closure</key>
321+
</rule>
274322
<rule>
275323
<repositoryKey>SwiftLint</repositoryKey>
276324
<key>trailing_comma</key>
@@ -295,6 +343,10 @@
295343
<repositoryKey>SwiftLint</repositoryKey>
296344
<key>type_name</key>
297345
</rule>
346+
<rule>
347+
<repositoryKey>SwiftLint</repositoryKey>
348+
<key>unneeded_parentheses_in_closure_argument</key>
349+
</rule>
298350
<rule>
299351
<repositoryKey>SwiftLint</repositoryKey>
300352
<key>unused_closure_parameter</key>
@@ -309,15 +361,15 @@
309361
</rule>
310362
<rule>
311363
<repositoryKey>SwiftLint</repositoryKey>
312-
<key>valid_docs</key>
364+
<key>valid_ibinspectable</key>
313365
</rule>
314366
<rule>
315367
<repositoryKey>SwiftLint</repositoryKey>
316-
<key>valid_ibinspectable</key>
368+
<key>vertical_parameter_alignment</key>
317369
</rule>
318370
<rule>
319371
<repositoryKey>SwiftLint</repositoryKey>
320-
<key>vertical_parameter_alignment</key>
372+
<key>vertical_parameter_alignment_on_call</key>
321373
</rule>
322374
<rule>
323375
<repositoryKey>SwiftLint</repositoryKey>

0 commit comments

Comments
 (0)