diff --git a/.swiftlint.yml b/.swiftlint.yml new file mode 100644 index 0000000..d144a62 --- /dev/null +++ b/.swiftlint.yml @@ -0,0 +1,4 @@ +excluded: + - .build + +baseline: Baseline.json diff --git a/Baseline.json b/Baseline.json new file mode 100644 index 0000000..cd3b8aa --- /dev/null +++ b/Baseline.json @@ -0,0 +1 @@ +[{"violation":{"reason":"Collection literals should not have trailing commas","ruleIdentifier":"trailing_comma","location":{"character":35,"line":16,"file":"Package.swift"},"ruleName":"Trailing Comma","severity":"warning","ruleDescription":"Trailing commas in arrays and dictionaries should be avoided\/enforced."},"text":" targets: [\"SwiftTAK\"]),"},{"violation":{"reason":"Collection literals should not have trailing commas","ruleIdentifier":"trailing_comma","location":{"character":10,"line":42,"file":"Package.swift"},"ruleName":"Trailing Comma","severity":"warning","ruleDescription":"Trailing commas in arrays and dictionaries should be avoided\/enforced."},"text":" ),"},{"violation":{"reason":"Line should be 200 characters or less; currently it has 363 characters","ruleIdentifier":"line_length","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" public init(cotType: String = COTMessage.DEFAULT_COT_TYPE, cotHow: String = COTMessage.DEFAULT_HOW, heightAboveElipsoid: Double = COTPoint.DEFAULT_ERROR_VALUE, circularError: Double = COTPoint.DEFAULT_ERROR_VALUE, linearError: Double = COTPoint.DEFAULT_ERROR_VALUE, speed: Double = 0.0, course: Double = 0.0, latitude: Double = 0.0, longitude: Double = 0.0) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":35,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'XML_HEADER' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":36,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static public let XML_HEADER = \"\""},{"violation":{"reason":"Variable name 'DEFAULT_COT_TYPE' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":37,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static public let DEFAULT_COT_TYPE = \"a-f-G-U-C\""},{"violation":{"reason":"Variable name 'DEFAULT_CHAT_COT_TYPE' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":38,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static public let DEFAULT_CHAT_COT_TYPE = \"b-t-f\""},{"violation":{"reason":"Variable name 'DEFAULT_HOW' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":39,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static public let DEFAULT_HOW = HowType.MachineGPSDerived.rawValue"},{"violation":{"reason":"Variable name 'COT_EVENT_VERSION' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":40,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static public let COT_EVENT_VERSION = \"2.0\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":41,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":49,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":10,"line":51,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" deviceID: String = UUID().uuidString,"},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":19,"line":52,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" phoneModel: String = \"iPhone\","},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":19,"line":53,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" phoneOS: String = \"iOS\","},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":19,"line":54,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" appPlatform: String = \"SwiftTAK\","},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":19,"line":55,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" appVersion: String = \"0.1\") {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":33,"line":66,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" positionInfo: COTPositionInformation,"},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":33,"line":67,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" callSign: String,"},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":33,"line":68,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" emergencyType: EmergencyType,"},{"violation":{"reason":"Function parameters should be aligned vertically if they're in multiple lines in a declaration","ruleIdentifier":"vertical_parameter_alignment","location":{"character":33,"line":69,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Vertical Parameter Alignment","severity":"warning","ruleDescription":"Function parameters should be aligned vertically if they're in multiple lines in a declaration"},"text":" isCancelled: Bool) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":78,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 217 characters","ruleIdentifier":"line_length","location":{"character":1,"line":79,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" var cotEvent = COTEvent(version: COTMessage.COT_EVENT_VERSION, uid: deviceID, type: eventType, how: HowType.HumanGIGO.rawValue, time: Date(), start: Date(), stale: Date().addingTimeInterval(cotTimeout * 60.0))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":80,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 124 characters","ruleIdentifier":"line_length","location":{"character":1,"line":81,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotPoint = COTPoint(lat: latitude, lon: longitude, hae: heightAboveElipsoid, ce: circularError, le: linearError)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":82,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":84,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":86,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":90,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":92,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":95,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":113,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 188 characters","ruleIdentifier":"line_length","location":{"character":1,"line":114,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" var cotEvent = COTEvent(version: COTMessage.COT_EVENT_VERSION, uid: deviceID, type: cotType, how: cotHow, time: Date(), start: Date(), stale: Date().addingTimeInterval(cotTimeout))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":115,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 124 characters","ruleIdentifier":"line_length","location":{"character":1,"line":116,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotPoint = COTPoint(lat: latitude, lon: longitude, hae: heightAboveElipsoid, ce: circularError, le: linearError)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":117,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":119,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":129,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!phoneBatteryStatus.isEmpty) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":132,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":137,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":147,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 243 characters","ruleIdentifier":"line_length","location":{"character":1,"line":148,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" return COTMessage.XML_HEADER + generateCOTEvent(cotType: cotType, cotHow: cotHow, positionInfo: positionInfo, callSign: callSign, group: group, role: role, phone: phone, remarks: remarks, phoneBatteryStatus: phoneBatteryStatus).toXml()"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":150,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'ONE_DAY' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":13,"line":158,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let ONE_DAY = 60.0*60.0*24.0"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":161,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":165,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":167,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 162 characters","ruleIdentifier":"line_length","location":{"character":1,"line":168,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" var cotEvent = COTEvent(version: COTMessage.COT_EVENT_VERSION, uid: eventUID, type: cotType, how: cotHow, time: eventTime, start: eventTime, stale: stale)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":169,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":178,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":180,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":184,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":188,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":190,"file":"Sources\/SwiftTAK\/COT\/COTMessage.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":25,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTArchive.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTArchive : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTArchive.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTArchive.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":15,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTArchive.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTArchive.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer at least one space after slashes for comments","ruleIdentifier":"comment_spacing","location":{"character":3,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Comment Spacing","severity":"warning","ruleDescription":"Prefer at least one space after slashes for comments"},"text":"\/\/"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":32,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTAttachmentList : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":27,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTAttachmentList.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":22,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTChat : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_CHATROOM' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_CHATROOM = \"All Chat Rooms\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 247 characters","ruleIdentifier":"line_length","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" public init(id: String = COTChat.DEFAULT_CHATROOM, chatroom: String = COTChat.DEFAULT_CHATROOM, groupOwner: String = \"\", parent: String = \"\", senderCallsign: String = \"\", messageID: String = UUID().uuidString, chatGroup: COTChatGroup? = nil) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":33,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":42,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChat.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTChatGroup : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_CHATROOM' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_CHATROOM = \"All Chat Rooms\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 121 characters","ruleIdentifier":"line_length","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public init(uid0: String, uid1: String = COTChatGroup.DEFAULT_CHATROOM, id: String = COTChatGroup.DEFAULT_CHATROOM) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":18,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var id:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":20,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var uid0:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":20,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var uid1:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTChatGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTColor : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":33,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTConnectionEntry : COTNode, Equatable {"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":32,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var bitrate: Int32? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":33,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var classification: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":34,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var fov: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":35,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var heading: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":36,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var height: Int32? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":37,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var latitude: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":38,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var longitude: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":39,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var macAddress: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":40,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var order: Int32? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":41,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var range: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":42,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var source: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":43,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var thumbnail: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":44,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var width: Int32? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":45,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":56,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":69,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":72,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Files should have a single trailing newline","ruleIdentifier":"trailing_newline","location":{"line":88,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTConnectionEntry.swift"},"ruleName":"Trailing Newline","severity":"warning","ruleDescription":"Files should have a single trailing newline"},"text":""},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":25,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTContact : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_ENDPOINT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_ENDPOINT: String = \"*:-1:stcp\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var endpoint:String = COTContact.DEFAULT_ENDPOINT"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":21,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var phone:String = \"\""},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var callsign:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTContact.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":25,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTCreator : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 128 characters","ruleIdentifier":"line_length","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" \/\/ "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":27,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":34,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTCreator.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTDetail : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":26,"line":15,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var childNodes:[COTNode] = []"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":87,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":98,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTDetail.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":25,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEllipse.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTEllipse : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEllipse.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEllipse.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEllipse.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEllipse.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEmergency.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTEmergency : COTNode {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEmergency.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEmergency.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEmergency.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 191 characters","ruleIdentifier":"line_length","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":"\/\/ see https:\/\/github.com\/deptofdefense\/AndroidTacticalAssaultKit-CIV\/blob\/22d11cba15dd5cfe385c0d0790670bc7e9ab7df4\/atak\/ATAK\/app\/src\/main\/java\/com\/atakmap\/android\/cot\/CotMapAdapter.java#L263"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTEvent : COTNode, Equatable {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 140 characters","ruleIdentifier":"line_length","location":{"character":1,"line":32,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public init(version: String, uid: String, type: String, how: String, time: Date, start: Date, stale: Date, childNodes: [COTNode] = []) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":42,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":43,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var version:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":19,"line":44,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var uid:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":20,"line":45,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var type:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":19,"line":46,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var how:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":20,"line":47,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var time:Date"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":21,"line":48,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var start:Date"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":21,"line":49,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var stale:Date"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":54,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":58,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":62,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":69,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":73,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":75,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":83,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTEvent.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 219 characters","ruleIdentifier":"line_length","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 363 characters","ruleIdentifier":"line_length","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTFileshare : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":30,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 148 characters","ruleIdentifier":"line_length","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public init(fileName: String, senderUrl: String, sha256: String, senderUid: String, senderCallsign: String, name: String, sizeInBytes: String) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":40,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":42,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFileshare.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFillColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTFillColor : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFillColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFillColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFillColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTFillColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTGroup : COTNode {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":27,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!abbr.isEmpty) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":30,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTGroup.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!exrole.isEmpty) {"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTHideLabel.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTHideLabel : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTHideLabel.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTHideLabel.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTHideLabel.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":26,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTLabelsOn : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLabelsOn.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":22,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTLink : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 241 characters","ruleIdentifier":"line_length","location":{"character":1,"line":27,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" public init(parentCallsign: String = \"\", productionTime: String = \"\", relation: String = \"\", type: String = \"\", uid: String = \"\", callsign: String = \"\", remarks: String = \"\", point: String = \"\", url: String = \"\", mimeType: String = \"\") {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":39,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":41,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":54,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTLink.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":30,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":32,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":45,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTMarti.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTPoint : COTNode, Equatable {"},{"violation":{"reason":"Variable name 'ce' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":56,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public init(lat: String, lon: String, hae: String, ce: String, le: String) {"},{"violation":{"reason":"Variable name 'le' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":68,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public init(lat: String, lon: String, hae: String, ce: String, le: String) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_ERROR_VALUE' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_ERROR_VALUE = 9999999.0"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":19,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var lat:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":19,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var lon:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":19,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var hae:String"},{"violation":{"reason":"Variable name 'ce' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":16,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public var ce:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":18,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var ce:String"},{"violation":{"reason":"Variable name 'le' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":16,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public var le:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":18,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var le:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":28,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":36,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTPoint.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":25,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTRemarks : COTNode, Equatable {"},{"violation":{"reason":"Variable name 'to' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":84,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public init(source: String = \"\", timestamp: Date? = nil, message: String = \"\", to: String = \"\") {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'to' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":16,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public var to: String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'ts' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":13,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let ts = timestamp == nil ? \"\" : ISO8601DateFormatter().string(from: timestamp!)"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":25,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTRemarks.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTSensor : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":35,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":46,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":47,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Limit vertical whitespace to a single empty line; currently 2","ruleIdentifier":"vertical_whitespace","location":{"character":5,"line":47,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Vertical Whitespace","severity":"warning","ruleDescription":"Limit vertical whitespace to a single empty line"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":49,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":62,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTSensor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":35,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTServerDestination.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTServerDestination : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTServerDestination.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTServerDestination.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTServerDestination.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTShape : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":26,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var childNodes:[COTNode] = []"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":33,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTShape.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStatus.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTStatus : COTNode {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStatus.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStatus.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var battery:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStatus.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStatus.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":29,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTStrokeColor : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeColor.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeColor.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":30,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeWeight.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTStrokeWeight : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeWeight.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeWeight.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeWeight.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTStrokeWeight.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":22,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTTakV : COTNode {"},{"violation":{"reason":"Variable name 'os' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":51,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public init(device: String, platform: String, os: String, version: String) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":22,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var device:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var platform:String"},{"violation":{"reason":"Variable name 'os' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":16,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public var os:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":18,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var os:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":21,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var version:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":24,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTakV.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Files should have a single trailing newline","ruleIdentifier":"trailing_newline","location":{"line":7,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTog.swift"},"ruleName":"Trailing Newline","severity":"warning","ruleDescription":"Files should have a single trailing newline"},"text":""},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTTrack : COTNode {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":15,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":21,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var speed:String"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":22,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var course:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":20,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTTrack.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":21,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTUid : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":24,"line":15,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var callsign:String"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUid.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":26,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUserIcon.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTUserIcon : COTNode, Equatable {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUserIcon.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUserIcon.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUserIcon.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTUserIcon.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":10,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"public struct COTVideo : COTNode, Equatable {"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":13,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var active: Bool? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var alias: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":15,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var classification: String? = nil"},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":16,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var thumbnail: String? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":18,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var connectionEntry: COTConnectionEntry? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":27,"line":30,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attrs: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":37,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":40,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 153 characters","ruleIdentifier":"line_length","location":{"character":1,"line":42,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let entryExistanceSame = (lhs.connectionEntry == nil && lhs.connectionEntry == nil) || (lhs.connectionEntry != nil && rhs.connectionEntry != nil)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":45,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":46,"file":"Sources\/SwiftTAK\/COT\/COTModels\/COTVideo.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(entryExistanceSame && lhs.connectionEntry != nil) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 148 characters","ruleIdentifier":"line_length","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public static func generateXML(nodeName: String, attributes: [String:String], message: String, includeEmptyAttributes: Bool = false) -> String {"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":73,"line":11,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public static func generateXML(nodeName: String, attributes: [String:String], message: String, includeEmptyAttributes: Bool = false) -> String {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":14,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(attrPair.value.isEmpty && !includeEmptyAttributes) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 154 characters","ruleIdentifier":"line_length","location":{"character":1,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public static func generateXML(nodeName: String, attributes: [String:String], childNodes: [COTNode], includeEmptyAttributes: Bool = false) -> String {"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":73,"line":23,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public static func generateXML(nodeName: String, attributes: [String:String], childNodes: [COTNode], includeEmptyAttributes: Bool = false) -> String {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":26,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(attrPair.value.isEmpty && !includeEmptyAttributes) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":40,"file":"Sources\/SwiftTAK\/COT\/COTXMLHelper.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/Logging\/TAKLogger.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":21,"file":"Sources\/SwiftTAK\/Logging\/TAKLogger.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":13,"line":12,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" var parsedDate: Date? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":21,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":23,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(parsedDate != nil) { return parsedDate }"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":24,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":26,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(parsedDate != nil) { return parsedDate }"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":27,"file":"Sources\/SwiftTAK\/Parsers\/COTDateParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":15,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":23,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" switch(boolString) {"},{"violation":{"reason":"Class body should span 350 lines or less excluding comments and whitespace: currently spans 435 lines","ruleIdentifier":"type_body_length","location":{"character":8,"line":32,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Type Body Length","severity":"error","ruleDescription":"Type bodies should not span too many lines"},"text":"public class COTXMLParser {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":33,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":16,"line":34,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" public var parsedXml: XMLIndexer? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":35,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":38,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":42,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":56,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":59,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":66,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":75,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":79,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function should have complexity 10 or less; currently complexity is 23","ruleIdentifier":"cyclomatic_complexity","location":{"character":5,"line":90,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Cyclomatic Complexity","severity":"error","ruleDescription":"Complexity of function bodies should be limited."},"text":" func buildCOTDetail(cot: XMLIndexer) -> COTDetail? {"},{"violation":{"reason":"Function body should span 50 lines or less excluding comments and whitespace: currently spans 72 lines","ruleIdentifier":"function_body_length","location":{"character":5,"line":90,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Function Body Length","severity":"warning","ruleDescription":"Function bodies should not span too many lines"},"text":" func buildCOTDetail(cot: XMLIndexer) -> COTDetail? {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":93,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":95,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":99,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":103,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":107,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":111,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":115,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":119,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":123,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":127,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":131,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":135,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":139,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":143,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":147,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":151,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":155,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":159,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":163,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":167,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":171,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":175,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":179,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":183,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":188,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":211,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `!= nil` over `let _ =`","ruleIdentifier":"unused_optional_binding","location":{"character":16,"line":213,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Unused Optional Binding","severity":"warning","ruleDescription":"Prefer `!= nil` over `let _ =`"},"text":" if let _ = cot[\"event\"][\"detail\"][\"hideLabel\"].element {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":218,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":231,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":244,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":253,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":263,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":273,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":282,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":298,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":312,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":323,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":337,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":351,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Optional should be implicitly initialized without nil","ruleIdentifier":"implicit_optional_initialization","location":{"character":13,"line":354,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Implicit Optional Initialization","severity":"warning","ruleDescription":"Optionals should be consistently initialized, either with `= nil` or without."},"text":" var connectionEntry: COTConnectionEntry? = nil"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":380,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":390,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":404,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":411,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":423,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":436,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":441,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(uidAttributes[\"callsign\"] != nil) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":452,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":464,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":474,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":479,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":503,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":513,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"File should contain 400 lines or less: currently contains 531","ruleIdentifier":"file_length","location":{"character":1,"line":531,"file":"Sources\/SwiftTAK\/Parsers\/COTXMLParser.swift"},"ruleName":"File Length","severity":"warning","ruleDescription":"Files should not span too many lines."},"text":"}"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":35,"line":26,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var parameters: [String:String] = [:]"},{"violation":{"reason":"Prefer at least one space after slashes for comments","ruleIdentifier":"comment_spacing","location":{"character":49,"line":43,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Comment Spacing","severity":"warning","ruleDescription":"Prefer at least one space after slashes for comments"},"text":" public var serverProtocol: String = \"SSL\" \/\/TCP, SSL, QUIC"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":44,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":56,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Class body should span 250 lines or less excluding comments and whitespace: currently spans 285 lines","ruleIdentifier":"type_body_length","location":{"character":8,"line":60,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Type Body Length","severity":"warning","ruleDescription":"Type bodies should not span too many lines"},"text":"public class DataPackageParser: NSObject {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":61,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":45,"line":64,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var packageConfiguration: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":69,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'MANIFEST_FILE' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":9,"line":70,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let MANIFEST_FILE = \"manifest.xml\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":72,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":75,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":85,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":100,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":104,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":108,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":111,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":125,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":127,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":128,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!packageContents.rootFolder.isEmpty) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":17,"line":129,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(pathComponents.count > 1 && pathComponents.first! == packageContents.rootFolder) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 126 characters","ruleIdentifier":"line_length","location":{"character":1,"line":130,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.debug(\"[DataPackageParser]: Not applying a root folder since it appears to already be in place\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":136,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":145,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function should have complexity 10 or less; currently complexity is 11","ruleIdentifier":"cyclomatic_complexity","location":{"character":5,"line":146,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Cyclomatic Complexity","severity":"warning","ruleDescription":"Complexity of function bodies should be limited."},"text":" func retrieveFileFromArchive(fileName: String) -> Data {"},{"violation":{"reason":"Function body should span 50 lines or less excluding comments and whitespace: currently spans 57 lines","ruleIdentifier":"function_body_length","location":{"character":5,"line":146,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Function Body Length","severity":"warning","ruleDescription":"Function bodies should not span too many lines"},"text":" func retrieveFileFromArchive(fileName: String) -> Data {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":149,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 142 characters","ruleIdentifier":"line_length","location":{"character":1,"line":158,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.error(\"[DataPackageParser]: retrieveFileFromArchive tried to retrieve from an invalid data package for \\(fileName)\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":161,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":163,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":164,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!packageContents.rootFolder.isEmpty) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":17,"line":165,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(pathComponents.count > 1 && pathComponents.first! == packageContents.rootFolder) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 126 characters","ruleIdentifier":"line_length","location":{"character":1,"line":166,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.debug(\"[DataPackageParser]: Not applying a root folder since it appears to already be in place\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":172,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":179,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":189,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":191,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":192,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!packageContents.rootFolder.isEmpty) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":17,"line":193,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(pathComponents.count > 1 && pathComponents.first! == packageContents.rootFolder) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 126 characters","ruleIdentifier":"line_length","location":{"character":1,"line":194,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.debug(\"[DataPackageParser]: Not applying a root folder since it appears to already be in place\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":200,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 126 characters","ruleIdentifier":"line_length","location":{"character":1,"line":220,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.error(\"[DataPackageParser]: Unable to access sourceURL variable \\(String(describing: archiveLocation))\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":223,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 219 characters","ruleIdentifier":"line_length","location":{"character":1,"line":234,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.error(\"[DataPackageParser] Unable to extract data package to \\(extractLocation?.relativePath ?? \"NO PATH\"): \\(error) \\(FileManager.default.fileExists(atPath: extractLocation!.absoluteString))\")"},{"violation":{"reason":"Opening braces should be preceded by a single space and on the same line as the declaration","ruleIdentifier":"opening_brace","location":{"character":88,"line":242,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Opening Brace Spacing","severity":"warning","ruleDescription":"The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are preceded by a single space and on the same line as the declaration. Comments between the declaration and the opening brace are respected. Check out the `contrasted_opening_brace` rule for a different style."},"text":" guard let parsedArchive = Archive(url: sourceURL, accessMode: .read) else {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":243,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.error(\"[DataPackageParser]: Unable to access archive at location \\(String(describing: archiveLocation))\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":246,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":248,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":264,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":271,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(pathComponents.count > 2) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":20,"line":274,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" } else if (pathComponents.count > 1 && pathComponents.first!.lowercased() != \"manifest\") {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":281,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(pathComponents.count > 1) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":287,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":295,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":298,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":310,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":318,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Unused parameter in a closure should be replaced with _","ruleIdentifier":"unused_closure_parameter","location":{"character":44,"line":322,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Unused Closure Parameter","severity":"warning","ruleDescription":"Unused parameter in a closure should be replaced with _"},"text":" prefs.serverCertificates.forEach { key, serverCert in"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":324,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!certData.isEmpty) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 141 characters","ruleIdentifier":"line_length","location":{"character":1,"line":326,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let certPackage = TAKServerCertificatePackage(certificateData: certData, certificatePassword: serverCert.certificatePassword)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":328,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":331,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":332,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!didStoreAtLeastOneCertificate) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":344,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":345,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(!p12Files.isEmpty) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":348,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":353,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let certPackage = TAKServerCertificatePackage(certificateData: serverCertData, certificatePassword: certPassword)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":359,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":369,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":379,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":391,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":394,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"File should contain 400 lines or less: currently contains 406","ruleIdentifier":"file_length","location":{"character":1,"line":406,"file":"Sources\/SwiftTAK\/Parsers\/DataPackagerParser.swift"},"ruleName":"File Length","severity":"warning","ruleDescription":"Files should not span too many lines."},"text":"}"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":46,"line":14,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public var manifestConfiguration: [String:String] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":15,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":17,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":21,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":23,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(elementName == \"Content\" && currentDataPackageFile != nil) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":42,"line":34,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" attributes attributeDict: [String : String] = [:]"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":36,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(elementName == \"Configuration\") {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":16,"line":38,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" } else if(elementName == \"Content\") {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":16,"line":54,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" } else if(elementName == \"Parameter\") {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":55,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(currentDataPackageFile == nil && !isProcessingManifestConfiguration) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":65,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(isProcessingManifestConfiguration) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":20,"line":67,"file":"Sources\/SwiftTAK\/Parsers\/ManifestParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" } else if(currentDataPackageFile != nil) {"},{"violation":{"reason":"Enum element name 'USER_CERT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":10,"line":11,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case USER_CERT"},{"violation":{"reason":"Enum element name 'SERVER_CERT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":10,"line":12,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case SERVER_CERT"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Computed read-only properties should avoid using the get keyword","ruleIdentifier":"implicit_getter","location":{"character":9,"line":21,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Implicit Getter","severity":"warning","ruleDescription":"Computed read-only properties and subscripts should avoid using the get keyword."},"text":" get {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":35,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Computed read-only properties should avoid using the get keyword","ruleIdentifier":"implicit_getter","location":{"character":9,"line":37,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Implicit Getter","severity":"warning","ruleDescription":"Computed read-only properties and subscripts should avoid using the get keyword."},"text":" get {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":41,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_KEY' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":13,"line":43,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let DEFAULT_KEY: String = \"default\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":44,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":49,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":50,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" guard(!keyIndex.isEmpty) else { return DEFAULT_KEY }"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":53,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":56,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":58,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":59,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(existingCert == nil) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 154 characters","ruleIdentifier":"line_length","location":{"character":1,"line":60,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" serverCertificates[keyIndex] = TAKCertificatePreference(certificateType: .SERVER_CERT, certificateFilePath: certPath, certificatePassword: \"\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":65,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":69,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":70,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Limit vertical whitespace to a single empty line; currently 2","ruleIdentifier":"vertical_whitespace","location":{"character":9,"line":70,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Vertical Whitespace","severity":"warning","ruleDescription":"Limit vertical whitespace to a single empty line"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":71,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(existingCert == nil) {"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 154 characters","ruleIdentifier":"line_length","location":{"character":1,"line":72,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" serverCertificates[keyIndex] = TAKCertificatePreference(certificateType: .SERVER_CERT, certificateFilePath: \"\", certificatePassword: password)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":77,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":82,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 154 characters","ruleIdentifier":"line_length","location":{"character":1,"line":85,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" TAKLogger.info(\"[PreferencesParser]: DEPRECATION WARNING: serverCertificateFileName is deprecated. Please inspect the serverCertificates instead\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":88,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":93,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":98,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":107,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":110,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":114,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":115,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":116,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(elementName == \"entry\") {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":17,"line":131,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(currentAttr.starts(with: \"caLocation\")) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":24,"line":133,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" } else if(currentAttr.starts(with: \"caPassword\")) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":142,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":42,"line":148,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" attributes attributeDict: [String : String] = [:]"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":150,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(elementName == \"entry\") {"},{"violation":{"reason":"Variable name 'attr_key' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":18,"line":151,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" for (attr_key, attr_val) in attributeDict {"},{"violation":{"reason":"Variable name 'attr_val' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":28,"line":151,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" for (attr_key, attr_val) in attributeDict {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":17,"line":152,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(attr_key == \"key\") {"},{"violation":{"reason":"`where` clauses are preferred over a single `if` inside a `for`","ruleIdentifier":"for_where","location":{"character":17,"line":152,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Prefer For-Where","severity":"warning","ruleDescription":"`where` clauses are preferred over a single `if` inside a `for`"},"text":" if(attr_key == \"key\") {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":158,"file":"Sources\/SwiftTAK\/Parsers\/PreferencesParser.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":12,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":33,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(subcomponents.count > 1) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":45,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":46,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(doesMatch(node: rootNode, nodeName: nodeName, attrName: attrName, attrValue: attrValue)) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":49,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":50,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(isRecursive) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":21,"line":52,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(doesMatch(node: node, nodeName: nodeName, attrName: attrName, attrValue: attrValue)) {"},{"violation":{"reason":"`where` clauses are preferred over a single `if` inside a `for`","ruleIdentifier":"for_where","location":{"character":21,"line":52,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Prefer For-Where","severity":"warning","ruleDescription":"`where` clauses are preferred over a single `if` inside a `for`"},"text":" if(doesMatch(node: node, nodeName: nodeName, attrName: attrName, attrValue: attrValue)) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":60,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":64,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(doesMatch && !attrName.isEmpty) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":69,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLDocument.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":17,"line":10,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"class XMLElement : XMLNode {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":11,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":27,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":32,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":37,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":42,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":45,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLElement.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(attrVal == nil) {"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":28,"line":13,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" var attributes: [String:String] = [:]"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":35,"line":18,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" private var tempNodes: [String:XMLElement] = [:]"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":24,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":32,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":33,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" public func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":35,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(node != nil) {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":13,"line":37,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(key.isEmpty) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":42,"line":54,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" attributes attributeDict: [String : String] = [:]"},{"violation":{"reason":"Variable name 'attr_key' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":14,"line":57,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" for (attr_key, attr_val) in attributeDict {"},{"violation":{"reason":"Variable name 'attr_val' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":24,"line":57,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" for (attr_key, attr_val) in attributeDict {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":62,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":70,"file":"Sources\/SwiftTAK\/Parsers\/XML\/XMLNode.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(stringValue.isEmpty) {"},{"violation":{"reason":"Enum element name 'MetersPerSecond' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":11,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MetersPerSecond"},{"violation":{"reason":"Enum element name 'KmPerHour' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":12,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case KmPerHour"},{"violation":{"reason":"Enum element name 'FeetPerSecond' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":13,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case FeetPerSecond"},{"violation":{"reason":"Enum element name 'MilesPerHour' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":14,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MilesPerHour"},{"violation":{"reason":"Prefer at least one space after slashes for comments","ruleIdentifier":"comment_spacing","location":{"character":7,"line":19,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Comment Spacing","severity":"warning","ruleDescription":"Prefer at least one space after slashes for comments"},"text":" \/\/case MGRS"},{"violation":{"reason":"Enum element name 'Decimal' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":20,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Decimal"},{"violation":{"reason":"Enum element name 'MN' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":10,"line":24,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MN"},{"violation":{"reason":"Enum element name 'TN' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":10,"line":25,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TN"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":42,"line":29,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public static func nextSpeedUnit(unit:SpeedUnit) -> SpeedUnit {"},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":37,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" if(currentPosition+1 == order.count) {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":43,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":45,"line":44,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public static func nextLocationUnit(unit:LocationUnit) -> LocationUnit {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":46,"line":53,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" public static func nextDirectionUnit(unit:DirectionUnit) -> DirectionUnit {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":71,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses","ruleIdentifier":"control_statement","location":{"character":9,"line":75,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Control Statement","severity":"warning","ruleDescription":"`if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses"},"text":" switch(unit) {"},{"violation":{"reason":"Case statements should vertically aligned with their closing brace","ruleIdentifier":"switch_case_alignment","location":{"character":13,"line":76,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Switch and Case Statement Alignment","severity":"warning","ruleDescription":"Case statements should vertically align with their closing brace, or indented if configured otherwise."},"text":" case SpeedUnit.MetersPerSecond:"},{"violation":{"reason":"Case statements should vertically aligned with their closing brace","ruleIdentifier":"switch_case_alignment","location":{"character":13,"line":78,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Switch and Case Statement Alignment","severity":"warning","ruleDescription":"Case statements should vertically align with their closing brace, or indented if configured otherwise."},"text":" case SpeedUnit.KmPerHour:"},{"violation":{"reason":"Case statements should vertically aligned with their closing brace","ruleIdentifier":"switch_case_alignment","location":{"character":13,"line":82,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Switch and Case Statement Alignment","severity":"warning","ruleDescription":"Case statements should vertically align with their closing brace, or indented if configured otherwise."},"text":" case SpeedUnit.FeetPerSecond:"},{"violation":{"reason":"Case statements should vertically aligned with their closing brace","ruleIdentifier":"switch_case_alignment","location":{"character":13,"line":84,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Switch and Case Statement Alignment","severity":"warning","ruleDescription":"Case statements should vertically align with their closing brace, or indented if configured otherwise."},"text":" case SpeedUnit.MilesPerHour:"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":91,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLongToMGRS(latitude:longitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":92,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLongToMGRS(latitude: Double, longitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":95,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDMS(latitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":96,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDMS(latitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":101,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDMS(longitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":102,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDMS(longitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":107,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDDM(latitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":108,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDDM(latitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":113,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDDM(longitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":114,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDDM(longitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":119,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDecimal(latitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":120,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDecimal(latitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":123,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'LatLonToDecimal(longitude:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":124,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func LatLonToDecimal(longitude: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":127,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'ConvertToUnsignedDMS(latOrLong:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":128,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func ConvertToUnsignedDMS(latOrLong: Double) -> String {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":131,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":138,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Function name 'ConvertToDDM(latOrLong:)' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":24,"line":139,"file":"Sources\/SwiftTAK\/Utilities\/Conversions.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static func ConvertToDDM(latOrLong: Double) -> String {"},{"violation":{"reason":"Variable name 'DEFAULT_CSR_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":12,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_CSR_PORT = \"8446\""},{"violation":{"reason":"Variable name 'DEFAULT_SECURE_API_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":13,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_SECURE_API_PORT = \"8443\""},{"violation":{"reason":"Variable name 'DEFAULT_STREAMING_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":14,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_STREAMING_PORT = \"8089\""},{"violation":{"reason":"Variable name 'UDP_BROADCAST_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":15,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let UDP_BROADCAST_PORT = \"6969\""},{"violation":{"reason":"Variable name 'CHAT_UDP_BROADCAST_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":16,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let CHAT_UDP_BROADCAST_PORT = \"17012\""},{"violation":{"reason":"Variable name 'CHAT_TCP_BROADCAST_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":17,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let CHAT_TCP_BROADCAST_PORT = \"4242\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'MANIFEST_FILE' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":20,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let MANIFEST_FILE = \"manifest.xml\""},{"violation":{"reason":"Variable name 'PREF_FILE_SUFFIX' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":21,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let PREF_FILE_SUFFIX = \".pref\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'CERT_CONFIG_PATH' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":23,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let CERT_CONFIG_PATH = \"\/Marti\/api\/tls\/config\""},{"violation":{"reason":"Variable name 'CSR_PATH' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":24,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let CSR_PATH = \"\/Marti\/api\/tls\/signClient\/v2?clientUid=$UID&version=$VERSION\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":25,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'UDP_BROADCAST_URL' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":26,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let UDP_BROADCAST_URL = \"239.2.3.1\""},{"violation":{"reason":"Variable name 'CHAT_UDP_BROADCAST_URL' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":27,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let CHAT_UDP_BROADCAST_URL = \"224.10.10.1\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DEFAULT_CHATROOM_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":30,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let DEFAULT_CHATROOM_NAME = \"All Chat Rooms\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'TEAM_COLORS' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":33,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let TEAM_COLORS = TeamColor.allCases.map { $0.rawValue }"},{"violation":{"reason":"Variable name 'TEAM_ROLES' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":34,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let TEAM_ROLES = TeamRole.allCases.map { $0.rawValue }"},{"violation":{"reason":"Variable name 'UNIT_TYPES' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":35,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let UNIT_TYPES = UnitType.allCases.map { $0.rawValue }"},{"violation":{"reason":"Variable name 'EMERGENCY_TYPES' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":23,"line":36,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" public static let EMERGENCY_TYPES = EmergencyType.allCases.map { $0.rawValue }"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":37,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'TeamMember' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":47,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TeamMember = \"Team Member\""},{"violation":{"reason":"Enum element name 'TeamLead' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":48,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TeamLead = \"Team Lead\""},{"violation":{"reason":"Enum element name 'HQ' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":10,"line":49,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HQ = \"HQ\""},{"violation":{"reason":"Enum element name 'Sniper' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":50,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Sniper = \"Sniper\""},{"violation":{"reason":"Enum element name 'Medic' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":51,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Medic = \"Medic\""},{"violation":{"reason":"Enum element name 'ForwardObserver' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":52,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ForwardObserver = \"Forward Observer\""},{"violation":{"reason":"Enum element name 'K9' should be between 3 and 40 characters long","ruleIdentifier":"identifier_name","location":{"character":10,"line":54,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"warning","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case K9 = \"K9\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":55,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'Blue' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":60,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Blue = \"Blue\""},{"violation":{"reason":"Enum element name 'DarkBlue' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":61,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case DarkBlue = \"Dark Blue\""},{"violation":{"reason":"Enum element name 'Brown' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":62,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Brown = \"Brown\""},{"violation":{"reason":"Enum element name 'Cyan' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":63,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Cyan = \"Cyan\""},{"violation":{"reason":"Enum element name 'Green' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":64,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Green = \"Green\""},{"violation":{"reason":"Enum element name 'DarkGreen' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":65,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case DarkGreen = \"Dark Green\""},{"violation":{"reason":"Enum element name 'Magenta' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":66,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Magenta = \"Magenta\""},{"violation":{"reason":"Enum element name 'Maroon' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":67,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Maroon = \"Maroon\""},{"violation":{"reason":"Enum element name 'Orange' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":68,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Orange = \"Orange\""},{"violation":{"reason":"Enum element name 'Purple' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":69,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Purple = \"Purple\""},{"violation":{"reason":"Enum element name 'Red' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":70,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Red = \"Red\""},{"violation":{"reason":"Enum element name 'Teal' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":71,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Teal = \"Teal\""},{"violation":{"reason":"Enum element name 'White' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":72,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case White = \"White\""},{"violation":{"reason":"Enum element name 'Yellow' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":73,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Yellow = \"Yellow\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":74,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'Ground' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":79,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Ground = \"Ground\""},{"violation":{"reason":"String enum values can be omitted when they are equal to the enumcase name","ruleIdentifier":"redundant_string_enum_value","location":{"character":19,"line":79,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Redundant String Enum Value","severity":"warning","ruleDescription":"String enum values can be omitted when they are equal to the enumcase name"},"text":" case Ground = \"Ground\""},{"violation":{"reason":"Enum element name 'Air' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":80,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Air = \"Air\""},{"violation":{"reason":"String enum values can be omitted when they are equal to the enumcase name","ruleIdentifier":"redundant_string_enum_value","location":{"character":16,"line":80,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Redundant String Enum Value","severity":"warning","ruleDescription":"String enum values can be omitted when they are equal to the enumcase name"},"text":" case Air = \"Air\""},{"violation":{"reason":"Enum element name 'Sea' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":81,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Sea = \"Sea\""},{"violation":{"reason":"String enum values can be omitted when they are equal to the enumcase name","ruleIdentifier":"redundant_string_enum_value","location":{"character":16,"line":81,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Redundant String Enum Value","severity":"warning","ruleDescription":"String enum values can be omitted when they are equal to the enumcase name"},"text":" case Sea = \"Sea\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":82,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'NineOneOne' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":87,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case NineOneOne = \"911 Alert\""},{"violation":{"reason":"Enum element name 'Cancel' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":88,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Cancel = \"Cancel Alert\""},{"violation":{"reason":"Enum element name 'Geofence' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":89,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case Geofence = \"Geo-fence Breached\""},{"violation":{"reason":"Enum element name 'RingTheBell' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":90,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case RingTheBell = \"Ring The Bell\""},{"violation":{"reason":"Enum element name 'InContact' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":91,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case InContact = \"In Contact\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":92,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":102,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'HumanEstimated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":107,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HumanEstimated = \"h-e\""},{"violation":{"reason":"Enum element name 'HumanCalculated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":108,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HumanCalculated = \"h-c\""},{"violation":{"reason":"Enum element name 'HumanTranscribed' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":109,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HumanTranscribed = \"h-t\""},{"violation":{"reason":"Enum element name 'HumanCutAndPaste' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":110,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HumanCutAndPaste = \"h-p\""},{"violation":{"reason":"Enum element name 'HumanGIGO' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":111,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case HumanGIGO = \"h-g-i-g-o\""},{"violation":{"reason":"Enum element name 'MachineGPSDerived' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":112,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineGPSDerived = \"m-g\""},{"violation":{"reason":"Enum element name 'MachineGPSDerivedAugmented' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":113,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineGPSDerivedAugmented = \"m-g-n\""},{"violation":{"reason":"Enum element name 'MachineGPSDerivedDifferential' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":114,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineGPSDerivedDifferential = \"m-g-d\""},{"violation":{"reason":"Enum element name 'MachineMensurated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":115,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineMensurated = \"m-i\""},{"violation":{"reason":"Enum element name 'MachineMagnetic' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":116,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineMagnetic = \"m-m\""},{"violation":{"reason":"Enum element name 'MachineIns' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":117,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineIns = \"m-n\""},{"violation":{"reason":"Enum element name 'MachineSimulated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":118,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineSimulated = \"m-s\""},{"violation":{"reason":"Enum element name 'MachineConfigured' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":119,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineConfigured = \"m-c\""},{"violation":{"reason":"Enum element name 'MachineRelated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":120,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRelated = \"m-r\""},{"violation":{"reason":"Enum element name 'MachinePassed' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":121,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachinePassed = \"m-p\""},{"violation":{"reason":"Enum element name 'MachineFused' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":122,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineFused = \"m-f\""},{"violation":{"reason":"Enum element name 'MachineAlgorithmic' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":123,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineAlgorithmic = \"m-a\""},{"violation":{"reason":"Enum element name 'MachineLaserDesignated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":124,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineLaserDesignated = \"m-l\""},{"violation":{"reason":"Enum element name 'MachineRadioEPLRS' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":125,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioEPLRS = \"m-R-e\""},{"violation":{"reason":"Enum element name 'MachineRadioPLRS' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":126,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioPLRS = \"m-R-p\""},{"violation":{"reason":"Enum element name 'MachineRadioDoppler' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":127,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioDoppler = \"m-R-d\""},{"violation":{"reason":"Enum element name 'MachineRadioVHF' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":128,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioVHF = \"m-R-v\""},{"violation":{"reason":"Enum element name 'MachineRadioTadil' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":129,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioTadil = \"m-R-t\""},{"violation":{"reason":"Enum element name 'MachineRadioTadilA' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":130,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioTadilA = \"m-R-t-a\""},{"violation":{"reason":"Enum element name 'MachineRadioTadilB' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":131,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioTadilB = \"m-R-t-b\""},{"violation":{"reason":"Enum element name 'MachineRadioTadilJ' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":132,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case MachineRadioTadilJ = \"m-R-t-j\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":133,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":135,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":139,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Enum element name 'ParentProducer' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":146,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ParentProducer = \"p-p\""},{"violation":{"reason":"Enum element name 'ParentOwner' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":147,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ParentOwner = \"p-o\""},{"violation":{"reason":"Enum element name 'ParentManager' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":148,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ParentManager = \"p-m\""},{"violation":{"reason":"Enum element name 'ParentLeader' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":149,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ParentLeader = \"p-l\""},{"violation":{"reason":"Enum element name 'ChildCorrelated' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":150,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ChildCorrelated = \"c-c\""},{"violation":{"reason":"Enum element name 'ChildFused' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":151,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ChildFused = \"c-f\""},{"violation":{"reason":"Enum element name 'ChildAlternate' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":152,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case ChildAlternate = \"c-a\""},{"violation":{"reason":"Enum element name 'RefinementAmplification' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":153,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case RefinementAmplification = \"r-a\""},{"violation":{"reason":"Enum element name 'RefinementUrl' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":154,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case RefinementUrl = \"r-u\""},{"violation":{"reason":"Enum element name 'TaskingObject' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":155,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingObject = \"t-o\""},{"violation":{"reason":"Enum element name 'TaskingIndirect' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":156,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingIndirect = \"t-i\""},{"violation":{"reason":"Enum element name 'TaskingSubject' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":157,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingSubject = \"t-s\""},{"violation":{"reason":"Enum element name 'TaskingPreposition' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":158,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPreposition = \"t-p\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionAt' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":159,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionAt = \"t-p-a\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionBy' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":160,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionBy = \"t-p-b\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionWith' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":161,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionWith = \"t-p-w\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionFrom' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":162,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionFrom = \"t-p-f\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionRegarding' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":163,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionRegarding = \"t-p-r\""},{"violation":{"reason":"Enum element name 'TaskingPrepositionVia' should start with a lowercase character","ruleIdentifier":"identifier_name","location":{"character":10,"line":164,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" case TaskingPrepositionVia = \"t-p-v\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":165,"file":"Sources\/SwiftTAK\/Utilities\/TAKConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":16,"file":"Tests\/SwiftTAKTests\/COT\/COTEventTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotEvent = COTEvent(version: \"2.0\", uid: \"1234\", type: cotType, how: \"m-h\", time: Date(), start: Date(), stale: Date())"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Tests\/SwiftTAKTests\/COT\/COTEventTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":23,"file":"Tests\/SwiftTAKTests\/COT\/COTEventTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotEvent = COTEvent(version: \"2.0\", uid: \"1234\", type: cotType, how: \"m-h\", time: Date(), start: Date(), stale: Date())"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Tests\/SwiftTAKTests\/COT\/COTEventTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":30,"file":"Tests\/SwiftTAKTests\/COT\/COTEventTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotEvent = COTEvent(version: \"2.0\", uid: \"1234\", type: cotType, how: \"m-h\", time: Date(), start: Date(), stale: Date())"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":24,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":30,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 292 characters","ruleIdentifier":"line_length","location":{"character":1,"line":32,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let connectionEntry1 = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 147 characters","ruleIdentifier":"line_length","location":{"character":1,"line":33,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let videoNode1 = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: connectionEntry1)"},{"violation":{"reason":"Line should be 200 characters or less; currently it has 292 characters","ruleIdentifier":"line_length","location":{"character":1,"line":34,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let connectionEntry2 = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 147 characters","ruleIdentifier":"line_length","location":{"character":1,"line":35,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let videoNode2 = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: connectionEntry2)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":38,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 294 characters","ruleIdentifier":"line_length","location":{"character":1,"line":40,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let connectionEntry1 = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam 1\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 147 characters","ruleIdentifier":"line_length","location":{"character":1,"line":41,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let videoNode1 = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: connectionEntry1)"},{"violation":{"reason":"Line should be 200 characters or less; currently it has 294 characters","ruleIdentifier":"line_length","location":{"character":1,"line":42,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let connectionEntry2 = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam 2\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 147 characters","ruleIdentifier":"line_length","location":{"character":1,"line":43,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let videoNode2 = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: connectionEntry2)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":46,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 291 characters","ruleIdentifier":"line_length","location":{"character":1,"line":48,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let connectionEntry = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 145 characters","ruleIdentifier":"line_length","location":{"character":1,"line":49,"file":"Tests\/SwiftTAKTests\/COT\/COTVideoTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let videoNode = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: connectionEntry)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 169 characters","ruleIdentifier":"line_length","location":{"character":1,"line":14,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let expected = \"<__chat id='All Chat Rooms' chatroom='All Chat Rooms' groupOwner='TESTGO' parent='12345' senderCallsign='TRACKER-1' messageID='45678' ><\/__chat>\""},{"violation":{"reason":"Line should be 120 characters or less; currently it has 167 characters","ruleIdentifier":"line_length","location":{"character":1,"line":15,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotChat = COTChat(id: \"All Chat Rooms\", chatroom: \"All Chat Rooms\", groupOwner: \"TESTGO\", parent: \"12345\", senderCallsign: \"TRACKER-1\", messageID: \"45678\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":19,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":26,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":29,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":36,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":39,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":42,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":51,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":54,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":58,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":61,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer at least one space after slashes for comments","ruleIdentifier":"comment_spacing","location":{"character":7,"line":65,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Comment Spacing","severity":"warning","ruleDescription":"Prefer at least one space after slashes for comments"},"text":" \/\/TODO: Implement Child Nodes"},{"violation":{"reason":"TODOs should be resolved (Implement Child Nodes)","ruleIdentifier":"todo","location":{"character":7,"line":65,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Todo","severity":"warning","ruleDescription":"TODOs and FIXMEs should be resolved."},"text":" \/\/TODO: Implement Child Nodes"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":70,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 269 characters","ruleIdentifier":"line_length","location":{"character":1,"line":71,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let expected = \"<\/event>\""},{"violation":{"reason":"Line should be 120 characters or less; currently it has 148 characters","ruleIdentifier":"line_length","location":{"character":1,"line":72,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotEvent = COTEvent(version: \"2.0\", uid: \"12345\", type: \"a-f-g\", how: \"m-g\", time: testDate, start: testStartDate, stale: testStaleDate)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":73,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":76,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":79,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 148 characters","ruleIdentifier":"line_length","location":{"character":1,"line":85,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" var cotEvent = COTEvent(version: \"2.0\", uid: \"12345\", type: \"a-f-g\", how: \"m-g\", time: testDate, start: testStartDate, stale: testStaleDate)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":87,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 335 characters","ruleIdentifier":"line_length","location":{"character":1,"line":88,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let expected = \"<\/point><\/event>\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":92,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":95,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":99,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":102,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":105,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 159 characters","ruleIdentifier":"line_length","location":{"character":1,"line":108,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let expected = \"<\/link>\""},{"violation":{"reason":"Line should be 120 characters or less; currently it has 154 characters","ruleIdentifier":"line_length","location":{"character":1,"line":109,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let cotLink = COTLink(parentCallsign: \"TESTGO2\", productionTime: productionTime, relation: \"p-p\", type: \"a-f-G\", uid: \"12345\", callsign: \"TESTGO\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":110,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":113,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":116,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":120,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":123,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":126,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'ts_date' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":13,"line":128,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let ts_date = Date.now"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":132,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":135,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":138,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":142,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":145,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":148,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":152,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":155,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":158,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":162,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":165,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":168,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":172,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":175,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":178,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":182,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":185,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":188,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":192,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":195,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":198,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":202,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":205,"file":"Tests\/SwiftTAKTests\/COT\/COTtoXMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 155 characters","ruleIdentifier":"line_length","location":{"character":1,"line":25,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let result = cotMessage!.generateCOTXml(positionInfo: positionInfo, callSign: callSign, group: group, role: role, phone:\"\", phoneBatteryStatus: \"\")"},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":128,"line":25,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":" let result = cotMessage!.generateCOTXml(positionInfo: positionInfo, callSign: callSign, group: group, role: role, phone:\"\", phoneBatteryStatus: \"\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":30,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 165 characters","ruleIdentifier":"line_length","location":{"character":1,"line":32,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let result = cotMessage!.generateEmergencyCOTXml(positionInfo: positionInfo, callSign: callSign, emergencyType: EmergencyType.NineOneOne, isCancelled: false)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":39,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(\"TEST-1-Alert\", contactNode!.attribute(forName: \"callsign\")?.stringValue, \"Alert callsign was not included\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":43,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 160 characters","ruleIdentifier":"line_length","location":{"character":1,"line":45,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let result = cotMessage!.generateEmergencyCOTXml(positionInfo: positionInfo, callSign: callSign, emergencyType: EmergencyType.Cancel, isCancelled: true)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":50,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":56,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":58,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Force casts should be avoided","ruleIdentifier":"force_cast","location":{"character":73,"line":60,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Force Cast","severity":"error","ruleDescription":"Force casts should be avoided"},"text":" let chatNode = try actualDoc.nodes(forXPath: \"\/\/__chat\").first! as! XMLElement"},{"violation":{"reason":"Force casts should be avoided","ruleIdentifier":"force_cast","location":{"character":77,"line":61,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Force Cast","severity":"error","ruleDescription":"Force casts should be avoided"},"text":" let remarksNode = try actualDoc.nodes(forXPath: \"\/\/remarks\").first! as! XMLElement"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":62,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":66,"file":"Tests\/SwiftTAKTests\/COT\/XMLTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Tests\/SwiftTAKTests\/Parsers\/COTDateParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":15,"file":"Tests\/SwiftTAKTests\/Parsers\/COTDateParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Tests\/SwiftTAKTests\/Parsers\/COTDateParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":29,"file":"Tests\/SwiftTAKTests\/Parsers\/COTDateParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":31,"file":"Tests\/SwiftTAKTests\/Parsers\/COTDateParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Class body should span 250 lines or less excluding comments and whitespace: currently spans 276 lines","ruleIdentifier":"type_body_length","location":{"character":1,"line":13,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Type Body Length","severity":"warning","ruleDescription":"Type bodies should not span too many lines"},"text":"class COTXMLParserTests: SwiftTAKTestCase {"},{"violation":{"reason":"Variable name 'CONTACT_EVENT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":9,"line":14,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let CONTACT_EVENT: String = \"\"\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":28,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'CHAT_EVENT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":9,"line":29,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" let CHAT_EVENT: String = \"\"\""},{"violation":{"reason":"Line should be 120 characters or less; currently it has 184 characters","ruleIdentifier":"line_length","location":{"character":1,"line":31,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" <\/detail><\/event>"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":188,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":199,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 128 characters","ruleIdentifier":"line_length","location":{"character":1,"line":202,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":"<__video url=\"rtsp:\/\/localhost\/myfeed\" \/><\/detail><\/event>"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":210,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 200 characters or less; currently it has 417 characters","ruleIdentifier":"line_length","location":{"character":1,"line":213,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":"<__video url=\"localhost:8554\/myfeed\" uid=\"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\"><\/video><\/detail><\/event>"},{"violation":{"reason":"Line should be 200 characters or less; currently it has 299 characters","ruleIdentifier":"line_length","location":{"character":1,"line":215,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"error","ruleDescription":"Lines should not span too many characters."},"text":" let expectedConnectionEntry = COTConnectionEntry(uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", alias: \"My Cool Cam\", connectionProtocol: \"rtsp\", address: \"localhost\", port: 8554, path: \"\/myfeed\", roverPort: -1, rtspReliable: 0, ignoreEmbeddedKLV: false, networkTimeout: 12000, bufferTime: -1)"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 157 characters","ruleIdentifier":"line_length","location":{"character":1,"line":216,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let expectedVideo = COTVideo(baseUrl: \"localhost:8554\/myfeed\", uid: \"30f3c0c5-11ec-455d-bf0b-d93f1ad14716\", connectionEntry: expectedConnectionEntry)"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":222,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":231,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":243,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 194 characters","ruleIdentifier":"line_length","location":{"character":1,"line":246,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":"<\/detail><\/event>"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":261,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":272,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":283,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":294,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":305,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 178 characters","ruleIdentifier":"line_length","location":{"character":1,"line":308,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":"<\/shape><\/detail><\/event>"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":310,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":318,"file":"Tests\/SwiftTAKTests\/Parsers\/COTXMLParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":16,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":17,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":20,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":27,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 170 characters","ruleIdentifier":"line_length","location":{"character":1,"line":29,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" guard let rootCertURL = Bundle.module.url(forResource: TestConstants.ROOT_SERVER_CERTIFICATE_NAME, withExtension: TestConstants.CERTIFICATE_FILE_EXTENSION) else {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":32,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 173 characters","ruleIdentifier":"line_length","location":{"character":1,"line":33,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" guard let intermediateCertURL = Bundle.module.url(forResource: TestConstants.SERVER_CERTIFICATE_NAME, withExtension: TestConstants.CERTIFICATE_FILE_EXTENSION) else {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":36,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":39,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":43,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 129 characters","ruleIdentifier":"line_length","location":{"character":1,"line":44,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let rootCertPackage = serverCerts.first(where: {$0.certificatePassword == TestConstants.ROOT_SERVER_CERTFICATE_PASSWORD})"},{"violation":{"reason":"Line should be 120 characters or less; currently it has 127 characters","ruleIdentifier":"line_length","location":{"character":1,"line":45,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let intermediateCertPackage = serverCerts.first(where: {$0.certificatePassword == TestConstants.DEFAULT_CERT_PASSWORD})"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":46,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":49,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":60,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":61,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":71,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":83,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":84,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":87,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":101,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":102,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":105,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":117,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":118,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":121,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 122 characters","ruleIdentifier":"line_length","location":{"character":1,"line":125,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(TestConstants.DP_SUBFOLDER_NAME, parser.packageContents.rootFolder, \"Root folder not set properly\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":133,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":134,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":137,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 136 characters","ruleIdentifier":"line_length","location":{"character":1,"line":141,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(TestConstants.DP_SUBFOLDER_WITH_MANIFEST_NAME, parser.packageContents.rootFolder, \"Root folder not set properly\")"},{"violation":{"reason":"Type name 'DPAllFilesInSubfolderWithManifestButNoPrefsFileTests' should be between 3 and 40 characters long","ruleIdentifier":"type_name","location":{"character":13,"line":145,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Type Name","severity":"warning","ruleDescription":"Type name should only contain alphanumeric characters, start with an uppercase character and span between 3 and 40 characters in length.\nPrivate types may start with an underscore."},"text":"final class DPAllFilesInSubfolderWithManifestButNoPrefsFileTests: DataPackageParserTests {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":149,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":150,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":153,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 136 characters","ruleIdentifier":"line_length","location":{"character":1,"line":157,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(TestConstants.DP_SUBFOLDER_WITH_MANIFEST_NAME, parser.packageContents.rootFolder, \"Root folder not set properly\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":159,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Type name 'DPAllFilesInSubfolderWithSpacesWithManifestButNoPrefsFileTests' should be between 3 and 40 characters long","ruleIdentifier":"type_name","location":{"character":13,"line":169,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Type Name","severity":"warning","ruleDescription":"Type name should only contain alphanumeric characters, start with an uppercase character and span between 3 and 40 characters in length.\nPrivate types may start with an underscore."},"text":"final class DPAllFilesInSubfolderWithSpacesWithManifestButNoPrefsFileTests: DataPackageParserTests {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":173,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":174,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":177,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 134 characters","ruleIdentifier":"line_length","location":{"character":1,"line":181,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(TestConstants.DP_SUBFOLDER_WITH_SPACES_NAME, parser.packageContents.rootFolder, \"Root folder not set properly\")"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":183,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":197,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":198,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":201,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":207,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":215,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":221,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":227,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":233,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":239,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":245,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":257,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Prefer `static` over `class` in a final class","ruleIdentifier":"static_over_final_class","location":{"character":5,"line":258,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Static Over Final Class","severity":"warning","ruleDescription":"Prefer `static` over `class` when the declaration is not allowed to be overridden in child classes due to its context being final. Likewise, the compiler complains about `open` being used in `final` classes."},"text":" override class var defaultTestSuite: XCTestSuite {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":261,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":267,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":274,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 127 characters","ruleIdentifier":"line_length","location":{"character":1,"line":278,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let parsedFile = parser.packageFiles.first(where: {$0.fileLocation == \"b442d62a63007b3f8562caeeb3bcbf37\/startmap.kmz\"})"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":282,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 127 characters","ruleIdentifier":"line_length","location":{"character":1,"line":286,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let parsedFile = parser.packageFiles.first(where: {$0.fileLocation == \"b442d62a63007b3f8562caeeb3bcbf37\/startmap.kmz\"})"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":292,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":300,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":306,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":312,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":318,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":324,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":330,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":339,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":343,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":347,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":353,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":359,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 176 characters","ruleIdentifier":"line_length","location":{"character":1,"line":364,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" [TestConstants.DEFAULT_CERT_PASSWORD, TestConstants.ROOT_SERVER_CERTFICATE_PASSWORD].contains(parser.packageContents.serverCertificates.first?.certificatePassword))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":366,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":372,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":378,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":384,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":390,"file":"Tests\/SwiftTAKTests\/Parsers\/DataPackageParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":14,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":55,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":61,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":66,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":68,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" let expectedFile = parser.dataPackageFiles.first(where: {$0.fileLocation == \"b442d62a63007b3f8562caeeb3bcbf37\/startmap.kmz\"})"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":73,"file":"Tests\/SwiftTAKTests\/Parsers\/ManifestParserTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals","ruleIdentifier":"colon","location":{"character":23,"line":11,"file":"Tests\/SwiftTAKTests\/SwiftTAKTestCase.swift"},"ruleName":"Colon Spacing","severity":"warning","ruleDescription":"Colons should be next to the identifier when specifying a type and next to the key in dictionary literals"},"text":"class SwiftTAKTestCase : XCTestCase {"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":9,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DP_ALL_TOP' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":11,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_ALL_TOP = \"tak-all-top\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_ALL_TOP' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":12,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_ALL_TOP = \"tak-subfolder-all-top\""},{"violation":{"reason":"Variable name 'DP_ALL_TOP_WITH_MANIFEST' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":13,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_ALL_TOP_WITH_MANIFEST = \"tak-all-top-with-manifest-folder\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_WITH_MANIFEST' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":14,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_WITH_MANIFEST = \"tak-subfolder-with-manifest-folder\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_NO_PREFS_WITH_MANIFEST' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":15,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_NO_PREFS_WITH_MANIFEST = \"tak-subfolder-no-prefs-with-manifest-folder\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_SPACES_NO_PREFS_WITH_MANIFEST' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":16,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_SPACES_NO_PREFS_WITH_MANIFEST = \"tak-subfolder-spaces-no-prefs-with-manifest-folder\""},{"violation":{"reason":"Variable name 'DP_NO_MANIFEST' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":17,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_NO_MANIFEST = \"tak-no-manifest\""},{"violation":{"reason":"Variable name 'DP_INVALID_ZIP' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":18,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_INVALID_ZIP = \"invalid-data-package-zip\""},{"violation":{"reason":"Variable name 'DP_MULTI_FILE_ZIP' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":19,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_MULTI_FILE_ZIP = \"multifile-data-package-zip\""},{"violation":{"reason":"Variable name 'DP_ATAK_MULTI_CERT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":20,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_ATAK_MULTI_CERT = \"tak-multi-cert-atak-format\""},{"violation":{"reason":"Variable name 'DP_NON_MATCHING_CERT_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":21,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_NON_MATCHING_CERT_NAME = \"tak-non-matching-cert-name\""},{"violation":{"reason":"Variable name 'DP_FILE_EXTENSION' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":22,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_FILE_EXTENSION = \"zip\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":23,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":25,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_NAME = \"rpi-tak\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_WITH_MANIFEST_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":26,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_WITH_MANIFEST_NAME = \"rpi-manifest\""},{"violation":{"reason":"Variable name 'DP_SUBFOLDER_WITH_SPACES_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":27,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DP_SUBFOLDER_WITH_SPACES_NAME = \"rpi manifest. 20\""},{"violation":{"reason":"Variable name 'SERVER_CERTIFICATE_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":28,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let SERVER_CERTIFICATE_NAME = \"truststore-intermediate\""},{"violation":{"reason":"Variable name 'ROOT_SERVER_CERTIFICATE_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":29,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let ROOT_SERVER_CERTIFICATE_NAME = \"truststore-root\""},{"violation":{"reason":"Variable name 'ROOT_SERVER_CERTFICATE_PASSWORD' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":30,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let ROOT_SERVER_CERTFICATE_PASSWORD = \"taktak\""},{"violation":{"reason":"Variable name 'USER_CERTIFICATE_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":31,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let USER_CERTIFICATE_NAME = \"user\""},{"violation":{"reason":"Variable name 'PREF_FILE_NAME' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":32,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let PREF_FILE_NAME = \"tak-server\""},{"violation":{"reason":"Variable name 'CERTIFICATE_FILE_EXTENSION' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":33,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let CERTIFICATE_FILE_EXTENSION = \"p12\""},{"violation":{"reason":"Variable name 'DEFAULT_CERT_PASSWORD' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":34,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let DEFAULT_CERT_PASSWORD = \"atakatak\""},{"violation":{"reason":"Variable name 'SERVER_URL' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":35,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let SERVER_URL = \"192.168.0.49\""},{"violation":{"reason":"Variable name 'SERVER_PORT' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":36,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let SERVER_PORT = \"8089\""},{"violation":{"reason":"Variable name 'SERVER_PROTOCOL' should only contain alphanumeric and other allowed characters","ruleIdentifier":"identifier_name","location":{"character":16,"line":37,"file":"Tests\/SwiftTAKTests\/TestConstants.swift"},"ruleName":"Identifier Name","severity":"error","ruleDescription":"Identifier names should only contain alphanumeric characters and start with a lowercase character or should only contain capital letters. In an exception to the above, variable names may start with a capital letter when they are declared as static. Variable names should not be too long or too short."},"text":" static let SERVER_PROTOCOL = \"ssl\""},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":13,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":18,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":22,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":30,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":35,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":40,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 136 characters","ruleIdentifier":"line_length","location":{"character":1,"line":42,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(\"30\", Conversions.convertToSpeedUnit(unit: SpeedUnit.MetersPerSecond, metersPerSecond: mockSpeedMetersPerSecond))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":44,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 131 characters","ruleIdentifier":"line_length","location":{"character":1,"line":46,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(\"108\", Conversions.convertToSpeedUnit(unit: SpeedUnit.KmPerHour, metersPerSecond: mockSpeedMetersPerSecond))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":48,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 134 characters","ruleIdentifier":"line_length","location":{"character":1,"line":50,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(\"98\", Conversions.convertToSpeedUnit(unit: SpeedUnit.FeetPerSecond, metersPerSecond: mockSpeedMetersPerSecond))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":52,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Line should be 120 characters or less; currently it has 133 characters","ruleIdentifier":"line_length","location":{"character":1,"line":54,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Line Length","severity":"warning","ruleDescription":"Lines should not span too many characters."},"text":" XCTAssertEqual(\"67\", Conversions.convertToSpeedUnit(unit: SpeedUnit.MilesPerHour, metersPerSecond: mockSpeedMetersPerSecond))"},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":56,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":60,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":64,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":65,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Limit vertical whitespace to a single empty line; currently 2","ruleIdentifier":"vertical_whitespace","location":{"character":5,"line":65,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Vertical Whitespace","severity":"warning","ruleDescription":"Limit vertical whitespace to a single empty line"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":73,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":77,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":81,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":85,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":89,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Lines should not have trailing whitespace","ruleIdentifier":"trailing_whitespace","location":{"character":1,"line":93,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Whitespace","severity":"warning","ruleDescription":"Lines should not have trailing whitespace"},"text":" "},{"violation":{"reason":"Files should have a single trailing newline","ruleIdentifier":"trailing_newline","location":{"line":98,"file":"Tests\/SwiftTAKTests\/Utilities\/ConversionsTests.swift"},"ruleName":"Trailing Newline","severity":"warning","ruleDescription":"Files should have a single trailing newline"},"text":""}] diff --git a/Brewfile b/Brewfile new file mode 100644 index 0000000..33a8294 --- /dev/null +++ b/Brewfile @@ -0,0 +1,3 @@ +# Brewfile + +brew "swiftlint" diff --git a/Package.resolved b/Package.resolved index 99b1445..3c4dd14 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,14 @@ { "pins" : [ + { + "identity" : "swiftlintplugins", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SimplyDanny/SwiftLintPlugins.git", + "state" : { + "revision" : "8a4640d14777685ba8f14e832373160498fbab92", + "version" : "0.63.2" + } + }, { "identity" : "swxmlhash", "kind" : "remoteSourceControl", diff --git a/Package.swift b/Package.swift index 325141f..bf9607d 100644 --- a/Package.swift +++ b/Package.swift @@ -7,6 +7,7 @@ let package = Package( name: "SwiftTAK", platforms: [ .iOS(.v15), + .macOS(.v12) ], products: [ // Products define the executables and libraries a package produces, and make them visible to other packages. @@ -16,19 +17,27 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/weichsel/ZIPFoundation.git", .upToNextMajor(from: "0.9.0")), - .package(url: "https://github.com/drmohundro/SWXMLHash.git", .upToNextMajor(from: "7.0.0")) + .package(url: "https://github.com/drmohundro/SWXMLHash.git", .upToNextMajor(from: "7.0.0")), + .package(url: "https://github.com/SimplyDanny/SwiftLintPlugins.git", from: "0.55.1") ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "SwiftTAK", - dependencies: ["ZIPFoundation", "SWXMLHash"]), + dependencies: ["ZIPFoundation", "SWXMLHash"], + plugins: [ + .plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLintPlugins") + ] + ), .testTarget( name: "SwiftTAKTests", dependencies: ["SwiftTAK", "SWXMLHash", "ZIPFoundation"], resources: [ .process("TestAssets") + ], + plugins: [ + .plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLintPlugins") ] ), ]