mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
format_code
This commit is contained in:
@@ -8,12 +8,12 @@ public struct Plist: Equatable {
|
||||
|
||||
public init(path: String, attributes: [String: Any] = [:]) {
|
||||
self.path = path
|
||||
self.properties = attributes
|
||||
properties = attributes
|
||||
}
|
||||
|
||||
public static func == (lhs: Plist, rhs: Plist) -> Bool {
|
||||
return lhs.path == rhs.path &&
|
||||
NSDictionary(dictionary: lhs.properties).isEqual(to: rhs.properties)
|
||||
NSDictionary(dictionary: lhs.properties).isEqual(to: rhs.properties)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ public struct Scheme: Equatable {
|
||||
name: String,
|
||||
randomExecutionOrder: Bool = false,
|
||||
parallelizable: Bool = false
|
||||
) {
|
||||
) {
|
||||
self.name = name
|
||||
self.randomExecutionOrder = randomExecutionOrder
|
||||
self.parallelizable = parallelizable
|
||||
|
||||
@@ -147,16 +147,15 @@ extension Project {
|
||||
let path = Path(dependency.reference)
|
||||
if !dependency.reference.contains("/") {
|
||||
switch path.extension {
|
||||
case "framework"?,
|
||||
"tbd"?:
|
||||
case "framework"?,
|
||||
"tbd"?:
|
||||
break
|
||||
default:
|
||||
errors.append(.invalidSDKDependency(target: target.name, dependency: dependency.reference))
|
||||
default:
|
||||
errors.append(.invalidSDKDependency(target: target.name, dependency: dependency.reference))
|
||||
}
|
||||
}
|
||||
default: break
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for source in target.sources {
|
||||
|
||||
@@ -242,7 +242,7 @@ extension Target: NamedJSONDictionaryConvertible {
|
||||
public init(name: String, jsonDictionary: JSONDictionary) throws {
|
||||
let resolvedName: String = jsonDictionary.json(atKeyPath: "name") ?? name
|
||||
self.name = resolvedName
|
||||
self.productName = jsonDictionary.json(atKeyPath: "productName") ?? resolvedName
|
||||
productName = jsonDictionary.json(atKeyPath: "productName") ?? resolvedName
|
||||
let typeString: String = try jsonDictionary.json(atKeyPath: "type")
|
||||
if let type = PBXProductType(string: typeString) {
|
||||
self.type = type
|
||||
|
||||
@@ -34,7 +34,7 @@ extension TargetScheme: JSONObjectConvertible {
|
||||
|
||||
public init(jsonDictionary: JSONDictionary) throws {
|
||||
if let targets = jsonDictionary["testTargets"] as? [Any] {
|
||||
self.testTargets = try targets.compactMap { target in
|
||||
testTargets = try targets.compactMap { target in
|
||||
if let string = target as? String {
|
||||
return .init(name: string)
|
||||
} else if let dictionary = target as? JSONDictionary {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import Foundation
|
||||
import PathKit
|
||||
import ProjectSpec
|
||||
import xcodeproj
|
||||
import PathKit
|
||||
|
||||
public class FileWriter {
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Foundation
|
||||
import ProjectSpec
|
||||
import PathKit
|
||||
import ProjectSpec
|
||||
|
||||
public class InfoPlistGenerator {
|
||||
|
||||
@@ -8,7 +8,7 @@ public class InfoPlistGenerator {
|
||||
Default info plist attributes taken from:
|
||||
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Base/Base_DefinitionsInfoPlist.xctemplate/TemplateInfo.plist
|
||||
*/
|
||||
var defaultInfoPlist: [String: Any] = {
|
||||
var defaultInfoPlist: [String: Any] = {
|
||||
var dictionary: [String: Any] = [:]
|
||||
dictionary["CFBundleIdentifier"] = "$(PRODUCT_BUNDLE_IDENTIFIER)"
|
||||
dictionary["CFBundleInfoDictionaryVersion"] = "6.0"
|
||||
|
||||
@@ -541,18 +541,22 @@ public class PBXProjGenerator {
|
||||
fileReference = existingFileReferences
|
||||
} else {
|
||||
fileReference = addObject(
|
||||
PBXFileReference(sourceTree: .sdkRoot,
|
||||
name: dependencyPath.lastComponent,
|
||||
lastKnownFileType: Xcode.fileType(path: dependencyPath),
|
||||
path: dependencyPath.string)
|
||||
PBXFileReference(
|
||||
sourceTree: .sdkRoot,
|
||||
name: dependencyPath.lastComponent,
|
||||
lastKnownFileType: Xcode.fileType(path: dependencyPath),
|
||||
path: dependencyPath.string
|
||||
)
|
||||
)
|
||||
sdkFileReferences[dependency.reference] = fileReference
|
||||
frameworkFiles.append(fileReference)
|
||||
}
|
||||
|
||||
let buildFile = addObject(
|
||||
PBXBuildFile(file: fileReference,
|
||||
settings: getDependencyFrameworkSettings(dependency: dependency))
|
||||
PBXBuildFile(
|
||||
file: fileReference,
|
||||
settings: getDependencyFrameworkSettings(dependency: dependency)
|
||||
)
|
||||
)
|
||||
targetFrameworkBuildFiles.append(buildFile)
|
||||
|
||||
@@ -634,7 +638,7 @@ public class PBXProjGenerator {
|
||||
|
||||
let headersBuildPhaseFiles = getBuildFilesForPhase(.headers)
|
||||
if !headersBuildPhaseFiles.isEmpty {
|
||||
if (target.type == .framework || target.type == .dynamicLibrary) {
|
||||
if target.type == .framework || target.type == .dynamicLibrary {
|
||||
let headersBuildPhase = addObject(PBXHeadersBuildPhase(files: headersBuildPhaseFiles))
|
||||
buildPhases.append(headersBuildPhase)
|
||||
} else {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Foundation
|
||||
import ProjectSpec
|
||||
import xcodeproj
|
||||
import Foundation
|
||||
|
||||
public class SchemeGenerator {
|
||||
|
||||
@@ -83,8 +83,8 @@ public class SchemeGenerator {
|
||||
|
||||
guard let buildableName =
|
||||
project.getTarget(buildTarget.target)?.filename ??
|
||||
project.getAggregateTarget(buildTarget.target)?.name else {
|
||||
fatalError("Unable to determinate \"buildableName\" for build target: \(buildTarget.target)")
|
||||
project.getAggregateTarget(buildTarget.target)?.name else {
|
||||
fatalError("Unable to determinate \"buildableName\" for build target: \(buildTarget.target)")
|
||||
}
|
||||
let buildableReference = XCScheme.BuildableReference(
|
||||
referencedContainer: "container:\(project.name).xcodeproj",
|
||||
@@ -129,10 +129,12 @@ public class SchemeGenerator {
|
||||
)
|
||||
|
||||
let testables = zip(testTargets, testBuildTargetEntries).map { testTarget, testBuilEntries in
|
||||
XCScheme.TestableReference(skipped: false,
|
||||
parallelizable: testTarget.parallelizable,
|
||||
randomExecutionOrdering: testTarget.randomExecutionOrder,
|
||||
buildableReference: testBuilEntries.buildableReference)
|
||||
XCScheme.TestableReference(
|
||||
skipped: false,
|
||||
parallelizable: testTarget.parallelizable,
|
||||
randomExecutionOrdering: testTarget.randomExecutionOrder,
|
||||
buildableReference: testBuilEntries.buildableReference
|
||||
)
|
||||
}
|
||||
|
||||
let testCommandLineArgs = scheme.test.map { XCScheme.CommandLineArguments($0.commandLineArguments) }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Foundation
|
||||
import xcodeproj
|
||||
import PathKit
|
||||
import xcodeproj
|
||||
|
||||
extension PBXFileElement {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import UIKit
|
||||
import Contacts
|
||||
import UIKit
|
||||
|
||||
class ViewController: UIViewController {
|
||||
|
||||
|
||||
@@ -1,17 +1,8 @@
|
||||
//
|
||||
// AppDelegate.swift
|
||||
// dfg
|
||||
//
|
||||
// Created by Yonas Kolb on 29/9/18.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
|
||||
@NSApplicationMain
|
||||
class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
|
||||
|
||||
|
||||
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
||||
// Insert code here to initialize your application
|
||||
}
|
||||
@@ -19,7 +10,4 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
func applicationWillTerminate(_ aNotification: Notification) {
|
||||
// Insert code here to tear down your application
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
//
|
||||
// ViewController.swift
|
||||
// dfg
|
||||
//
|
||||
// Created by Yonas Kolb on 29/9/18.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
|
||||
class ViewController: NSViewController {
|
||||
@@ -17,10 +10,7 @@ class ViewController: NSViewController {
|
||||
|
||||
override var representedObject: Any? {
|
||||
didSet {
|
||||
// Update the view, if already loaded.
|
||||
// Update the view, if already loaded.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import Result
|
||||
import Foundation
|
||||
import Result
|
||||
import WatchKit
|
||||
|
||||
class InterfaceController: WKInterfaceController {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import Foundation
|
||||
import PathKit
|
||||
import ProjectSpec
|
||||
import XcodeGenKit
|
||||
import xcodeproj
|
||||
import Foundation
|
||||
import XCTest
|
||||
import ProjectSpec
|
||||
import PathKit
|
||||
|
||||
class GeneratedPerformanceTests: XCTestCase {
|
||||
|
||||
@@ -11,7 +11,7 @@ class GeneratedPerformanceTests: XCTestCase {
|
||||
|
||||
func testGeneration() throws {
|
||||
let project = try Project.testProject(basePath: basePath)
|
||||
self.measure {
|
||||
measure {
|
||||
let generator = ProjectGenerator(project: project)
|
||||
_ = try! generator.generateXcodeProject()
|
||||
}
|
||||
@@ -21,7 +21,7 @@ class GeneratedPerformanceTests: XCTestCase {
|
||||
let project = try Project.testProject(basePath: basePath)
|
||||
let generator = ProjectGenerator(project: project)
|
||||
let xcodeProject = try generator.generateXcodeProject()
|
||||
self.measure {
|
||||
measure {
|
||||
xcodeProject.pbxproj.invalidateUUIDs()
|
||||
try! xcodeProject.write(path: project.defaultProjectPath)
|
||||
}
|
||||
@@ -35,14 +35,14 @@ class FixturePerformanceTests: XCTestCase {
|
||||
let specPath = fixturePath + "TestProject/project.yml"
|
||||
|
||||
func testFixtureDecoding() throws {
|
||||
self.measure {
|
||||
measure {
|
||||
_ = try! Project(path: specPath)
|
||||
}
|
||||
}
|
||||
|
||||
func testFixtureGeneration() throws {
|
||||
let project = try Project(path: specPath)
|
||||
self.measure {
|
||||
measure {
|
||||
let generator = ProjectGenerator(project: project)
|
||||
_ = try! generator.generateXcodeProject()
|
||||
}
|
||||
@@ -52,7 +52,7 @@ class FixturePerformanceTests: XCTestCase {
|
||||
let project = try Project(path: specPath)
|
||||
let generator = ProjectGenerator(project: project)
|
||||
let xcodeProject = try generator.generateXcodeProject()
|
||||
self.measure {
|
||||
measure {
|
||||
xcodeProject.pbxproj.invalidateUUIDs()
|
||||
try! xcodeProject.write(path: project.defaultProjectPath)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import Foundation
|
||||
import ProjectSpec
|
||||
import PathKit
|
||||
import ProjectSpec
|
||||
import xcodeproj
|
||||
|
||||
extension Project {
|
||||
@@ -20,11 +20,11 @@ extension Project {
|
||||
gatherCoverageData: true,
|
||||
commandLineArguments: [
|
||||
"--command": true,
|
||||
"--command2": false
|
||||
"--command2": false,
|
||||
],
|
||||
environmentVariables: [
|
||||
XCScheme.EnvironmentVariable(variable: "ENV", value: "HELLO", enabled: true),
|
||||
XCScheme.EnvironmentVariable(variable: "ENV2", value: "HELLO", enabled: false)
|
||||
XCScheme.EnvironmentVariable(variable: "ENV2", value: "HELLO", enabled: false),
|
||||
],
|
||||
preActions: [Scheme.ExecutionAction(name: "run", script: "script")],
|
||||
postActions: [Scheme.ExecutionAction(name: "run", script: "script")]
|
||||
@@ -40,7 +40,7 @@ extension Project {
|
||||
Dependency(type: .target, reference: "Framework2_\(platform)"),
|
||||
Dependency(type: .carthage, reference: "Alamofire"),
|
||||
Dependency(type: .carthage, reference: "BrightFutures"),
|
||||
],
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
targets.append(appTarget)
|
||||
@@ -57,7 +57,7 @@ extension Project {
|
||||
Dependency(type: .target, reference: "App_\(platform)"),
|
||||
Dependency(type: .target, reference: "Framework_\(platform)"),
|
||||
Dependency(type: .target, reference: "Framework2_\(platform)"),
|
||||
],
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
targets.append(testTarget)
|
||||
@@ -71,10 +71,10 @@ extension Project {
|
||||
platform: platform,
|
||||
sources: [
|
||||
TargetSource(path: "Framework_\(platform)"),
|
||||
],
|
||||
],
|
||||
dependencies: [
|
||||
Dependency(type: .carthage, reference: "Alamofire"),
|
||||
],
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
targets.append(frameworkTarget)
|
||||
@@ -91,7 +91,7 @@ extension Project {
|
||||
Dependency(type: .target, reference: "Framework_\(platform)"),
|
||||
Dependency(type: .carthage, reference: "Alamofire"),
|
||||
Dependency(type: .carthage, reference: "BrightFutures"),
|
||||
],
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
targets.append(frameworkTarget2)
|
||||
@@ -115,7 +115,7 @@ extension Project {
|
||||
Config(name: "Release Staging", type: .release),
|
||||
Config(name: "Debug Production", type: .debug),
|
||||
Config(name: "Release Production", type: .release),
|
||||
],
|
||||
],
|
||||
targets: targets,
|
||||
aggregateTargets: [],
|
||||
settings: [:],
|
||||
@@ -140,19 +140,19 @@ extension Project {
|
||||
try path.mkpath()
|
||||
paths.append(path)
|
||||
|
||||
for swiftFile in 1...swiftFilesPerDirectory {
|
||||
for swiftFile in 1 ... swiftFilesPerDirectory {
|
||||
let file = path + "file_\(swiftFile).swift"
|
||||
try file.write("")
|
||||
paths.append(file)
|
||||
}
|
||||
|
||||
for resourceFile in 1...resourcesPerDirectory {
|
||||
for resourceFile in 1 ... resourcesPerDirectory {
|
||||
let file = path + "file_\(resourceFile).png"
|
||||
try file.write("")
|
||||
paths.append(file)
|
||||
}
|
||||
|
||||
for objFile in 1...objFilesPerDirectory {
|
||||
for objFile in 1 ... objFilesPerDirectory {
|
||||
let header = path + "file_\(objFile).h"
|
||||
try header.write("")
|
||||
paths.append(header)
|
||||
@@ -163,7 +163,7 @@ extension Project {
|
||||
}
|
||||
|
||||
if depth < levels - 1 {
|
||||
for directory in 1...directoriesPerLevel {
|
||||
for directory in 1 ... directoriesPerLevel {
|
||||
try createDirectory(path + "directory_\(directory)", depth: depth + 1)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,9 +22,9 @@ fileprivate let framework = Target(
|
||||
)
|
||||
|
||||
fileprivate let optionalFramework = Target(
|
||||
name: "MyOptionalFramework",
|
||||
type: .framework,
|
||||
platform: .iOS
|
||||
name: "MyOptionalFramework",
|
||||
type: .framework,
|
||||
platform: .iOS
|
||||
)
|
||||
|
||||
fileprivate let uiTest = Target(
|
||||
@@ -197,7 +197,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
targets: [
|
||||
Target(name: "1", type: .application, platform: .iOS),
|
||||
Target(name: "2", type: .framework, platform: .iOS),
|
||||
]
|
||||
]
|
||||
)
|
||||
var buildSettings = project.getProjectBuildSettings(config: project.configs.first!)
|
||||
try expect(buildSettings["SDKROOT"] as? String) == "iphoneos"
|
||||
@@ -828,7 +828,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
platform: .iOS,
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: "MyFramework"),
|
||||
Dependency(type: .target, reference: "MyOptionalFramework", weakLink: true)
|
||||
Dependency(type: .target, reference: "MyOptionalFramework", weakLink: true),
|
||||
]
|
||||
)
|
||||
|
||||
@@ -858,7 +858,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
try writer.writePlists()
|
||||
|
||||
guard let targetConfig = pbxProject.nativeTargets.first?.buildConfigurationList?.buildConfigurations.first else {
|
||||
throw failure("Couldn't find Target config")
|
||||
throw failure("Couldn't find Target config")
|
||||
}
|
||||
|
||||
try expect(targetConfig.buildSettings["INFOPLIST_FILE"] as? String) == plist.path
|
||||
@@ -877,7 +877,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
expectedInfoPlist["CFBundlePackageType"] = "APPL"
|
||||
expectedInfoPlist["UISupportedInterfaceOrientations"] = ["UIInterfaceOrientationPortrait", "UIInterfaceOrientationLandscapeLeft"]
|
||||
|
||||
try expect(NSDictionary.init(dictionary: expectedInfoPlist).isEqual(to: infoPlist)).beTrue()
|
||||
try expect(NSDictionary(dictionary: expectedInfoPlist).isEqual(to: infoPlist)).beTrue()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,18 +176,18 @@ class ProjectSpecTests: XCTestCase {
|
||||
|
||||
$0.it("fails with invalid sdk dependency") {
|
||||
var project = baseProject
|
||||
project.targets = [Target(
|
||||
name: "target1",
|
||||
type: .application,
|
||||
platform: .iOS,
|
||||
dependencies: [Dependency(type: .sdk, reference: "invalidDependency")]
|
||||
)
|
||||
]
|
||||
project.targets = [
|
||||
Target(
|
||||
name: "target1",
|
||||
type: .application,
|
||||
platform: .iOS,
|
||||
dependencies: [Dependency(type: .sdk, reference: "invalidDependency")]
|
||||
),
|
||||
]
|
||||
|
||||
try expectValidationError(project, .invalidSDKDependency(target: "target1", dependency: "invalidDependency"))
|
||||
try expectValidationError(project, .invalidSDKDependency(target: "target1", dependency: "invalidDependency"))
|
||||
}
|
||||
|
||||
|
||||
$0.it("fails with invalid scheme") {
|
||||
var project = baseProject
|
||||
project.schemes = [Scheme(
|
||||
|
||||
@@ -34,8 +34,6 @@ fileprivate let uiTest = Target(
|
||||
|
||||
class SchemeGeneratorTests: XCTestCase {
|
||||
|
||||
|
||||
|
||||
func testSchemes() {
|
||||
describe {
|
||||
|
||||
@@ -55,7 +53,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
let xcodeProject = try project.generateXcodeProject()
|
||||
guard let target = xcodeProject.pbxproj.nativeTargets
|
||||
.first(where: { $0.name == app.name }) else {
|
||||
throw failure("Target not found")
|
||||
throw failure("Target not found")
|
||||
}
|
||||
guard let xcscheme = xcodeProject.sharedData?.schemes.first else {
|
||||
throw failure("Scheme not found")
|
||||
@@ -77,7 +75,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
xcscheme.launchAction?.buildableProductRunnable?.buildableReference,
|
||||
xcscheme.profileAction?.buildableProductRunnable?.buildableReference,
|
||||
xcscheme.testAction?.macroExpansion,
|
||||
].compactMap { $0 }
|
||||
].compactMap { $0 }
|
||||
|
||||
for buildableReference in buildableReferences {
|
||||
// FIXME: try expect(buildableReference.blueprintIdentifier) == target.reference
|
||||
@@ -96,7 +94,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
let runVariables: [XCScheme.EnvironmentVariable] = [
|
||||
XCScheme.EnvironmentVariable(variable: "RUN_ENV", value: "ENABLED", enabled: true),
|
||||
XCScheme.EnvironmentVariable(variable: "OTHER_RUN_ENV", value: "DISABLED", enabled: false),
|
||||
]
|
||||
]
|
||||
|
||||
let scheme = Scheme(
|
||||
name: "EnvironmentVariablesScheme",
|
||||
@@ -120,7 +118,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
try expect(
|
||||
xcodeProject.pbxproj.nativeTargets
|
||||
.contains(where: { $0.name == app.name })
|
||||
).beTrue()
|
||||
).beTrue()
|
||||
try expect(xcscheme.launchAction?.environmentVariables) == runVariables
|
||||
try expect(xcscheme.testAction?.environmentVariables).to.beNil()
|
||||
try expect(xcscheme.profileAction?.environmentVariables).to.beNil()
|
||||
@@ -135,7 +133,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
Config(name: "Production Debug", type: .debug),
|
||||
Config(name: "Test Release", type: .release),
|
||||
Config(name: "Production Release", type: .release),
|
||||
]
|
||||
]
|
||||
|
||||
let project = Project(basePath: "", name: "test", configs: configs, targets: [target, framework])
|
||||
let xcodeProject = try project.generateXcodeProject()
|
||||
@@ -144,7 +142,7 @@ class SchemeGeneratorTests: XCTestCase {
|
||||
|
||||
guard let xcscheme = xcodeProject.sharedData?.schemes
|
||||
.first(where: { $0.name == "\(target.name) Test" }) else {
|
||||
throw failure("Scheme not found")
|
||||
throw failure("Scheme not found")
|
||||
}
|
||||
guard let buildActionEntry = xcscheme.buildAction?.buildActionEntries.first else {
|
||||
throw failure("Build Action entry not found")
|
||||
|
||||
@@ -163,15 +163,15 @@ class SpecLoadingTests: XCTestCase {
|
||||
"path": "Info.plist",
|
||||
"properties": [
|
||||
"CFBundleName": "MyAppName",
|
||||
"UIBackgroundModes": ["fetch"]
|
||||
]
|
||||
"UIBackgroundModes": ["fetch"],
|
||||
],
|
||||
]
|
||||
|
||||
let target = try Target(name: "", jsonDictionary: targetDictionary)
|
||||
try expect(target.info) == Plist(path: "Info.plist", attributes: [
|
||||
"CFBundleName": "MyAppName",
|
||||
"UIBackgroundModes": ["fetch"]
|
||||
])
|
||||
"UIBackgroundModes": ["fetch"],
|
||||
])
|
||||
}
|
||||
|
||||
$0.it("parses entitlement plist") {
|
||||
@@ -180,13 +180,13 @@ class SpecLoadingTests: XCTestCase {
|
||||
"path": "app.entitlements",
|
||||
"properties": [
|
||||
"com.apple.security.application-groups": "com.group",
|
||||
]
|
||||
],
|
||||
]
|
||||
|
||||
let target = try Target(name: "", jsonDictionary: targetDictionary)
|
||||
try expect(target.entitlements) == Plist(path: "app.entitlements", attributes: [
|
||||
"com.apple.security.application-groups": "com.group",
|
||||
])
|
||||
])
|
||||
}
|
||||
|
||||
$0.it("parses cross platform targets") {
|
||||
@@ -325,7 +325,7 @@ class SpecLoadingTests: XCTestCase {
|
||||
],
|
||||
],
|
||||
"gatherCoverageData": true,
|
||||
]
|
||||
],
|
||||
]
|
||||
let scheme = try Scheme(name: "Scheme", jsonDictionary: schemeDictionary)
|
||||
let expectedTargets: [Scheme.BuildTarget] = [
|
||||
@@ -345,14 +345,18 @@ class SpecLoadingTests: XCTestCase {
|
||||
try expect(scheme.build.parallelizeBuild) == false
|
||||
try expect(scheme.build.buildImplicitDependencies) == false
|
||||
|
||||
let expectedTest = Scheme.Test(config: "debug",
|
||||
gatherCoverageData: true,
|
||||
targets: [
|
||||
"Target1",
|
||||
Scheme.Test.TestTarget(name: "Target2",
|
||||
randomExecutionOrder: true,
|
||||
parallelizable: true)
|
||||
])
|
||||
let expectedTest = Scheme.Test(
|
||||
config: "debug",
|
||||
gatherCoverageData: true,
|
||||
targets: [
|
||||
"Target1",
|
||||
Scheme.Test.TestTarget(
|
||||
name: "Target2",
|
||||
randomExecutionOrder: true,
|
||||
parallelizable: true
|
||||
),
|
||||
]
|
||||
)
|
||||
try expect(scheme.test) == expectedTest
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user