Closes #546 - Have separate swiftlint config for code and for tests.
This commit is contained in:
parent
2ddce23427
commit
a4d35b759f
|
@ -1,9 +1,13 @@
|
|||
# This SwiftLint file is based on this great guideline.
|
||||
# https://github.com/raywenderlich/swift-style-guide
|
||||
|
||||
included:
|
||||
- secant/
|
||||
|
||||
excluded:
|
||||
- Pods
|
||||
- xctemplates
|
||||
- secantTests
|
||||
- secantUITests
|
||||
|
||||
disabled_rules:
|
||||
- notification_center_detachment
|
||||
|
@ -13,6 +17,7 @@ disabled_rules:
|
|||
- nesting # allow for types to be nested, common pattern in Swift
|
||||
- multiple_closures_with_trailing_closure
|
||||
- generic_type_name # allow for arbitrarily long generic type names
|
||||
- redundant_void_return
|
||||
- empty_parentheses_with_trailing_closure
|
||||
|
||||
opt_in_rules:
|
||||
|
@ -61,6 +66,9 @@ opt_in_rules:
|
|||
- yoda_condition
|
||||
- todos
|
||||
|
||||
analyzer_rules:
|
||||
- unused_import
|
||||
|
||||
custom_rules:
|
||||
array_constructor:
|
||||
name: "Array/Dictionary initializer"
|
||||
|
@ -124,6 +132,13 @@ identifier_name:
|
|||
- x
|
||||
- y
|
||||
- z
|
||||
- to
|
||||
- at
|
||||
- db
|
||||
- ua
|
||||
- nf
|
||||
- tx
|
||||
- as
|
||||
|
||||
indentation_width:
|
||||
indentation_width: 4
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
# This SwiftLint file is based on this great guideline.
|
||||
# https://github.com/raywenderlich/swift-style-guide
|
||||
|
||||
included:
|
||||
- secantTests/
|
||||
- secantUITests/
|
||||
|
||||
excluded:
|
||||
- secant/
|
||||
- xctemplates/
|
||||
|
||||
disabled_rules:
|
||||
- notification_center_detachment
|
||||
- orphaned_doc_comment
|
||||
- todo
|
||||
- unused_capture_list
|
||||
- nesting # allow for types to be nested, common pattern in Swift
|
||||
- multiple_closures_with_trailing_closure
|
||||
- generic_type_name # allow for arbitrarily long generic type names
|
||||
- redundant_void_return
|
||||
- implicitly_unwrapped_optional
|
||||
- force_unwrapping
|
||||
- type_body_length
|
||||
- function_body_length
|
||||
- file_length
|
||||
- cyclomatic_complexity
|
||||
- force_cast
|
||||
- force_try
|
||||
- function_parameter_count
|
||||
- identifier_name
|
||||
- empty_parentheses_with_trailing_closure
|
||||
|
||||
opt_in_rules:
|
||||
- mark
|
||||
- array_init
|
||||
- attributes
|
||||
- closure_end_indentation
|
||||
- closure_spacing
|
||||
- collection_alignment
|
||||
- colon # promote to error
|
||||
- convenience_type
|
||||
- discouraged_object_literal
|
||||
- empty_collection_literal
|
||||
- empty_count
|
||||
- empty_string
|
||||
- enum_case_associated_values_count
|
||||
- fatal_error_message
|
||||
- first_where
|
||||
- indentation_width
|
||||
- last_where
|
||||
- legacy_random
|
||||
- literal_expression_end_indentation
|
||||
- multiline_arguments
|
||||
- multiline_arguments_brackets
|
||||
- multiline_function_chains
|
||||
- multiline_literal_brackets
|
||||
- multiline_parameters
|
||||
- multiline_parameters_brackets
|
||||
- no_space_in_method_call
|
||||
- operator_usage_whitespace
|
||||
- overridden_super_call
|
||||
- pattern_matching_keywords
|
||||
- prefer_self_type_over_type_of_self
|
||||
- redundant_nil_coalescing
|
||||
- redundant_type_annotation
|
||||
- return_arrow_whitespace
|
||||
- strict_fileprivate
|
||||
- toggle_bool
|
||||
# - trailing_closure # weird in SwiftUI
|
||||
- unneeded_parentheses_in_closure_argument
|
||||
- vertical_whitespace_closing_braces
|
||||
- vertical_whitespace_opening_braces
|
||||
- weak_delegate
|
||||
- yoda_condition
|
||||
- todos
|
||||
|
||||
analyzer_rules:
|
||||
- unused_import
|
||||
|
||||
custom_rules:
|
||||
array_constructor:
|
||||
name: "Array/Dictionary initializer"
|
||||
regex: '[let,var] .+ = (\[.+\]\(\))'
|
||||
capture_group: 1
|
||||
message: "Use explicit type annotation when initializing empty arrays and dictionaries"
|
||||
severity: warning
|
||||
|
||||
string_concatenation:
|
||||
included: ".*\\.swift"
|
||||
excluded: ".*Test\\.swift"
|
||||
name: "String Concatenation"
|
||||
regex: " \\+ \"|\" \\+ |\\+= \""
|
||||
message: "Please use string interpolation instead of concatenation"
|
||||
severity: error
|
||||
|
||||
nslog_function_usage:
|
||||
included: ".*\\.swift"
|
||||
excluded: ".*Test\\.swift"
|
||||
name: "Swift NSLog() should not be used in App Code"
|
||||
regex: "NSLog\\("
|
||||
message: "The swift NSLog function should not be used."
|
||||
severity: error
|
||||
|
||||
todos:
|
||||
included: ".*\\.swift"
|
||||
name: "TODO"
|
||||
regex: '(TODO|FIXME):\ ([^\[]|\[[^#]|\[#[^1-9])'
|
||||
message: "TODO or FIXME without issue number. Format TODO: [#...]"
|
||||
severity: warning
|
||||
match_kinds:
|
||||
- comment
|
||||
|
||||
attributes:
|
||||
always_on_same_line:
|
||||
- "@IBSegueAction"
|
||||
- "@IBAction"
|
||||
- "@NSManaged"
|
||||
- "@objc"
|
||||
|
||||
legacy_hashing: error
|
||||
|
||||
identifier_name:
|
||||
excluded:
|
||||
- i
|
||||
- id
|
||||
- x
|
||||
- y
|
||||
- z
|
||||
- to
|
||||
- at
|
||||
- db
|
||||
- ua
|
||||
- nf
|
||||
- tx
|
||||
- as
|
||||
|
||||
indentation_width:
|
||||
indentation_width: 4
|
||||
|
||||
line_length:
|
||||
warning: 150
|
||||
ignores_urls: true
|
||||
ignores_function_declarations: true
|
||||
ignores_comments: true
|
||||
|
||||
multiline_arguments:
|
||||
first_argument_location: next_line
|
||||
only_enforce_after_first_closure_on_first_line: true
|
||||
|
||||
private_over_fileprivate:
|
||||
validate_extensions: true
|
||||
|
||||
trailing_whitespace:
|
||||
ignores_empty_lines: true
|
||||
ignores_comments: true
|
||||
|
||||
vertical_whitespace:
|
||||
max_empty_lines: 1
|
|
@ -2436,7 +2436,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "swiftlint_version=0.50.3\n\nif which swiftlint >/dev/null; then\n if ![ $(swiftlint version) = $swiftlint_version ]; then\n echo \"warning: Compatible SwiftLint version not installed, download version $swiftlint_version from https://github.com/realm/SwiftLint. Currently installed version is $(swiftlint version)\"\n fi\n \n swiftlint \nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
|
||||
shellScript = "swiftlint_version=0.50.3\n\nif which swiftlint >/dev/null; then\n if ![ $(swiftlint version) = $swiftlint_version ]; then\n echo \"warning: Compatible SwiftLint version not installed, download version $swiftlint_version from https://github.com/realm/SwiftLint. Currently installed version is $(swiftlint version)\"\n fi\n \n echo \"Linting the Secant code\"\n swiftlint lint --config .swiftlint.yml\n echo \"Linting tests\"\n swiftlint lint --config .swiftlint_tests.yml\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n\n";
|
||||
};
|
||||
0D26AF90299E8196005260EE /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
@ -2534,7 +2534,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "swiftlint_version=0.50.3\n\nif which swiftlint >/dev/null; then\n if ![ $(swiftlint version) = $swiftlint_version ]; then\n echo \"warning: Compatible SwiftLint version not installed, download version $swiftlint_version from https://github.com/realm/SwiftLint. Currently installed version is $(swiftlint version)\"\n fi\n \n swiftlint \nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
|
||||
shellScript = "swiftlint_version=0.50.3\n\nif which swiftlint >/dev/null; then\n if ![ $(swiftlint version) = $swiftlint_version ]; then\n echo \"warning: Compatible SwiftLint version not installed, download version $swiftlint_version from https://github.com/realm/SwiftLint. Currently installed version is $(swiftlint version)\"\n fi\n \n echo \"Linting the Secant code\"\n swiftlint lint --config .swiftlint.yml\n echo \"Linting tests\"\n swiftlint lint --config .swiftlint_tests.yml\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
|
|
Loading…
Reference in New Issue