mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
40 lines
966 B
Swift
40 lines
966 B
Swift
import Foundation
|
|
import JSONUtilities
|
|
import PathKit
|
|
import ProjectSpec
|
|
import xcodeproj
|
|
import Yams
|
|
|
|
public class SpecLoader {
|
|
|
|
var project: Project!
|
|
private var projectDictionary: [String: Any]?
|
|
let version: Version
|
|
|
|
public init(version: Version) {
|
|
self.version = version
|
|
}
|
|
|
|
public func loadProject(path: Path) throws -> Project {
|
|
let dictionary = try Project.loadDictionary(path: path)
|
|
let project = try Project(basePath: path.parent(), jsonDictionary: dictionary)
|
|
|
|
self.project = project
|
|
projectDictionary = dictionary
|
|
|
|
return project
|
|
}
|
|
|
|
public func generateCacheFile() throws -> CacheFile? {
|
|
guard let projectDictionary = projectDictionary,
|
|
let project = project else {
|
|
return nil
|
|
}
|
|
return try CacheFile(
|
|
version: version,
|
|
projectDictionary: projectDictionary,
|
|
project: project
|
|
)
|
|
}
|
|
}
|