Fix error/warning message to be shown in Xcode.IssueNavigator
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit

This commit is contained in:
Thibaut Schmitt 2022-11-22 17:14:13 +01:00
parent 5a3d273acc
commit fc427733ee
27 changed files with 79 additions and 79 deletions

View File

@ -77,21 +77,21 @@ struct Colors: ParsableCommand {
// Check if input file exists // Check if input file exists
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = ColorsToolError.fileNotExists(options.inputFile) let error = ColorsToolError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
// Check if xcassets file exists // Check if xcassets file exists
guard fileManager.fileExists(atPath: options.xcassetsPath) else { guard fileManager.fileExists(atPath: options.xcassetsPath) else {
let error = ColorsToolError.fileNotExists(options.xcassetsPath) let error = ColorsToolError.fileNotExists(options.xcassetsPath)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
// Extension for UIKit and SwiftUI should have different name // Extension for UIKit and SwiftUI should have different name
guard options.extensionName != options.extensionNameSwiftUI else { guard options.extensionName != options.extensionNameSwiftUI else {
let error = ColorsToolError.extensionNamesCollision(options.extensionName) let error = ColorsToolError.extensionNamesCollision(options.extensionName)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
@ -117,7 +117,7 @@ struct Colors: ParsableCommand {
try fileManager.removeItem(atPath: assetsColorPath) try fileManager.removeItem(atPath: assetsColorPath)
} catch { } catch {
let error = ColorsToolError.deleteExistingColors("\(options.xcassetsPath)/Colors") let error = ColorsToolError.deleteExistingColors("\(options.xcassetsPath)/Colors")
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
} }

View File

@ -32,7 +32,7 @@ struct ColorExtensionGenerator {
try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8) try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = ColorsToolError.writeExtension(extensionFilePath, error.localizedDescription) let error = ColorsToolError.writeExtension(extensionFilePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
} }

View File

@ -29,7 +29,7 @@ struct ColorXcassetHelper {
withIntermediateDirectories: true) withIntermediateDirectories: true)
} catch { } catch {
let error = ColorsToolError.createAssetFolder(colorSetPath) let error = ColorsToolError.createAssetFolder(colorSetPath)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
} }
@ -40,7 +40,7 @@ struct ColorXcassetHelper {
try color.contentsJSON().write(to: contentsJsonPathURL, atomically: false, encoding: .utf8) try color.contentsJSON().write(to: contentsJsonPathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = ColorsToolError.writeAsset(error.localizedDescription) let error = ColorsToolError.writeAsset(error.localizedDescription)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }
} }

View File

