// // ArchitectureGenerator.swift // // // Created by Thibaut Schmitt on 18/11/2022. // import ToolCore import Foundation struct ArchitectureGenerator { static func writeArchitecture(_ architecture: ConfigurationArchitecture) { // Create extension content let architectureContent = [ "// Generated by ResgenSwift.\(Generate.toolName) \(ResgenSwiftVersion)", architecture.getClass() ] .joined(separator: "\n\n") let filename = "\(architecture.classname).swift" guard let filePath = architecture.path else { let error = GenerateError.writeFile(filename, "Path of file is not defined.") print(error.localizedDescription) Generate.exit(withError: error) } // Write content let architectureFilePathURL = URL(fileURLWithPath: "\(filePath)/\(filename)") do { try architectureContent.write(to: architectureFilePathURL, atomically: false, encoding: .utf8) } catch (let error) { let error = GenerateError.writeFile(filename, error.localizedDescription) print(error.localizedDescription) Generate.exit(withError: error) } } }