upgrade to xcodeproj 0.1.1

This commit is contained in:
Yonas Kolb
2017-08-25 15:31:50 +02:00
parent fc72702e33
commit e77faeddf3
7 changed files with 46 additions and 405 deletions
+18 -4
View File
@@ -10,12 +10,14 @@ import Foundation
import xcodeproj
import PathKit
import ProjectSpec
import Yams
import JSONUtilities
extension ProjectSpec {
public func getProjectBuildSettings(config: Config) -> BuildSettings {
let buildSettings: BuildSettings = .empty
var buildSettings: BuildSettings = [:]
buildSettings += SettingsPresetFile.base.getBuildSettings()
if let type = config.type {
@@ -28,7 +30,7 @@ extension ProjectSpec {
}
public func getTargetBuildSettings(target: Target, config: Config) -> BuildSettings {
let buildSettings = BuildSettings()
var buildSettings = BuildSettings()
buildSettings += SettingsPresetFile.platform(target.platform).getBuildSettings()
buildSettings += SettingsPresetFile.product(target.type).getBuildSettings()
@@ -38,7 +40,7 @@ extension ProjectSpec {
}
public func getBuildSettings(settings: Settings, config: Config) -> BuildSettings {
let buildSettings: BuildSettings = .empty
var buildSettings: BuildSettings = [:]
for preset in settings.presets {
let presetSettings = settingPresets[preset]!
@@ -80,11 +82,23 @@ extension SettingsPresetFile {
return nil
}
guard let buildSettings = try? BuildSettings(path: settingsPath) else {
guard let buildSettings = try? loadSettings(path: settingsPath) else {
print("Error parsing \"\(name)\" settings")
return nil
}
buildSettingFiles[path] = buildSettings
return buildSettings
}
public func loadSettings(path: Path) throws -> BuildSettings {
let content: String = try path.read()
if content == "" {
return [:]
}
let yaml = try Yams.load(yaml: content)
guard let dictionary = yaml as? JSONDictionary else {
throw JSONUtilsError.fileNotAJSONDictionary
}
return dictionary
}
}