@ -26,7 +26,7 @@ struct ParsedColor {
guard allComponents.contains(true) == false else { guard allComponents.contains(true) == false else {
let error = ColorsToolError.badColorDefinition(light, dark) let error = ColorsToolError.badColorDefinition(light, dark)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }

View File

@ -37,7 +37,7 @@ class ColorFileParser {
guard colorContent.count >= 2 else { guard colorContent.count >= 2 else {
let error = ColorsToolError.badFormat(colorLine) let error = ColorsToolError.badFormat(colorLine)
print(error.localizedDescription) print(error.description)
Colors.exit(withError: error) Colors.exit(withError: error)
} }

View File

@ -74,14 +74,14 @@ struct Fonts: ParsableCommand {
// Check input file exists // Check input file exists
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = FontsToolError.fileNotExists(options.inputFile) let error = FontsToolError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Fonts.exit(withError: error) Fonts.exit(withError: error)
} }
// Extension for UIKit and SwiftUI should have different name // Extension for UIKit and SwiftUI should have different name
guard options.extensionName != options.extensionNameSwiftUI else { guard options.extensionName != options.extensionNameSwiftUI else {
let error = FontsToolError.extensionNamesCollision(options.extensionName) let error = FontsToolError.extensionNamesCollision(options.extensionName)
print(error.localizedDescription) print(error.description)
Fonts.exit(withError: error) Fonts.exit(withError: error)
} }

View File

@ -39,7 +39,7 @@ class FontsToolHelper {
let fileManager = FileManager() let fileManager = FileManager()
guard fileManager.fileExists(atPath: inputFolder) else { guard fileManager.fileExists(atPath: inputFolder) else {
let error = FontsToolError.inputFolderNotFound(inputFolder) let error = FontsToolError.inputFolderNotFound(inputFolder)
print(error.localizedDescription) print(error.description)
Fonts.exit(withError: error) Fonts.exit(withError: error)
} }
@ -64,7 +64,7 @@ class FontsToolHelper {
guard let fontName = task.output, task.terminationStatus == 0 else { guard let fontName = task.output, task.terminationStatus == 0 else {
let error = FontsToolError.fcScan(path, task.terminationStatus, task.output) let error = FontsToolError.fcScan(path, task.terminationStatus, task.output)
print(error.localizedDescription) print(error.description)
Fonts.exit(withError: error) Fonts.exit(withError: error)
} }

View File

@ -38,7 +38,7 @@ class FontExtensionGenerator {
try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8) try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = FontsToolError.writeExtension(extensionFilePath, error.localizedDescription) let error = FontsToolError.writeExtension(extensionFilePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Fonts.exit(withError: error) Fonts.exit(withError: error)
} }
} }

View File

@ -20,7 +20,7 @@ struct ArchitectureGenerator {
let filename = "\(architecture.classname).swift" let filename = "\(architecture.classname).swift"
guard let filePath = architecture.path else { guard let filePath = architecture.path else {
let error = GenerateError.writeFile(filename, "Path of file is not defined.") let error = GenerateError.writeFile(filename, "Path of file is not defined.")
print(error.localizedDescription) print(error.description)
Generate.exit(withError: error) Generate.exit(withError: error)
} }
@ -30,7 +30,7 @@ struct ArchitectureGenerator {
try architectureContent.write(to: architectureFilePathURL, atomically: false, encoding: .utf8) try architectureContent.write(to: architectureFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = GenerateError.writeFile(filename, error.localizedDescription) let error = GenerateError.writeFile(filename, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Generate.exit(withError: error) Generate.exit(withError: error)
} }
} }

View File

@ -12,13 +12,13 @@ class ConfigurationFileParser {
static func parse(_ configurationFile: String) -> ConfigurationFile { static func parse(_ configurationFile: String) -> ConfigurationFile {
guard let data = FileManager().contents(atPath: configurationFile) else { guard let data = FileManager().contents(atPath: configurationFile) else {
let error = GenerateError.fileNotExists(configurationFile) let error = GenerateError.fileNotExists(configurationFile)
print(error.localizedDescription) print(error.description)
Generate.exit(withError: error) Generate.exit(withError: error)
} }
guard let configuration = try? YAMLDecoder().decode(ConfigurationFile.self, from: data) else { guard let configuration = try? YAMLDecoder().decode(ConfigurationFile.self, from: data) else {
let error = GenerateError.invalidConfigurationFile(configurationFile) let error = GenerateError.invalidConfigurationFile(configurationFile)
print(error.localizedDescription) print(error.description)
Generate.exit(withError: error) Generate.exit(withError: error)
} }

View File

@ -12,7 +12,7 @@ extension FileManager {
var files = [String]() var files = [String]()
guard let enumerator = self.enumerator(at: URL(string: directory)!, includingPropertiesForKeys: [.isRegularFileKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) else { guard let enumerator = self.enumerator(at: URL(string: directory)!, includingPropertiesForKeys: [.isRegularFileKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) else {
let error = ImagesError.unknown("Cannot enumerate file in \(directory)") let error = ImagesError.unknown("Cannot enumerate file in \(directory)")
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
@ -24,7 +24,7 @@ extension FileManager {
} }
} catch { } catch {
let error = ImagesError.getFileAttributed(fileURL.relativePath, error.localizedDescription) let error = ImagesError.getFileAttributed(fileURL.relativePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
} }
@ -35,7 +35,7 @@ extension FileManager {
var files = [String]() var files = [String]()
guard let enumerator = self.enumerator(at: URL(string: directory)!, includingPropertiesForKeys: [.isDirectoryKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) else { guard let enumerator = self.enumerator(at: URL(string: directory)!, includingPropertiesForKeys: [.isDirectoryKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) else {
let error = ImagesError.unknown("Cannot enumerate imageset directory in \(directory)") let error = ImagesError.unknown("Cannot enumerate imageset directory in \(directory)")
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
@ -47,7 +47,7 @@ extension FileManager {
} }
} catch { } catch {
let error = ImagesError.getFileAttributed(fileURL.relativePath, error.localizedDescription) let error = ImagesError.getFileAttributed(fileURL.relativePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
} }

View File

@ -31,7 +31,7 @@ class ImageExtensionGenerator {
try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8) try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = ImagesError.writeFile(extensionFilePath, error.localizedDescription) let error = ImagesError.writeFile(extensionFilePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
} }

View File

@ -48,7 +48,7 @@ class XcassetsGenerator {
} }
} }
let error = ImagesError.unknownImageExtension(parsedImage.name) let error = ImagesError.unknownImageExtension(parsedImage.name)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
}() }()
@ -77,7 +77,7 @@ class XcassetsGenerator {
withIntermediateDirectories: true) withIntermediateDirectories: true)
} catch { } catch {
let error = ImagesError.createAssetFolder(imagesetPath) let error = ImagesError.createAssetFolder(imagesetPath)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
} }

View File

@ -82,7 +82,7 @@ struct Images: ParsableCommand {
// Input file // Input file
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = ImagesError.fileNotExists(options.inputFile) let error = ImagesError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
@ -92,7 +92,7 @@ struct Images: ParsableCommand {
// Extension for UIKit and SwiftUI should have different name // Extension for UIKit and SwiftUI should have different name
guard options.extensionName != options.extensionNameSwiftUI else { guard options.extensionName != options.extensionNameSwiftUI else {
let error = ImagesError.extensionNamesCollision(options.extensionName) let error = ImagesError.extensionNamesCollision(options.extensionName)
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
@ -117,7 +117,7 @@ struct Images: ParsableCommand {
} }
let error = ImagesError.rsvgConvertNotFound let error = ImagesError.rsvgConvertNotFound
print(error.localizedDescription) print(error.description)
Images.exit(withError: error) Images.exit(withError: error)
} }
} }

