Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
Ajout de la définition d'une architecture de classe pour éviter de définir manuellement les classes R/R2Image/R2Fonts.... (optionel)
38 lines
1.2 KiB
Swift
38 lines
1.2 KiB
Swift
//
|
|
// 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)
|
|
}
|
|
}
|
|
}
|