add swiftlint
This commit is contained in:
parent
cc7a3b9286
commit
a808af8057
125
Monal/.swiftlint.yml
Normal file
125
Monal/.swiftlint.yml
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
---
|
||||||
|
colon:
|
||||||
|
severity: error
|
||||||
|
|
||||||
|
line_length:
|
||||||
|
ignores_comments: true
|
||||||
|
warning: 260
|
||||||
|
error: 300
|
||||||
|
|
||||||
|
type_body_length:
|
||||||
|
warning: 300
|
||||||
|
error: 500
|
||||||
|
|
||||||
|
file_length:
|
||||||
|
warning: 800
|
||||||
|
error: 1000
|
||||||
|
|
||||||
|
function_parameter_count:
|
||||||
|
warning: 20
|
||||||
|
error: 30
|
||||||
|
|
||||||
|
function_body_length:
|
||||||
|
warning: 120
|
||||||
|
error: 150
|
||||||
|
|
||||||
|
cyclomatic_complexity:
|
||||||
|
warning: 40
|
||||||
|
error: 50
|
||||||
|
|
||||||
|
nesting:
|
||||||
|
type_level:
|
||||||
|
warning: 3
|
||||||
|
error: 6
|
||||||
|
function_level:
|
||||||
|
warning: 500
|
||||||
|
error: 10
|
||||||
|
|
||||||
|
vertical_parameter_alignment:
|
||||||
|
severity: warning
|
||||||
|
|
||||||
|
implicitly_unwrapped_optional:
|
||||||
|
severity: warning
|
||||||
|
|
||||||
|
force_unwrapping:
|
||||||
|
severity: error
|
||||||
|
|
||||||
|
vertical_whitespace:
|
||||||
|
severity: error
|
||||||
|
|
||||||
|
force_try:
|
||||||
|
severity: error
|
||||||
|
|
||||||
|
trailing_semicolon:
|
||||||
|
severity: error
|
||||||
|
|
||||||
|
type_name:
|
||||||
|
min_length:
|
||||||
|
warninig: 3
|
||||||
|
error: 0
|
||||||
|
max_length:
|
||||||
|
warninig: 40
|
||||||
|
error: 80
|
||||||
|
|
||||||
|
identifier_name:
|
||||||
|
min_length: 3
|
||||||
|
max_length: 60
|
||||||
|
# validates_start_with_lowercase: true
|
||||||
|
allowed_symbols: "_"
|
||||||
|
excluded:
|
||||||
|
- iv
|
||||||
|
- id
|
||||||
|
- ip
|
||||||
|
- on
|
||||||
|
- ui
|
||||||
|
- x
|
||||||
|
- y
|
||||||
|
- tz
|
||||||
|
- to
|
||||||
|
- db
|
||||||
|
- _db
|
||||||
|
|
||||||
|
# Disable rules from the default enabled set.
|
||||||
|
disabled_rules:
|
||||||
|
- trailing_whitespace
|
||||||
|
- implicit_getter
|
||||||
|
- redundant_string_enum_value
|
||||||
|
- switch_case_alignment
|
||||||
|
|
||||||
|
# Enable rules not from the default set.
|
||||||
|
opt_in_rules:
|
||||||
|
# - function_default_parameter_at_end
|
||||||
|
- empty_count
|
||||||
|
- indentation_width
|
||||||
|
# - index_at_zero
|
||||||
|
- legacy_constant
|
||||||
|
# - implicitly_unwrapped_optional
|
||||||
|
- force_unwrapping
|
||||||
|
# - no header
|
||||||
|
- file_header
|
||||||
|
# - for force unwrapping
|
||||||
|
- implicitly_unwrapped_optional
|
||||||
|
- vertical_parameter_alignment_on_call
|
||||||
|
- vertical_whitespace_between_cases
|
||||||
|
- vertical_whitespace_closing_braces
|
||||||
|
- vertical_whitespace_opening_braces
|
||||||
|
|
||||||
|
# Acts as a whitelist, only the rules specified in this list will be enabled. Can not be specified alongside disabled_rules or opt_in_rules.
|
||||||
|
only_rules:
|
||||||
|
|
||||||
|
# This is an entirely separate list of rules that are only run by the analyze command. All analyzer rules are opt-in, so this is the only configurable rule list (there is no disabled/whitelist equivalent).
|
||||||
|
analyzer_rules:
|
||||||
|
- unused_import
|
||||||
|
- unused_declaration
|
||||||
|
|
||||||
|
unused_declaration:
|
||||||
|
include_public_and_open: true
|
||||||
|
|
||||||
|
# paths to ignore during linting. Takes precedence over `included`.
|
||||||
|
excluded:
|
||||||
|
- .swiftgen
|
||||||
|
- "**/Generated"
|
||||||
|
- Classes
|
||||||
|
- Pods
|
||||||
|
- MonalUITests
|
||||||
|
- MonalXMPPUnitTests
|
|
@ -135,8 +135,9 @@
|
||||||
7E71758D2CECC5C70059F30B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7E71758B2CECC5C70059F30B /* Localizable.strings */; };
|
7E71758D2CECC5C70059F30B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7E71758B2CECC5C70059F30B /* Localizable.strings */; };
|
||||||
7E71758E2CECC5C70059F30B /* server_features.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7E71758A2CECC5C70059F30B /* server_features.plist */; };
|
7E71758E2CECC5C70059F30B /* server_features.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7E71758A2CECC5C70059F30B /* server_features.plist */; };
|
||||||
7E71758F2CECC5C70059F30B /* launchscreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7E7175892CECC5C70059F30B /* launchscreen.storyboard */; };
|
7E71758F2CECC5C70059F30B /* launchscreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7E7175892CECC5C70059F30B /* launchscreen.storyboard */; };
|
||||||
|
7E8D7AE32CECD011009AD3DF /* SwiftfulRouting in Frameworks */ = {isa = PBXBuildFile; productRef = 7E8D7AE22CECD011009AD3DF /* SwiftfulRouting */; };
|
||||||
7E995F242CEAC5D2005B30EE /* AnotherIMApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */; };
|
7E995F242CEAC5D2005B30EE /* AnotherIMApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */; };
|
||||||
7E995F252CEAC5D2005B30EE /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E995F222CEAC5D2005B30EE /* ContentView.swift */; };
|
7E995F252CEAC5D2005B30EE /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E995F222CEAC5D2005B30EE /* RootView.swift */; };
|
||||||
7E995F2B2CEAC9A0005B30EE /* monalxmpp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26CC579223A0867400ABB92A /* monalxmpp.framework */; };
|
7E995F2B2CEAC9A0005B30EE /* monalxmpp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26CC579223A0867400ABB92A /* monalxmpp.framework */; };
|
||||||
7E995F2C2CEAC9A0005B30EE /* monalxmpp.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 26CC579223A0867400ABB92A /* monalxmpp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
7E995F2C2CEAC9A0005B30EE /* monalxmpp.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 26CC579223A0867400ABB92A /* monalxmpp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
7E995F302CEAC9F6005B30EE /* Pods_monalxmpp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B9C86E0A568734587FE9BA2 /* Pods_monalxmpp.framework */; };
|
7E995F302CEAC9F6005B30EE /* Pods_monalxmpp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B9C86E0A568734587FE9BA2 /* Pods_monalxmpp.framework */; };
|
||||||
|
@ -607,7 +608,7 @@
|
||||||
7E71758B2CECC5C70059F30B /* Localizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
|
7E71758B2CECC5C70059F30B /* Localizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
|
||||||
7E995F062CEAC4B8005B30EE /* another.im.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = another.im.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E995F062CEAC4B8005B30EE /* another.im.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = another.im.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnotherIMApp.swift; sourceTree = "<group>"; };
|
7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnotherIMApp.swift; sourceTree = "<group>"; };
|
||||||
7E995F222CEAC5D2005B30EE /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
|
7E995F222CEAC5D2005B30EE /* RootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootView.swift; sourceTree = "<group>"; };
|
||||||
7E995F282CEAC672005B30EE /* ASN1Decoder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ASN1Decoder.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E995F282CEAC672005B30EE /* ASN1Decoder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ASN1Decoder.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7ED6F0162CECC3AB0035B3B7 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = "<group>"; };
|
7ED6F0162CECC3AB0035B3B7 /* Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Colors.xcassets; sourceTree = "<group>"; };
|
||||||
7ED6F0182CECC3BF0035B3B7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
7ED6F0182CECC3BF0035B3B7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||||
|
@ -879,6 +880,7 @@
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
7E995F2B2CEAC9A0005B30EE /* monalxmpp.framework in Frameworks */,
|
7E995F2B2CEAC9A0005B30EE /* monalxmpp.framework in Frameworks */,
|
||||||
|
7E8D7AE32CECD011009AD3DF /* SwiftfulRouting in Frameworks */,
|
||||||
6E9488F6997650B805476F25 /* Pods_another_im.framework in Frameworks */,
|
6E9488F6997650B805476F25 /* Pods_another_im.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -1392,13 +1394,29 @@
|
||||||
path = Strings;
|
path = Strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
7E8D7AE42CECD037009AD3DF /* Views */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
7E995F222CEAC5D2005B30EE /* RootView.swift */,
|
||||||
|
);
|
||||||
|
path = Views;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
7E8D7AE52CECD05C009AD3DF /* XMPP */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
7E6AF38E2CEB9110004328B5 /* MonalXmppWrapper.swift */,
|
||||||
|
);
|
||||||
|
path = XMPP;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
7E995F232CEAC5D2005B30EE /* another.im */ = {
|
7E995F232CEAC5D2005B30EE /* another.im */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */,
|
7E995F202CEAC5D2005B30EE /* AnotherIMApp.swift */,
|
||||||
7ED6F01A2CECC43D0035B3B7 /* Resources */,
|
7ED6F01A2CECC43D0035B3B7 /* Resources */,
|
||||||
7E6AF38E2CEB9110004328B5 /* MonalXmppWrapper.swift */,
|
7E8D7AE42CECD037009AD3DF /* Views */,
|
||||||
7E995F222CEAC5D2005B30EE /* ContentView.swift */,
|
7E8D7AE52CECD05C009AD3DF /* XMPP */,
|
||||||
);
|
);
|
||||||
path = another.im;
|
path = another.im;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -1728,6 +1746,7 @@
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 7E995F172CEAC4BA005B30EE /* Build configuration list for PBXNativeTarget "another.im" */;
|
buildConfigurationList = 7E995F172CEAC4BA005B30EE /* Build configuration list for PBXNativeTarget "another.im" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
|
7E8D7AE62CECD182009AD3DF /* swiftlint */,
|
||||||
A9E041FD8051B08903221D89 /* [CP] Check Pods Manifest.lock */,
|
A9E041FD8051B08903221D89 /* [CP] Check Pods Manifest.lock */,
|
||||||
7E995F022CEAC4B8005B30EE /* Sources */,
|
7E995F022CEAC4B8005B30EE /* Sources */,
|
||||||
7E995F032CEAC4B8005B30EE /* Frameworks */,
|
7E995F032CEAC4B8005B30EE /* Frameworks */,
|
||||||
|
@ -1896,6 +1915,7 @@
|
||||||
84F194CF2C15197200F0A994 /* XCRemoteSwiftPackageReference "FrameUp" */,
|
84F194CF2C15197200F0A994 /* XCRemoteSwiftPackageReference "FrameUp" */,
|
||||||
84E231F12C16A9CE00735FB7 /* XCRemoteSwiftPackageReference "SVGView" */,
|
84E231F12C16A9CE00735FB7 /* XCRemoteSwiftPackageReference "SVGView" */,
|
||||||
8418B5652C87E0ED006FAF60 /* XCRemoteSwiftPackageReference "Chat" */,
|
8418B5652C87E0ED006FAF60 /* XCRemoteSwiftPackageReference "Chat" */,
|
||||||
|
7E8D7AE12CECD011009AD3DF /* XCRemoteSwiftPackageReference "SwiftfulRouting" */,
|
||||||
);
|
);
|
||||||
productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;
|
productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
|
@ -2017,6 +2037,24 @@
|
||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
|
7E8D7AE62CECD182009AD3DF /* swiftlint */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = swiftlint;
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "# Type a script or drag a script file from your workspace to insert its path.\nswiftlint\n";
|
||||||
|
};
|
||||||
8FC0217E357D67979CAFB523 /* [CP] Embed Pods Frameworks */ = {
|
8FC0217E357D67979CAFB523 /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
|
@ -2409,7 +2447,7 @@
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
7E995F242CEAC5D2005B30EE /* AnotherIMApp.swift in Sources */,
|
7E995F242CEAC5D2005B30EE /* AnotherIMApp.swift in Sources */,
|
||||||
7E995F252CEAC5D2005B30EE /* ContentView.swift in Sources */,
|
7E995F252CEAC5D2005B30EE /* RootView.swift in Sources */,
|
||||||
7E6AF38F2CEB9110004328B5 /* MonalXmppWrapper.swift in Sources */,
|
7E6AF38F2CEB9110004328B5 /* MonalXmppWrapper.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -5374,6 +5412,14 @@
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
/* Begin XCRemoteSwiftPackageReference section */
|
/* Begin XCRemoteSwiftPackageReference section */
|
||||||
|
7E8D7AE12CECD011009AD3DF /* XCRemoteSwiftPackageReference "SwiftfulRouting" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://github.com/SwiftfulThinking/SwiftfulRouting";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMajorVersion;
|
||||||
|
minimumVersion = 5.3.6;
|
||||||
|
};
|
||||||
|
};
|
||||||
841898A82957712000FEC77D /* XCRemoteSwiftPackageReference "ViewExtractor" */ = {
|
841898A82957712000FEC77D /* XCRemoteSwiftPackageReference "ViewExtractor" */ = {
|
||||||
isa = XCRemoteSwiftPackageReference;
|
isa = XCRemoteSwiftPackageReference;
|
||||||
repositoryURL = "https://github.com/GeorgeElsham/ViewExtractor";
|
repositoryURL = "https://github.com/GeorgeElsham/ViewExtractor";
|
||||||
|
@ -5425,6 +5471,11 @@
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
|
7E8D7AE22CECD011009AD3DF /* SwiftfulRouting */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
package = 7E8D7AE12CECD011009AD3DF /* XCRemoteSwiftPackageReference "SwiftfulRouting" */;
|
||||||
|
productName = SwiftfulRouting;
|
||||||
|
};
|
||||||
8414ADFF2A7ABC4300EFFCCC /* LibMonalRustSwiftBridge */ = {
|
8414ADFF2A7ABC4300EFFCCC /* LibMonalRustSwiftBridge */ = {
|
||||||
isa = XCSwiftPackageProductDependency;
|
isa = XCSwiftPackageProductDependency;
|
||||||
productName = LibMonalRustSwiftBridge;
|
productName = LibMonalRustSwiftBridge;
|
||||||
|
|
|
@ -6,7 +6,7 @@ struct AnotherIMApp: App {
|
||||||
|
|
||||||
var body: some Scene {
|
var body: some Scene {
|
||||||
WindowGroup {
|
WindowGroup {
|
||||||
ContentView()
|
RootView()
|
||||||
.environmentObject(wrapper)
|
.environmentObject(wrapper)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
struct ContentView: View {
|
struct RootView: View {
|
||||||
@EnvironmentObject var wrapper: MonalXmppWrapper
|
@EnvironmentObject var wrapper: MonalXmppWrapper
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
Loading…
Reference in a new issue