View File

@ -31,7 +31,7 @@ class StringsFileGenerator {
try fileContent.write(to: stringsFilePathURL, atomically: false, encoding: .utf8) try fileContent.write(to: stringsFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = StringiumError.writeFile(error.localizedDescription, stringsFilePath) let error = StringiumError.writeFile(error.localizedDescription, stringsFilePath)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
} }
@ -75,7 +75,7 @@ class StringsFileGenerator {
stringsFileContent += "\"\(definition.name)\" = \"\(translation)\";\n\n" stringsFileContent += "\"\(definition.name)\" = \"\(translation)\";\n\n"
} else if skipDefinition == false { } else if skipDefinition == false {
let error = StringiumError.langNotDefined(lang, definition.name, definition.reference != nil) let error = StringiumError.langNotDefined(lang, definition.name, definition.reference != nil)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
} }
@ -101,7 +101,7 @@ class StringsFileGenerator {
try extensionFileContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8) try extensionFileContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = StringiumError.writeFile(extensionFilePath, error.localizedDescription) let error = StringiumError.writeFile(extensionFilePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
} }

View File

@ -24,7 +24,7 @@ class TagsGenerator {
try extensionFileContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8) try extensionFileContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
} catch (let error) { } catch (let error) {
let error = StringiumError.writeFile(extensionFilePath, error.localizedDescription) let error = StringiumError.writeFile(extensionFilePath, error.localizedDescription)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
} }

View File

@ -109,7 +109,7 @@ class Definition {
func getNSLocalizedStringProperty(forLang lang: String) -> String { func getNSLocalizedStringProperty(forLang lang: String) -> String {
guard let translation = translations[lang] else { guard let translation = translations[lang] else {
let error = StringiumError.langNotDefined(lang, name, reference != nil) let error = StringiumError.langNotDefined(lang, name, reference != nil)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
@ -132,7 +132,7 @@ class Definition {
func getNSLocalizedStringStaticProperty(forLang lang: String) -> String { func getNSLocalizedStringStaticProperty(forLang lang: String) -> String {
guard let translation = translations[lang] else { guard let translation = translations[lang] else {
let error = StringiumError.langNotDefined(lang, name, reference != nil) let error = StringiumError.langNotDefined(lang, name, reference != nil)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
@ -157,7 +157,7 @@ class Definition {
func getProperty(forLang lang: String) -> String { func getProperty(forLang lang: String) -> String {
guard let translation = translations[lang] else { guard let translation = translations[lang] else {
let error = StringiumError.langNotDefined(lang, name, reference != nil) let error = StringiumError.langNotDefined(lang, name, reference != nil)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
@ -173,7 +173,7 @@ class Definition {
func getStaticProperty(forLang lang: String) -> String { func getStaticProperty(forLang lang: String) -> String {
guard let translation = translations[lang] else { guard let translation = translations[lang] else {
let error = StringiumError.langNotDefined(lang, name, reference != nil) let error = StringiumError.langNotDefined(lang, name, reference != nil)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }

View File

@ -70,20 +70,20 @@ struct Stringium: ParsableCommand {
// Input file // Input file
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = StringiumError.fileNotExists(options.inputFile) let error = StringiumError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
// Langs // Langs
guard options.langs.isEmpty == false else { guard options.langs.isEmpty == false else {
let error = StringiumError.langsListEmpty let error = StringiumError.langsListEmpty
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }
guard options.langs.contains(options.defaultLang) else { guard options.langs.contains(options.defaultLang) else {
let error = StringiumError.defaultLangsNotInLangs let error = StringiumError.defaultLangsNotInLangs
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }

View File

@ -30,7 +30,7 @@ enum StringiumError: Error {
case .langNotDefined(let lang, let definitionName, let isReference): case .langNotDefined(let lang, let definitionName, let isReference):
if isReference { if isReference {
return " error:[\(Stringium.toolName)] Reference are handled only by TwineTool. Please use it or remove reference from you strings file." return "error: [\(Stringium.toolName)] Reference are handled only by Twine. Please use it or remove reference from you strings file."
} }
return "error: [\(Stringium.toolName)] Lang \"\(lang)\" not found for \"\(definitionName)\"" return "error: [\(Stringium.toolName)] Lang \"\(lang)\" not found for \"\(definitionName)\""
} }

View File

@ -62,7 +62,7 @@ struct Tags: ParsableCommand {
// Input file // Input file
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = StringiumError.fileNotExists(options.inputFile) let error = StringiumError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Stringium.exit(withError: error) Stringium.exit(withError: error)
} }

View File

@ -66,20 +66,20 @@ struct Twine: ParsableCommand {
// Input file // Input file
guard fileManager.fileExists(atPath: options.inputFile) else { guard fileManager.fileExists(atPath: options.inputFile) else {
let error = TwineError.fileNotExists(options.inputFile) let error = TwineError.fileNotExists(options.inputFile)
print(error.localizedDescription) print(error.description)
Twine.exit(withError: error) Twine.exit(withError: error)
} }
// Langs // Langs
guard options.langs.isEmpty == false else { guard options.langs.isEmpty == false else {
let error = TwineError.langsListEmpty let error = TwineError.langsListEmpty
print(error.localizedDescription) print(error.description)
Twine.exit(withError: error) Twine.exit(withError: error)
} }
guard options.langs.contains(options.defaultLang) else { guard options.langs.contains(options.defaultLang) else {
let error = TwineError.defaultLangsNotInLangs let error = TwineError.defaultLangsNotInLangs
print(error.localizedDescription) print(error.description)
Twine.exit(withError: error) Twine.exit(withError: error)
} }