Merge pull request #543 from yonaskolb/carthage_version_loader

Update Carthage framework lookup
This commit is contained in:
Yonas Kolb
2019-03-25 21:05:39 +11:00
committed by GitHub
34 changed files with 1148 additions and 298 deletions
+3 -3
View File
@@ -3,12 +3,12 @@
## Master
#### Added
- Added `missingConfigFiles` to `options.disabledValidations` to optionally skip checking for the existence of config files.
- Added ability to automatically include Carthage related dependencies via `includeRelated: true` [#506](https://github.com/yonaskolb/XcodeGen/pull/506) @rpassis
- Added ability to define a per-platform `deploymentTarget` for Multi-Platform targets. [#510](https://github.com/yonaskolb/XcodeGen/pull/510) @ainopara
- Added ability to automatically find all the frameworks for Carthage dependencies via `options.findCarthageFrameworks` or `dependency.findFrameworks`. See the [Carthage](Docs/Usage.md#carthage) usage docs for more info [#506](https://github.com/yonaskolb/XcodeGen/pull/506) [#543](https://github.com/yonaskolb/XcodeGen/pull/543) @rpassis @yonaskolb
- Added support for nested target templates [#534](https://github.com/yonaskolb/XcodeGen/pull/534) @tomquist
- Added ability to define `templateAttributes` within a target to be able to parameterize templates. [#533](https://github.com/yonaskolb/XcodeGen/pull/533) @tomquist
- Added ability to set `link` to false in framework dependencies [#532](https://github.com/yonaskolb/XcodeGen/pull/532) @dimatosaurus
- Added `missingConfigFiles` to `options.disabledValidations` to optionally skip checking for the existence of config files.
- Added ability to define a per-platform `deploymentTarget` for Multi-Platform targets. [#510](https://github.com/yonaskolb/XcodeGen/pull/510) @ainopara
#### Changed
- **DEPRECATION**: Placeholders `$target_name` and `$platform` have been deprecated in favour of `${target_name}` and `${platform}`. Support for the old placeholders will be removed in a future version [#533](https://github.com/yonaskolb/XcodeGen/pull/533) @tomquist
+4 -4
View File
@@ -111,7 +111,7 @@ Note that target names can also be changed by adding a `name` property to a targ
- `bottom` (default) - at the bottom, after other files
- [ ] **transitivelyLinkDependencies**: **Bool** - If this is `true` then targets will link to the dependencies of their target dependencies. If a target should embed its dependencies, such as application and test bundles, it will embed these transitive dependencies as well. Some complex setups might want to set this to `false` and explicitly specify dependencies at every level. Targets can override this with [Target](#target).transitivelyLinkDependencies. Defaults to `false`.
- [ ] **generateEmptyDirectories**: **Bool** - If this is `true` then empty directories will be added to project too else will be missed. Defaults to `false`.
- [ ] **includeCarthageRelatedDependencies**: **Bool** - When this is set to `true`, any carthage dependency with related dependencies will be included automatically. This flag can be overriden individually for each carthage dependency - for more details see See **includeRelated** in the [Dependency](#dependency) section. Defaults to `false`.
- [ ] **findCarthageFrameworks**: **Bool** - When this is set to `true`, all the invididual frameworks for Carthage dependencies will automatically be found. This property can be overriden individually for each carthage dependency - for more details see See **findFrameworks** in the [Dependency](#dependency) section. Defaults to `false`.
```yaml
options:
@@ -383,8 +383,8 @@ Carthage frameworks are expected to be in `CARTHAGE_BUILD_PATH/PLATFORM/FRAMEWOR
- `PLATFORM` = the target's platform
- `FRAMEWORK` = the specified name.
If any of the Carthage dependencies has related dependencies, they can be automatically included using the `includeRelated: true` flag.
Xcodegen uses `.version` files generated by Carthage so in order for this to work the dependencies will need to be built / available in the specified Carthage build folder.
All the invididual frameworks of a Carthage dependency can be automatically found via `findFrameworks: true`. This overrides the value of [Options](#options).findCarthageFrameworks. Otherwise each one will have to be listed invididually.
Xcodegen uses `.version` files generated by Carthage in order for this framework lookup to work, so the Carthage dependencies will need to have already been built at the time XcodeGen is run.
If any applications contain carthage dependencies within itself or any dependent targets, a carthage copy files script is automatically added to the application containing all the relevant frameworks. A `FRAMEWORK_SEARCH_PATHS` setting is also automatically added
@@ -395,7 +395,7 @@ targets:
- target: MyFramework
- framework: path/to/framework.framework
- carthage: Result
includeRelated: true
findFrameworks: true
- sdk: Contacts.framework
- sdk: libc++.tbd
MyFramework:
+36 -1
View File
@@ -8,6 +8,7 @@
- [CocoaPods](#cocoapods)
- [Carthage](#carthage)
- [SDK](#sdk)
- [Framework](#framework)
# Configuring build settings
There are various ways of configuring build settings
@@ -114,11 +115,35 @@ targets:
- carthage: Alamofire
```
Some Carthage dependencies actually vend multiple frameworks. For example `github "ReactiveCocoa/ReactiveCocoa" ~> 8.0` vends 2 frameworks `ReactiveCocoa` and `ReactiveMapKit`.
By default these all have to be listed if you want to link and use them:
```yml
targets:
App:
frameworks:
- carthage: ReactiveCocoa
- carthage: ReactiveMapKit
```
XcodeGen can look these up for you automatically! This can be enabled with a global `options.findCarthageFrameworks` or can be overriden for each Carthage dependency. Note that if this is enabled, the Carthage dependencies need to have already been built before XcodeGen is run. This is because XcodeGen loads `.version` files that Carthage writes in the `Carthage/Build` directory which lists the all the frameworks. The name you use must also be the name of the `.version` file Carthage writes to `Carthage/Build`. Be aware that in some cases this name can differ from the name of the repo in the Cartfile and even the framework name. If the `.version` file is not found or fails parsing, XcodeGen will fallback to the regular Framework lookup in the relevant Carthage directory.
```yml
options:
findCarthageFrameworks: true
targets:
App:
frameworks:
- carthage: ReactiveCocoa # will find ReactiveMapKit as well
- carthage: OtherCarthageDependency
findFrameworks: false # disables the global option
```
XcodeGen automatically creates the build phase that Carthage requires which lists all the files and runs `carthage copy-frameworks`. You can change the invocation of carthage to something different, for example if you are running it with [Mint](https://github.com/yonaskolb/mint). This is then prepended to ` copy frameworks`
```yaml
options:
carthageExecutablePath: mint run Carthage/Carthage carthage
carthageExecutablePath: mint run Carthage/Carthage
```
By default XcodeGen looks for carthage frameworks in `Carthage/Build`. You can change this with the `carthageBuildPath` option
@@ -138,3 +163,13 @@ targets:
- sdk: Contacts.framework
- sdk: libc++.tbd
```
### Framework
Individual frameworks can also be linked by specifying a path to them
```yamlå
targets:
App:
dependencies:
- framework: Vendor/MyFramework.framework
```
+3 -3
View File
@@ -33,7 +33,7 @@ public struct Dependency: Equatable {
public enum DependencyType: Equatable {
case target
case framework
case carthage(includeRelated: Bool?)
case carthage(findFrameworks: Bool?)
case sdk
}
}
@@ -54,8 +54,8 @@ extension Dependency: JSONObjectConvertible {
type = .framework
reference = framework
} else if let carthage: String = jsonDictionary.json(atKeyPath: "carthage") {
let includeRelated: Bool? = jsonDictionary.json(atKeyPath: "includeRelated")
type = .carthage(includeRelated: includeRelated)
let findFrameworks: Bool? = jsonDictionary.json(atKeyPath: "findFrameworks")
type = .carthage(findFrameworks: findFrameworks)
reference = carthage
} else if let sdk: String = jsonDictionary.json(atKeyPath: "sdk") {
type = .sdk
+1 -11
View File
@@ -1,18 +1,8 @@
import Foundation
public enum Platform: String {
public enum Platform: String, Hashable, CaseIterable {
case iOS
case watchOS
case tvOS
case macOS
public var carthageDirectoryName: String {
switch self {
case .macOS:
return "Mac"
default:
return rawValue
}
}
public static var all: [Platform] = [.iOS, .tvOS, .watchOS, .macOS]
}
+4 -4
View File
@@ -20,7 +20,7 @@ public struct SpecOptions: Equatable {
public var transitivelyLinkDependencies: Bool
public var groupSortPosition: GroupSortPosition
public var generateEmptyDirectories: Bool
public var includeCarthageRelatedDependencies: Bool
public var findCarthageFrameworks: Bool
public enum ValidationType: String {
case missingConfigs
@@ -76,7 +76,7 @@ public struct SpecOptions: Equatable {
transitivelyLinkDependencies: Bool = false,
groupSortPosition: GroupSortPosition = .bottom,
generateEmptyDirectories: Bool = false,
includeCarthageRelatedDependencies: Bool = false
findCarthageFrameworks: Bool = false
) {
self.minimumXcodeGenVersion = minimumXcodeGenVersion
self.carthageBuildPath = carthageBuildPath
@@ -95,7 +95,7 @@ public struct SpecOptions: Equatable {
self.transitivelyLinkDependencies = transitivelyLinkDependencies
self.groupSortPosition = groupSortPosition
self.generateEmptyDirectories = generateEmptyDirectories
self.includeCarthageRelatedDependencies = includeCarthageRelatedDependencies
self.findCarthageFrameworks = findCarthageFrameworks
}
}
@@ -122,7 +122,7 @@ extension SpecOptions: JSONObjectConvertible {
transitivelyLinkDependencies = jsonDictionary.json(atKeyPath: "transitivelyLinkDependencies") ?? false
groupSortPosition = jsonDictionary.json(atKeyPath: "groupSortPosition") ?? .bottom
generateEmptyDirectories = jsonDictionary.json(atKeyPath: "generateEmptyDirectories") ?? false
includeCarthageRelatedDependencies = jsonDictionary.json(atKeyPath: "includeCarthageRelatedDependencies") ?? false
findCarthageFrameworks = jsonDictionary.json(atKeyPath: "findCarthageFrameworks") ?? false
}
}
@@ -9,33 +9,30 @@ import Foundation
import ProjectSpec
import PathKit
public struct CarthageDependencyResolver {
public class CarthageDependencyResolver {
/// Carthage's base build path as specified by the
/// project's `SpecOptions`, or `Carthage/Build` by default
var baseBuildPath: String {
var buildPath: String {
return project.options.carthageBuildPath ?? "Carthage/Build"
}
/// Carthage's executable path as specified by the
/// project's `SpecOptions`, or `carthage` by default
var executablePath: String {
var executable: String {
return project.options.carthageExecutablePath ?? "carthage"
}
private let project: Project
lazy var versionLoader = CarthageVersionLoader(buildPath: project.basePath + buildPath)
init(project: Project) {
self.project = project
}
/// Carthage's build path for the given platform
func buildPath(for platform: Platform) -> String {
let carthagePath = Path(baseBuildPath)
let platformName = platform.carthageDirectoryName
return "\(carthagePath)/\(platformName)"
}
// Keeps a cache of previously parsed related dependencies
private var carthageCachedRelatedDependencies: [String: CarthageVersionFile] = [:]
private let project: Project
init(project: Project) {
self.project = project
return "\(buildPath)/\(platform.carthageName)"
}
/// Fetches all carthage dependencies for a given target
@@ -56,9 +53,9 @@ public struct CarthageDependencyResolver {
let nonExistentDependencies = target.dependencies.filter { !frameworks.contains($0) }
for dependency in nonExistentDependencies {
switch dependency.type {
case .carthage(let includeRelated):
let includeRelated = includeRelated ?? project.options.includeCarthageRelatedDependencies
if includeRelated {
case .carthage(let findFrameworks):
let findFrameworks = findFrameworks ?? project.options.findCarthageFrameworks
if findFrameworks {
relatedDependencies(for: dependency, in: target.platform)
.filter { !frameworks.contains($0) }
.forEach { frameworks.insert($0) }
@@ -98,15 +95,15 @@ public struct CarthageDependencyResolver {
func relatedDependencies(for dependency: Dependency, in platform: Platform) -> [Dependency] {
guard
case .carthage = dependency.type,
let versionFile = try? fetchCarthageVersionFile(for: dependency) else {
let versionFile = try? versionLoader.getVersionFile(for: dependency.reference) else {
// No .version file or we've been unable to parse
// so fail gracefully by returning the main dependency
return [dependency]
}
return versionFile.references(for: platform)
return versionFile.frameworks(for: platform)
.map { Dependency(
type: dependency.type,
reference: $0.name,
reference: $0,
embed: dependency.embed,
codeSign: dependency.codeSign,
link: dependency.link,
@@ -115,52 +112,20 @@ public struct CarthageDependencyResolver {
)}
.sorted(by: { $0.reference < $1.reference })
}
private func fetchCarthageVersionFile(for dependency: Dependency) throws -> CarthageVersionFile {
if let cachedVersionFile = carthageCachedRelatedDependencies[dependency.reference] {
return cachedVersionFile
}
let buildPath = project.basePath + "\(self.baseBuildPath)/.\(dependency.reference).version"
let data = try buildPath.read()
let carthageVersionFile = try JSONDecoder().decode(CarthageVersionFile.self, from: data)
return carthageVersionFile
}
}
/// Decodable struct for type safe parsing of the .version file
fileprivate struct CarthageVersionFile: Decodable {
extension Platform {
struct Reference: Decodable, Equatable {
public let name: String
public let hash: String
}
enum Key: String, CodingKey, CaseIterable {
case iOS
case Mac
case tvOS
case watchOS
}
private let data: [Key: [Reference]]
fileprivate init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: Key.self)
data = try Key.allCases.reduce(into: [:]) { (current, nextKey) in
let refs = try container.decodeIfPresent([Reference].self, forKey: nextKey)
current[nextKey] = refs
public var carthageName: String {
switch self {
case .iOS:
return "iOS"
case .tvOS:
return "tvOS"
case .watchOS:
return "watchOS"
case .macOS:
return "Mac"
}
}
}
fileprivate extension CarthageVersionFile {
fileprivate func references(for platform: Platform) -> [Reference] {
switch platform {
case .iOS: return data[.iOS] ?? []
case .watchOS: return data[.watchOS] ?? []
case .tvOS: return data[.tvOS] ?? []
case .macOS: return data[.Mac] ?? []
}
}
}
@@ -0,0 +1,63 @@
//
// CarthageVersionLoader.swift
// XcodeGenKit
//
// Created by Yonas Kolb on 24/3/19.
//
import Foundation
import PathKit
import ProjectSpec
class CarthageVersionLoader {
private let buildPath: Path
private var cachedFiles: [String: CarthageVersionFile] = [:]
init(buildPath: Path) {
self.buildPath = buildPath
}
func getVersionFile(for dependency: String) throws -> CarthageVersionFile {
if let versionFile = cachedFiles[dependency] {
return versionFile
}
let filePath = buildPath + ".\(dependency).version"
let data = try filePath.read()
let carthageVersionFile = try JSONDecoder().decode(CarthageVersionFile.self, from: data)
cachedFiles[dependency] = carthageVersionFile
return carthageVersionFile
}
}
struct CarthageVersionFile: Decodable {
private struct Reference: Decodable, Equatable {
public let name: String
public let hash: String
}
private let data: [Platform: [String]]
internal init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: Platform.self)
data = try Platform.allCases.reduce(into: [:]) { (data, platform) in
let references = try container.decodeIfPresent([Reference].self, forKey: platform) ?? []
let frameworks = Array(Set(references.map { $0.name })).sorted()
data[platform] = frameworks
}
}
}
extension Platform: CodingKey {
public var stringValue: String {
return carthageName
}
}
extension CarthageVersionFile {
func frameworks(for platform: Platform) -> [String] {
return data[platform] ?? []
}
}
+7 -7
View File
@@ -178,7 +178,7 @@ public class PBXProjGenerator {
children: platforms,
sourceTree: .group,
name: "Carthage",
path: carthageResolver.baseBuildPath
path: carthageResolver.buildPath
)
)
frameworkFiles.append(carthageGroup)
@@ -576,9 +576,9 @@ public class PBXProjGenerator {
)
targetFrameworkBuildFiles.append(buildFile)
case .carthage(let includeRelated):
let includeRelated = includeRelated ?? project.options.includeCarthageRelatedDependencies
let allDependencies = includeRelated
case .carthage(let findFrameworks):
let findFrameworks = findFrameworks ?? project.options.findCarthageFrameworks
let allDependencies = findFrameworks
? carthageResolver.relatedDependencies(for: dependency, in: target.platform) : [dependency]
allDependencies.forEach { dependency in
// Static libraries can't link or embed dynamic frameworks
@@ -591,7 +591,7 @@ public class PBXProjGenerator {
}
let fileReference = self.sourceGenerator.getFileReference(path: frameworkPath, inPath: platformPath)
self.carthageFrameworksByPlatform[target.platform.carthageDirectoryName, default: []].insert(fileReference)
self.carthageFrameworksByPlatform[target.platform.carthageName, default: []].insert(fileReference)
if dependency.link ?? true {
let buildFile = self.addObject(
@@ -717,10 +717,10 @@ public class PBXProjGenerator {
if !carthageFrameworksToEmbed.isEmpty {
let inputPaths = carthageFrameworksToEmbed
.map { "$(SRCROOT)/\(carthageResolver.baseBuildPath)/\(target.platform)/\($0)\($0.contains(".") ? "" : ".framework")" }
.map { "$(SRCROOT)/\(carthageResolver.buildPath(for: target.platform))/\($0)\($0.contains(".") ? "" : ".framework")" }
let outputPaths = carthageFrameworksToEmbed
.map { "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/\($0)\($0.contains(".") ? "" : ".framework")" }
let carthageExecutable = carthageResolver.executablePath
let carthageExecutable = carthageResolver.executable
let carthageScript = addObject(
PBXShellScriptBuildPhase(
name: "Carthage",
+1 -1
View File
@@ -25,7 +25,7 @@ extension Project {
}
// apply custom platform version
for platform in Platform.all {
for platform in Platform.allCases {
if let version = options.deploymentTarget.version(for: platform) {
buildSettings[platform.deploymentTargetSetting] = version.deploymentTarget
}
@@ -0,0 +1,5 @@
Carthage/Build/iOS
Carthage/Build/watchOS
Carthage/Build/tvOS
Carthage/Build/Mac
Carthage/Checkouts
+4
View File
@@ -0,0 +1,4 @@
github "antitypical/Result"
github "rpassis/CarthageTestFixture"
github "ReactiveCocoa/ReactiveSwift" ~> 4.0
github "ReactiveCocoa/ReactiveCocoa" ~> 8.0
@@ -0,0 +1,4 @@
github "ReactiveCocoa/ReactiveCocoa" "8.0.2"
github "ReactiveCocoa/ReactiveSwift" "4.0.0"
github "antitypical/Result" "4.1.0"
github "rpassis/CarthageTestFixture" "1.0"
+27
View File
@@ -0,0 +1,27 @@
{
"Mac" : [
{
"name" : "Alamofire",
"hash" : "c8ee4910ecef2738eccd34a7abcae7d6561c0d709fbc301f660391018bf654b5"
}
],
"watchOS" : [
{
"name" : "Alamofire",
"hash" : "960f25b2b83d186bf62a05e59af8a6f7c99ac20201f6d948106c52917f29b7da"
}
],
"tvOS" : [
{
"name" : "Alamofire",
"hash" : "b8994794ee1378f98ceb7d294c84990d60fdabcc5f5a7d8386e71315ff583f1f"
}
],
"commitish" : "4.7.2",
"iOS" : [
{
"name" : "Alamofire",
"hash" : "a000ec6f95d6fd12843007ba8c22e69c64e922b45ccfe34e1d38200b54e5e391"
}
]
}
@@ -0,0 +1,59 @@
{
"Mac" : [
{
"name" : "CarthageTestFixture",
"hash" : "071b5d10a76f763129c32223af9f0e34674f2d6766e1b8dd0658c634c750d88f"
},
{
"name" : "DependencyFixtureB",
"hash" : "65d7482cfefd8952762f57de885e9929aae8e6fe6a1c556e6bad75811f8d096f"
},
{
"name" : "DependencyFixtureA",
"hash" : "ada254978598a68cce0e7cc919549e4888793ad2e9082fca38a533b9731710d5"
}
],
"watchOS" : [
{
"name" : "CarthageTestFixture",
"hash" : "6f5aeb82a53091a5573be1b16b58156a2444f8a568e4a4b4914a5658a11ce91c"
},
{
"name" : "DependencyFixtureB",
"hash" : "a252cd58636f621f39daa48f89e881665d4d1da1debaf46d7ba926f59720e928"
},
{
"name" : "DependencyFixtureA",
"hash" : "1f2df2a6f33953eb61d56c195dcf2b102d458dcec4ad93b70d1f802cf1d01081"
}
],
"tvOS" : [
{
"name" : "CarthageTestFixture",
"hash" : "4d0c084ea320ef9d2e216f60956bdb50e4975887f19f4817b26657a3796ab411"
},
{
"name" : "DependencyFixtureA",
"hash" : "f257e4d0348770f210196dedaf16b51d54b255ec3e9e7b1cce50ea74e57d61b3"
},
{
"name" : "DependencyFixtureB",
"hash" : "47377bbe103c06a25150aece9f48ac4b42065bc0c4543a7249395482676a3c38"
}
],
"commitish" : "1.0",
"iOS" : [
{
"name" : "CarthageTestFixture",
"hash" : "7c2a74fc024a50478bec9ca8833302b2850d1971aadc6c9d890266ea29af6966"
},
{
"name" : "DependencyFixtureA",
"hash" : "d9979f6f61ad275ae8d4fdf575df66fde694f584cc7f58f2dcb86e9fe81b9a3a"
},
{
"name" : "DependencyFixtureB",
"hash" : "1c418bb70678e1f47cffc0ad8d8e6e014372ad9936fff6302abb86511980ac01"
}
]
}
+63
View File
@@ -0,0 +1,63 @@
{
"Mac" : [
{
"name" : "ReactiveMapKit",
"hash" : "ca2fed26f8381df41034bab95e4751c59a2e6790fb2a6def8f4bc9cdee0c5733"
},
{
"name" : "ReactiveMapKit",
"hash" : "ca2fed26f8381df41034bab95e4751c59a2e6790fb2a6def8f4bc9cdee0c5733"
},
{
"name" : "ReactiveCocoa",
"hash" : "944bf96ea2e3431d7c70daef2c5664586439ca59e92092983acb1f36e3cb7f50"
},
{
"name" : "ReactiveCocoa",
"hash" : "944bf96ea2e3431d7c70daef2c5664586439ca59e92092983acb1f36e3cb7f50"
}
],
"watchOS" : [
{
"name" : "ReactiveCocoa",
"hash" : "f7634a0c6323009b856c6cd6b0d76e9727006289b0edc1cb8a97b85f6549e16c"
}
],
"tvOS" : [
{
"name" : "ReactiveMapKit",
"hash" : "19c5331921afd44ec907b2dda06a522cf7f106580d689b39c0ffea989efa558a"
},
{
"name" : "ReactiveMapKit",
"hash" : "19c5331921afd44ec907b2dda06a522cf7f106580d689b39c0ffea989efa558a"
},
{
"name" : "ReactiveCocoa",
"hash" : "6fd1ed75f76420c86c66d2900d37f66ea6c9378007bf9c52aa8ee0806ae24477"
},
{
"name" : "ReactiveCocoa",
"hash" : "6fd1ed75f76420c86c66d2900d37f66ea6c9378007bf9c52aa8ee0806ae24477"
}
],
"commitish" : "8.0.2",
"iOS" : [
{
"name" : "ReactiveMapKit",
"hash" : "8d1f84508d7403d8acdb4c188377777273ceba4eb6237728f97dcc18d41b94c8"
},
{
"name" : "ReactiveMapKit",
"hash" : "8d1f84508d7403d8acdb4c188377777273ceba4eb6237728f97dcc18d41b94c8"
},
{
"name" : "ReactiveCocoa",
"hash" : "3ecd35da18aeade9d027be56daa4a925fbf7fc05fd7d559260ef2fc7945fb840"
},
{
"name" : "ReactiveCocoa",
"hash" : "3ecd35da18aeade9d027be56daa4a925fbf7fc05fd7d559260ef2fc7945fb840"
}
]
}
+27
View File
@@ -0,0 +1,27 @@
{
"Mac" : [
{
"name" : "ReactiveSwift",
"hash" : "ed8de3ce3e03c940ba43f99c5de552b9af89c2d850bb8afb6e5f9f493489f45d"
}
],
"watchOS" : [
{
"name" : "ReactiveSwift",
"hash" : "c015d0bc75885b9358870ef16cb9e67b5ef8bcaa3a5ec90d513d623a1091f7eb"
}
],
"tvOS" : [
{
"name" : "ReactiveSwift",
"hash" : "4d4c3af69ff5b35bec1b76638989b29cb2d785536b2e124c5cfd6660d3eb2640"
}
],
"commitish" : "4.0.0",
"iOS" : [
{
"name" : "ReactiveSwift",
"hash" : "bdf6f01656281b630b9f323625fc5134bb4fe4e061ac1885e3dc6498f9cad7dc"
}
]
}
+27
View File
@@ -0,0 +1,27 @@
{
"Mac" : [
{
"name" : "Result",
"hash" : "a608337c467d3ef16f53035c587dab84152fc14b3b4c8b597c5a973d3bfd0d63"
}
],
"watchOS" : [
{
"name" : "Result",
"hash" : "24680c05790afb8bd5d1ae8f1960905210546943e13fdea8e2994c2f8efdc0a5"
}
],
"tvOS" : [
{
"name" : "Result",
"hash" : "dca6d7e70e25cfa2b3363a0839dd13271b4da374f22d6cd357cf45b39299c17b"
}
],
"commitish" : "4.1.0",
"iOS" : [
{
"name" : "Result",
"hash" : "5ad79b86004be535ee374685fbbd95db8d91f8c0458d3534aacf426930c7bbf6"
}
]
}
@@ -0,0 +1,709 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
0CC4170C2B4322A7F1349929B1B5E96F /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */; };
13200B360D0A9CC140B99349125B6E0D /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */; };
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
26FF6048AAC6ACF67EF6EA4E087DBA09 /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */; };
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */; };
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */; };
45787AC77AD89D1934BFFE1859CEB136 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */; };
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
6C5812C93334B48039CD444685D83FE6 /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */; };
7E3FE275326D04AC943FEFEEE8571C35 /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */; };
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
8A910658E2460BA82330AE11FDF1B37B /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */; };
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB178D03E75929F3F5B10C56838882EC /* Result.framework */; };
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */; };
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */; };
A6F8E9B2F9C65E8239B76DC6A40B2DEC /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */; };
AA30C45763F54C5F25EF02BCC2C0311E /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */; };
AB37C0BDA7C57B237AD0D01C48BEE935 /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */; };
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */; };
B77E9A3686B029D1770179E54612078B /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */; };
BCCBD9CB3A021FA20E2CEE9777E9836C /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */; };
D51AEC3A559EB64E1BF5B122AABDF5C7 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */; };
DE4F8F219431376422AD11A2FB6656ED /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */; };
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */; };
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */; };
FF3D67401E2FF19013814BBBE9566E24 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
6177CC6263783487E93F7F4D07620345 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
BB178D03E75929F3F5B10C56838882EC /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
D296BB7355994040E197A1EE5B41F583 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2E6FCCFC594BE9FEB74FA2F01F56F4FE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */,
B77E9A3686B029D1770179E54612078B /* Alamofire.framework in Frameworks */,
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */,
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */,
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */,
7E3FE275326D04AC943FEFEEE8571C35 /* ReactiveSwift.framework in Frameworks */,
0CC4170C2B4322A7F1349929B1B5E96F /* ReactiveCocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5EFF61D0A49AA8EABD72DF4449BCEADE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */,
AA30C45763F54C5F25EF02BCC2C0311E /* Alamofire.framework in Frameworks */,
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */,
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */,
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */,
BCCBD9CB3A021FA20E2CEE9777E9836C /* ReactiveSwift.framework in Frameworks */,
A6F8E9B2F9C65E8239B76DC6A40B2DEC /* ReactiveCocoa.framework in Frameworks */,
AB37C0BDA7C57B237AD0D01C48BEE935 /* ReactiveMapKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9B861C58E640BD4AD391900CF0C4ABEC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */,
8A910658E2460BA82330AE11FDF1B37B /* Alamofire.framework in Frameworks */,
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */,
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */,
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */,
6C5812C93334B48039CD444685D83FE6 /* ReactiveSwift.framework in Frameworks */,
45787AC77AD89D1934BFFE1859CEB136 /* ReactiveCocoa.framework in Frameworks */,
13200B360D0A9CC140B99349125B6E0D /* ReactiveMapKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C2323597C6777A02E1FF671C303DD89C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */,
D51AEC3A559EB64E1BF5B122AABDF5C7 /* Alamofire.framework in Frameworks */,
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */,
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */,
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */,
DE4F8F219431376422AD11A2FB6656ED /* ReactiveSwift.framework in Frameworks */,
FF3D67401E2FF19013814BBBE9566E24 /* ReactiveCocoa.framework in Frameworks */,
26FF6048AAC6ACF67EF6EA4E087DBA09 /* ReactiveMapKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
12809A79ACE69F501A5FE815B43985BD /* Carthage */ = {
isa = PBXGroup;
children = (
DBF93518FC96D95A5455271356EB57FF /* iOS */,
912A7321F662FE41BAAEED67F628711F /* Mac */,
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */,
2935454D05445817952E145D261767D4 /* watchOS */,
);
name = Carthage;
path = Carthage/Build;
sourceTree = "<group>";
};
2935454D05445817952E145D261767D4 /* watchOS */ = {
isa = PBXGroup;
children = (
25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */,
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */,
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */,
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */,
D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */,
4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */,
BB178D03E75929F3F5B10C56838882EC /* Result.framework */,
);
path = watchOS;
sourceTree = "<group>";
};
293D0FF827366B513839236A28819597 = {
isa = PBXGroup;
children = (
FC1515684236259C50A7747F607DC8A2 /* Frameworks */,
AC523591AC7BE9275003D2DB7E14C098 /* Products */,
);
sourceTree = "<group>";
};
912A7321F662FE41BAAEED67F628711F /* Mac */ = {
isa = PBXGroup;
children = (
9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */,
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */,
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */,
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */,
3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */,
C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */,
A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */,
D296BB7355994040E197A1EE5B41F583 /* Result.framework */,
);
path = Mac;
sourceTree = "<group>";
};
AC523591AC7BE9275003D2DB7E14C098 /* Products */ = {
isa = PBXGroup;
children = (
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */,
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */,
7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */,
6177CC6263783487E93F7F4D07620345 /* Framework.framework */,
);
name = Products;
sourceTree = "<group>";
};
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */ = {
isa = PBXGroup;
children = (
944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */,
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */,
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */,
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */,
80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */,
1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */,
3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */,
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */,
);
path = tvOS;
sourceTree = "<group>";
};
DBF93518FC96D95A5455271356EB57FF /* iOS */ = {
isa = PBXGroup;
children = (
2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */,
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */,
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */,
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */,
C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */,
D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */,
DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */,
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */,
);
path = iOS;
sourceTree = "<group>";
};
FC1515684236259C50A7747F607DC8A2 /* Frameworks */ = {
isa = PBXGroup;
children = (
12809A79ACE69F501A5FE815B43985BD /* Carthage */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
536ACF18E4603B59207D43CE68E02CBF /* Framework_tvOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 658628E35283172E17BFC6A35BE18143 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */;
buildPhases = (
9EC3C2991C5C1EE119E39533F752AA31 /* Sources */,
5EFF61D0A49AA8EABD72DF4449BCEADE /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Framework_tvOS;
productName = Framework_tvOS;
productReference = 7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */;
productType = "com.apple.product-type.framework";
};
53A3B531E3947D8A8722745EA59EBB5B /* Framework_macOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = D60A551D881B4B91F4535B78058154DF /* Build configuration list for PBXNativeTarget "Framework_macOS" */;
buildPhases = (
D1F422E9C4DD531AA88418C9F755A5D2 /* Sources */,
C2323597C6777A02E1FF671C303DD89C /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Framework_macOS;
productName = Framework_macOS;
productReference = 41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */;
productType = "com.apple.product-type.framework";
};
71B5187E710718C1A205D4DCD90D6962 /* Framework_watchOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4A8774E3B4F5C9B98E0D0CF9EC17CF91 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */;
buildPhases = (
077D11E42A8E90CAB8A95DF21687CF45 /* Sources */,
2E6FCCFC594BE9FEB74FA2F01F56F4FE /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Framework_watchOS;
productName = Framework_watchOS;
productReference = 6177CC6263783487E93F7F4D07620345 /* Framework.framework */;
productType = "com.apple.product-type.framework";
};
AE3F93DB94E7208F2F1D9A78B91C1BC8 /* Framework_iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 50DA67E9A951C40D9536609DD12FA6CC /* Build configuration list for PBXNativeTarget "Framework_iOS" */;
buildPhases = (
40A4456A24F99A01E340C0326EA77547 /* Sources */,
9B861C58E640BD4AD391900CF0C4ABEC /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Framework_iOS;
productName = Framework_iOS;
productReference = 8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1000;
};
buildConfigurationList = D91E14E36EC0B415578456F264E0161E /* Build configuration list for PBXProject "Project" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 293D0FF827366B513839236A28819597;
projectDirPath = "";
projectRoot = "";
targets = (
AE3F93DB94E7208F2F1D9A78B91C1BC8 /* Framework_iOS */,
53A3B531E3947D8A8722745EA59EBB5B /* Framework_macOS */,
536ACF18E4603B59207D43CE68E02CBF /* Framework_tvOS */,
71B5187E710718C1A205D4DCD90D6962 /* Framework_watchOS */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
077D11E42A8E90CAB8A95DF21687CF45 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
40A4456A24F99A01E340C0326EA77547 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
9EC3C2991C5C1EE119E39533F752AA31 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
D1F422E9C4DD531AA88418C9F755A5D2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
036FCF7C4B48C154279F289D6ADA3780 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 4.2;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
06FEE6A4375FED73FBBB4162251902B0 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
6081E9515EB8A378BEE3E57A2144B0C7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = watchos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
62D4835A6A4EDD4CF8DDCB413B49DC64 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 3;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
6D4575F120C426FEC8956CCBA1513185 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/watchOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = watchos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
86602EB00607C9B20F3534A4F469275C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
999683C4B5329A72D12AD5847063E864 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.2;
};
name = Debug;
};
B7544571511FFC03F6471D8096548A3E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = macosx;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
C04D53CA1D822DDDB3DF4B3F0E33B990 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = macosx;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
EE917255DA1F2644A2985FE72F21E56C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = Framework;
SDKROOT = appletvos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 3;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4A8774E3B4F5C9B98E0D0CF9EC17CF91 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6081E9515EB8A378BEE3E57A2144B0C7 /* Debug */,
6D4575F120C426FEC8956CCBA1513185 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "";
};
50DA67E9A951C40D9536609DD12FA6CC /* Build configuration list for PBXNativeTarget "Framework_iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
86602EB00607C9B20F3534A4F469275C /* Debug */,
06FEE6A4375FED73FBBB4162251902B0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "";
};
658628E35283172E17BFC6A35BE18143 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EE917255DA1F2644A2985FE72F21E56C /* Debug */,
62D4835A6A4EDD4CF8DDCB413B49DC64 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "";
};
D60A551D881B4B91F4535B78058154DF /* Build configuration list for PBXNativeTarget "Framework_macOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B7544571511FFC03F6471D8096548A3E /* Debug */,
C04D53CA1D822DDDB3DF4B3F0E33B990 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "";
};
D91E14E36EC0B415578456F264E0161E /* Build configuration list for PBXProject "Project" */ = {
isa = XCConfigurationList;
buildConfigurations = (
999683C4B5329A72D12AD5847063E864 /* Debug */,
036FCF7C4B48C154279F289D6ADA3780 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */;
}
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
@@ -0,0 +1,13 @@
name: Project
options:
findCarthageFrameworks: true
targets:
Framework:
type: framework
platform: [iOS, tvOS, watchOS, macOS]
dependencies:
- carthage: Result
- carthage: Alamofire
- carthage: CarthageTestFixture
- carthage: ReactiveSwift
- carthage: ReactiveCocoa
+1 -2
View File
@@ -1,2 +1 @@
github "antitypical/Result"
github "rpassis/CarthageTestFixture"
github "antitypical/Result"
@@ -1,2 +1 @@
github "antitypical/Result" "4.1.0"
github "rpassis/CarthageTestFixture" "1.0"
-59
View File
@@ -1,59 +0,0 @@
{
"Mac" : [
{
"name" : "DependencyFixtureB",
"hash" : "a0b91cab5b10db475b7f82a64a579ab0ae174664fd1dbb964fbae0f142a710ce"
},
{
"name" : "DependencyFixtureA",
"hash" : "c943bae81f2f24af19f4ea8024527a8ffba6d1789d1e8b5a0be46a3f79fe6976"
},
{
"name" : "CarthageTestFixture",
"hash" : "7f3f63371af11389513ed09495cb3abf54b92f168feb1c55e3895bb5b3f5840c"
}
],
"watchOS" : [
{
"name" : "DependencyFixtureA",
"hash" : "1429e4e4ab930a3374469c74a9cef372433698877e84b374901f758264e1fc85"
},
{
"name" : "DependencyFixtureB",
"hash" : "698a98b16d298a2ce211956434e2bd257cb26ff49c7e65a3e63454cb2605acd6"
},
{
"name" : "CarthageTestFixture",
"hash" : "7400475ef25e1575d71e5ede3421c729ff53cac268f197f5bdf9481d9a9da637"
}
],
"tvOS" : [
{
"name" : "CarthageTestFixture",
"hash" : "2ae94d9bc1974b11a808bdadc9f04fd44e7548339680ff3ee99a382ac3c51525"
},
{
"name" : "DependencyFixtureA",
"hash" : "2b63fd14433fa5ad1d14daadc7192e4978d3fadb37b18b836d3fff9ceb41fc3b"
},
{
"name" : "DependencyFixtureB",
"hash" : "356cf8942df1bb1f37aebe2951774a128e39b50bf9229b82f26ed2750fbd5544"
}
],
"commitish" : "1.0",
"iOS" : [
{
"name" : "CarthageTestFixture",
"hash" : "9ca429bd7d25b31754ef4136adbde965c0eaa67063ad74ceeb78a9d807408b4e"
},
{
"name" : "DependencyFixtureA",
"hash" : "b4154e6c1ea0fbeb5726f2cb73a8960bc4dfefb3fa662d8f8a6a9747d06a4453"
},
{
"name" : "DependencyFixtureB",
"hash" : "306e7ffd97c59e25198028cfd2736f0fb8640b42e7bc60eb1057830d8e844933"
}
]
}
@@ -28,37 +28,25 @@
097B0B6C198B9A52D4312F11000496FD /* App_watchOS.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = A680BE9F68A255B0FB291AE6F0A2B045 /* App_watchOS.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
0C8ADA24D201C830751FBE37DFB5FAA2 /* iMessageExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D629E142AB87C681D4EC90F7106F7299 /* iMessageExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
0D281787B630CE62E91F9F7219EFF40D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8A016580A3B8F72B820BFBF93749CD7 /* Assets.xcassets */; };
0DB8E1DA22F48A2A2466B0B8CCF99BEC /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
0F7F220834A3E2B344322B64DB5140DF /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */; };
13C624ABA05AC67129468002144005A9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0704B6CAFBB53E0EBB08F6B385901D43 /* ViewController.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; };
182376FB8F63EF1A2634C420B0D2709A /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1985E98D7107DFCBB2F2AC7DC6A155B5 /* SomeFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
1E105E72C258FF9843B21D8A3F520CFB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE1F06D99242F4223D081F0DF78367F3 /* LaunchScreen.storyboard */; };
1FF485BF4B0845F504280D7FD1AD7DF6 /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
205719BEDEFFC911468631925C617988 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
21B9D91DC3573A47C3298339795D0D2A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B419F22EB75EDD4AB9B92F32F7D39755 /* Assets.xcassets */; };
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
260126FF16180EC41A12EA5C75DAF0B8 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
262B4F15CB0780B21C37D89F5EA9FE80 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
29A79F030DD325754FD2C82C4A6E0AE6 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */; };
2DE309130A6F5A7E2E7E13169357C316 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
2DFBC735559B5AC7702C7DD1F54FBFFE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9390121B4ECBB1B796C7CBBDD32C4DD4 /* Assets.xcassets */; };
319B977623307E83E948E9E4CEBB432E /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
3474A5D469F41494C4CB871D75C77106 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
36152E299B36BCA0F25AD1FC9B002835 /* MoreUnder.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA8718C7CD3BE86D9B1F51203A548A51 /* MoreUnder.swift */; };
36F2B8CC97BD885A59E4FBA6EBC8EB22 /* StandaloneAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3571E41E19A5AB8AAAB04109D524DB4F /* StandaloneAssets.xcassets */; };
3799FF03E75F5D3C925CBB18B8BB7BF6 /* Framework2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
3A9B6CE17CFDF8537B52B1AFC4668973 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
3C0F9F92D09B92BA43115824CC08C12B /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3C5A4AC7604AE8106630F578F7FFE642 /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
3C96F8384CC8C6401A0EE14727C5D323 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
3E7ABFF8EC0A3EC912899F469BF5A126 /* InterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3F6BCB5FEFB16F1BA368059F4B1505A /* InterfaceController.swift */; };
41B0909025B983E66FCC4AA8A1FE3634 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */; };
446723391DA2F5E9AD4CE064EF80F99A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4C3FE6B986506724DAB5D0FC4361D53 /* ViewController.swift */; };
44D5928E07962D68D84D775AF3F59D81 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 74FBDFA5CB063F6001AD8ACD1776F055 /* Main.storyboard */; };
46DA8D104900945921DF4E7DDF584C25 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -74,7 +62,6 @@
5CAADD8469B81616A79CECD7DC2F58B5 /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CAF6C55B555E3E1352645B630CCB23E /* ExtensionDelegate.swift */; };
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
5F49DEBEDCC54D28AD3571B88753A356 /* App_watchOS Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0D09D243DBCF9D32E239F1E8A64D75AB /* App_watchOS Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
5F8EBB604076B9E5BD1FFEE701BFE22F /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
6544AAAD64A06DA3D891642A337C1730 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
6CD98D352BB52EB22E352454E74CA42C /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 65C8D6D1DDC1512D396C07B712F31188 /* Localizable.stringsdict */; };
6CE2C63470E541C3A04F3E9ED6B3F10B /* Framework2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
@@ -84,36 +71,26 @@
74D29BA5C4116670E4585FA413AF8460 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */; };
74E74F67565A0084FFA3E17C735B09EF /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
7856158603A68D4FF152F8E96305B3E7 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
79722BAD144B4A707B989F34A7008B16 /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
7A3C2B80CE0F5D42B7684BF5928B1694 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
7C9152ACD50B4F96C205B0DDEFD7D6D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B47B80AF9EAE0ADB4FA469CFDB7ABB8F /* MainInterface.storyboard */; };
7E84045B3F49256D14A8E8C1FF19490A /* NotificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C934C1F7A68CCD0AB6B384782470EE7B /* NotificationController.swift */; };
7EC05429C10D0A00A8AE38CADF3F5DCA /* XPC_Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 148B7C933698BCC4F1DBA979CF051F81 /* XPC_Service.m */; };
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
824FECDE01A22CDE6C288C1969A645E9 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
82D432D23D2ACC56338BE911465E6F89 /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */; };
8493DEA48BF40EFFAC6FBD459C0E9EE4 /* ResourceFolder in Resources */ = {isa = PBXBuildFile; fileRef = 6B1603BA83AA0C7B94E45168D7E684C4 /* ResourceFolder */; };
862C296BFE176C091397763A66610C41 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3797E591F302ECC0AA2FC607B190E2C8 /* Assets.xcassets */; };
8670A20B54D6E96461DD53EBCB0644EC /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
87C8C972BF12378AD6D85C79760FB151 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 814D72C2B921F60B759C2D4BB2604550 /* Main.storyboard */; };
899A16B3BC09973811196FE1B4378CED /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
8BCF9B1A396126583737A6687CF20696 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB178D03E75929F3F5B10C56838882EC /* Result.framework */; };
9CB4F00B54E46A4F9E477ABBD94C4C25 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F1A2F579A6F79C62DDA05712E2AB1F7 /* AppDelegate.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; };
A1144E47C6EFE30830087F384717526E /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB2B6A77D39CD5602F2125F01DEF025 /* Contacts.framework */; };
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */; };
A3A3D2042DF93D8FBF171C1B0C8DA244 /* TestProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D132EA69984F32DA9DC727B6360D9F12 /* TestProjectTests.swift */; };
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */; };
A4A2DCF0818C891E44C2BA675B91B5CF /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C872631362DDBAFCE71E5C66EDD61432 /* Interface.storyboard */; };
A8D986B6AE700855C2E42510345EC88F /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
AF083D3FCE667FF0E55C291CB9B99328 /* TestProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587B9E9A3533E965CA602B763210583F /* TestProjectUITests.swift */; };
B0AAC60E0C045CDCA880C0CEB5ACC787 /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */; };
BA3997DDBE08311586C3B9DA73F8DC49 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
BAC0E24AC446937ADEE256F08C17D0EC /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
BBB8CB2B1E70458EF477A9084959FEF5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42B95EB66A17FBA091F50601196CAA83 /* Assets.xcassets */; };
BC057E5E76A42A2FD2E3E87AEAD82656 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
BC45B351474BD07D6C4BCD66327FFBFE /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
C3B73C7A69119513C543ED75DAB1C492 /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 056A43A09CE7E88D578696D83330E45F /* StaticLibrary_ObjC.a */; };
C511BD950B937DB0F2FC5DDD0ED96D20 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
@@ -123,7 +100,6 @@
CF187FEB832DA1662FCB636FCC9C7926 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 187E665975BB5611AF0F27E15659D85C /* main.m */; };
D5221D8AE288C1875C03AD3AE9DB6411 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */; };
D7BFCCEFB53658505D03C6A9A5F0A0FA /* Model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 306796628DD52FA55E833B65DD4F2A22 /* Model.xcdatamodeld */; settings = {COMPILER_FLAGS = "-Werror"; }; };
D84C788DC0E9671470E5F0DB924EC5B0 /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
D8859E56A17FCD26C7ED6548C81B1324 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
D8C50B10DC463A32C288C1A88FDCECC2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9E17D598D98065767A04740F5E729CCA /* Localizable.strings */; };
DAFD488BAFDFD93F6B540648BC4CAF3A /* Result.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -138,11 +114,8 @@
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
F04CBE9A3D61F78E4FEE6A09AED606C0 /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
F08C4D2A18A75CC292F45F1FB8E06CDE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 108BB29172D27BE3BD1E7F3536D14EAD /* Assets.xcassets */; };
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */; };
F77099662D6EAF1CF810165178A5442E /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
F7ECF245988DABA0164DFF08607F6C31 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
F96940D55B77163B7A5B04FB2B8AF458 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C033648A37D95027845BD34562053B /* main.swift */; };
FBA80842047D110FE10243F18D1AAB6F /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
FBDBC020EE959F32F0FF0E6252028356 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB2B6A77D39CD5602F2125F01DEF025 /* Contacts.framework */; };
FE01CB2392794EC5CD44533920AA051B /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */; };
@@ -296,9 +269,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
FBA80842047D110FE10243F18D1AAB6F /* CarthageTestFixture.framework in Embed Frameworks */,
182376FB8F63EF1A2634C420B0D2709A /* DependencyFixtureA.framework in Embed Frameworks */,
3C0F9F92D09B92BA43115824CC08C12B /* DependencyFixtureB.framework in Embed Frameworks */,
4C29EFBFCC52C847A4B6A268433D0B45 /* Result.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
@@ -375,9 +345,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
F77099662D6EAF1CF810165178A5442E /* CarthageTestFixture.framework in Embed Frameworks */,
A8D986B6AE700855C2E42510345EC88F /* DependencyFixtureA.framework in Embed Frameworks */,
79722BAD144B4A707B989F34A7008B16 /* DependencyFixtureB.framework in Embed Frameworks */,
74BC0F70B2D3EC06E623CB0FD6630D0F /* Result.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
@@ -401,9 +368,6 @@
dstSubfolderSpec = 10;
files = (
E32A04EF64C8989C8349A476E3DC1F19 /* Framework.framework in Embed Frameworks */,
B0AAC60E0C045CDCA880C0CEB5ACC787 /* CarthageTestFixture.framework in Embed Frameworks */,
1FF485BF4B0845F504280D7FD1AD7DF6 /* DependencyFixtureA.framework in Embed Frameworks */,
D84C788DC0E9671470E5F0DB924EC5B0 /* DependencyFixtureB.framework in Embed Frameworks */,
DAFD488BAFDFD93F6B540648BC4CAF3A /* Result.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
@@ -446,7 +410,6 @@
0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */ = {isa = PBXFileReference; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
0D09D243DBCF9D32E239F1E8A64D75AB /* App_watchOS Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "App_watchOS Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
0F32AD342EF6A4C7F6324B36AB349105 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Standalone.swift; sourceTree = "<group>"; };
102A08142A31E44F4ED52649F22BB71E /* base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = "<group>"; };
@@ -456,7 +419,6 @@
148B7C933698BCC4F1DBA979CF051F81 /* XPC_Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPC_Service.m; sourceTree = "<group>"; };
16D662EE577E4CD6AFF39D66C382B13F /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = config.xcconfig; sourceTree = "<group>"; };
187E665975BB5611AF0F27E15659D85C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StaticLibrary_ObjC.m; sourceTree = "<group>"; };
22237B8EBD9E6BE8EBC8735F5AA17192 /* XPC Service.xpc */ = {isa = PBXFileReference; includeInIndex = 0; path = "XPC Service.xpc"; sourceTree = BUILT_PRODUCTS_DIR; };
2233774B86539B1574D206B07A805A8F /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -471,11 +433,8 @@
3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
42B95EB66A17FBA091F50601196CAA83 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
4BF4D16042A80576D259160C97AD2C2E /* Model 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 3.xcdatamodel"; sourceTree = "<group>"; };
4D0BF47DF71A6DBA33ED23FD22D023EF /* StaticLibrary_ObjC.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_ObjC.a; sourceTree = BUILT_PRODUCTS_DIR; };
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
5116B3B58070BCD09F1487BAFC210EE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
553D289724905857912C7A1D65ADD26F /* outputList.xcfilelist */ = {isa = PBXFileReference; path = outputList.xcfilelist; sourceTree = "<group>"; };
564E35E83C95F5591345B7722A59AA4E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -483,7 +442,6 @@
587B9E9A3533E965CA602B763210583F /* TestProjectUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectUITests.swift; sourceTree = "<group>"; };
5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StaticLibrary_ObjC.h; sourceTree = "<group>"; };
6177CC6263783487E93F7F4D07620345 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFramework.h; sourceTree = "<group>"; };
6AC91042453E18DF74BA1C0F957D87DC /* StaticLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticLibrary.swift; sourceTree = "<group>"; };
6B1603BA83AA0C7B94E45168D7E684C4 /* ResourceFolder */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ResourceFolder; path = Resources/ResourceFolder; sourceTree = SOURCE_ROOT; };
@@ -500,16 +458,12 @@
7DE38C10AB71A47B786D5BF205BA002F /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = "<group>"; };
7F1A2F579A6F79C62DDA05712E2AB1F7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7FDC16E1938AA114B67D87A9822E86D7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = "<group>"; };
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
814822136AF3C64428D69DD62246E8A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8CAF6C55B555E3E1352645B630CCB23E /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = "<group>"; };
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
9390121B4ECBB1B796C7CBBDD32C4DD4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
93C033648A37D95027845BD34562053B /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
9A87A926D563773658FB87FEEE4DD132 /* iMessageApp.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = iMessageApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
9F27382DD66E26C059E26EFE8D6BEF4D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
A0DC40025AB59B688E758829FB7EDB95 /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A3F6BCB5FEFB16F1BA368059F4B1505A /* InterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceController.swift; sourceTree = "<group>"; };
@@ -519,10 +473,8 @@
AB055761199DF36DB0C629A608A4EF3A /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B17B8D9C9B391332CD176A355AD24669 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LocalizedStoryboard.storyboard; sourceTree = "<group>"; };
B1C33BB070583BE3B0EC0E68083FE89C /* App_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
B419F22EB75EDD4AB9B92F32F7D39755 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
BA040F1F7D6CA08878323A551349F18D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BB178D03E75929F3F5B10C56838882EC /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
BECEA4A483ADEB8158F640B356D10090 /* Tool */ = {isa = PBXFileReference; includeInIndex = 0; path = Tool; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -558,9 +510,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
3C5A4AC7604AE8106630F578F7FFE642 /* CarthageTestFixture.framework in Frameworks */,
0DB8E1DA22F48A2A2466B0B8CCF99BEC /* DependencyFixtureA.framework in Frameworks */,
BC057E5E76A42A2FD2E3E87AEAD82656 /* DependencyFixtureB.framework in Frameworks */,
FBDBC020EE959F32F0FF0E6252028356 /* Contacts.framework in Frameworks */,
6CE2C63470E541C3A04F3E9ED6B3F10B /* Framework2.framework in Frameworks */,
DE50B077EE4BFABAF128321B2A13886F /* Framework.framework in Frameworks */,
@@ -574,9 +523,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */,
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */,
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */,
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -585,9 +531,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */,
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */,
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */,
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -596,9 +539,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */,
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */,
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */,
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -607,9 +547,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
899A16B3BC09973811196FE1B4378CED /* CarthageTestFixture.framework in Frameworks */,
5F8EBB604076B9E5BD1FFEE701BFE22F /* DependencyFixtureA.framework in Frameworks */,
260126FF16180EC41A12EA5C75DAF0B8 /* DependencyFixtureB.framework in Frameworks */,
A1144E47C6EFE30830087F384717526E /* Contacts.framework in Frameworks */,
82D432D23D2ACC56338BE911465E6F89 /* Framework.framework in Frameworks */,
F7ECF245988DABA0164DFF08607F6C31 /* Result.framework in Frameworks */,
@@ -622,9 +559,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */,
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */,
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */,
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -699,9 +633,6 @@
2935454D05445817952E145D261767D4 /* watchOS */ = {
isa = PBXGroup;
children = (
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */,
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */,
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */,
BB178D03E75929F3F5B10C56838882EC /* Result.framework */,
);
path = watchOS;
@@ -828,9 +759,6 @@
912A7321F662FE41BAAEED67F628711F /* Mac */ = {
isa = PBXGroup;
children = (
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */,
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */,
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */,
D296BB7355994040E197A1EE5B41F583 /* Result.framework */,
);
path = Mac;
@@ -934,9 +862,6 @@
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */ = {
isa = PBXGroup;
children = (
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */,
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */,
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */,
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */,
);
path = tvOS;
@@ -945,9 +870,6 @@
DBF93518FC96D95A5455271356EB57FF /* iOS */ = {
isa = PBXGroup;
children = (
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */,
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */,
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */,
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */,
);
path = iOS;
@@ -1686,16 +1608,10 @@
files = (
);
inputPaths = (
"$(SRCROOT)/Carthage/Build/iOS/CarthageTestFixture.framework",
"$(SRCROOT)/Carthage/Build/iOS/DependencyFixtureA.framework",
"$(SRCROOT)/Carthage/Build/iOS/DependencyFixtureB.framework",
"$(SRCROOT)/Carthage/Build/iOS/Result.framework",
);
name = Carthage;
outputPaths = (
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/CarthageTestFixture.framework",
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/DependencyFixtureA.framework",
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/DependencyFixtureB.framework",
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Result.framework",
);
runOnlyForDeploymentPostprocessing = 0;
+1 -5
View File
@@ -86,8 +86,6 @@ targets:
- target: Framework_iOS
- target: StaticLibrary_ObjC_iOS
- carthage: Result
- carthage: CarthageTestFixture
includeRelated: true
- target: Framework2_iOS
weak: true
- target: App_watchOS
@@ -196,9 +194,7 @@ targets:
path: scripts/script.sh
dependencies:
- carthage: Result
- carthage: CarthageTestFixture
includeRelated: true
- target: StaticLibrary_ObjC_$platform
- target: StaticLibrary_ObjC_${platform}
Framework2:
type: framework
+6 -6
View File
@@ -29,7 +29,7 @@ extension Project {
preActions: [Scheme.ExecutionAction(name: "run", script: "script")],
postActions: [Scheme.ExecutionAction(name: "run", script: "script")]
)
for platform in Platform.all {
for platform in Platform.allCases {
let appTarget = Target(
name: "App_\(platform)",
type: .application,
@@ -38,8 +38,8 @@ extension Project {
dependencies: [
Dependency(type: .target, reference: "Framework_\(platform)"),
Dependency(type: .target, reference: "Framework2_\(platform)"),
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
Dependency(type: .carthage(includeRelated: false), reference: "BrightFutures"),
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
Dependency(type: .carthage(findFrameworks: false), reference: "BrightFutures"),
],
scheme: scheme
)
@@ -73,7 +73,7 @@ extension Project {
TargetSource(path: "Framework_\(platform)"),
],
dependencies: [
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
],
scheme: scheme
)
@@ -89,8 +89,8 @@ extension Project {
sources: [TargetSource(path: "Framework2_\(platform)")],
dependencies: [
Dependency(type: .target, reference: "Framework_\(platform)"),
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
Dependency(type: .carthage(includeRelated: false), reference: "BrightFutures"),
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
Dependency(type: .carthage(findFrameworks: false), reference: "BrightFutures"),
],
scheme: scheme
)
@@ -15,7 +15,7 @@ class CarthageDependencyResolverTests: XCTestCase {
$0.it("provides the default base build path") {
let resolver = CarthageDependencyResolver(project: makeTestProject())
try expect(resolver.baseBuildPath) == "Carthage/Build"
try expect(resolver.buildPath) == "Carthage/Build"
}
$0.it("provides the base build path specified by the project specs") {
@@ -23,7 +23,7 @@ class CarthageDependencyResolverTests: XCTestCase {
let options = SpecOptions(carthageBuildPath: customPath)
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
try expect(resolver.baseBuildPath) == customPath
try expect(resolver.buildPath) == customPath
}
}
}
@@ -33,7 +33,7 @@ class CarthageDependencyResolverTests: XCTestCase {
$0.it("provides the default executable path for carthage") {
let resolver = CarthageDependencyResolver(project: makeTestProject())
try expect(resolver.executablePath) == "carthage"
try expect(resolver.executable) == "carthage"
}
$0.it("provides the executable path for carthage as specified by the project specs") {
@@ -41,7 +41,7 @@ class CarthageDependencyResolverTests: XCTestCase {
let options = SpecOptions(carthageExecutablePath: customPath)
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
try expect(resolver.executablePath) == customPath
try expect(resolver.executable) == customPath
}
}
}
@@ -49,10 +49,10 @@ class CarthageDependencyResolverTests: XCTestCase {
describe {
$0.it("generates the build path for a given platform") {
let resolver = CarthageDependencyResolver(project: makeTestProject())
let allPlatforms = Platform.all
let expectedByPlatform: [Platform: String] = allPlatforms.reduce(into: [:], { result, next in
result[next] = "\(resolver.baseBuildPath)/\(next.carthageDirectoryName)"
})
let allPlatforms = Platform.allCases
let expectedByPlatform: [Platform: String] = allPlatforms.reduce(into: [:]) { result, next in
result[next] = "\(resolver.buildPath)/\(next.carthageName)"
}
try allPlatforms.forEach { platform in
try expect(expectedByPlatform[platform]) == resolver.buildPath(for: platform)
@@ -63,15 +63,14 @@ class CarthageDependencyResolverTests: XCTestCase {
func testRelatedDependenciesForPlatform() {
let dependencyFixtureName = "CarthageTestFixture"
let carthageBuildPath = fixturePath + "TestProject/Carthage/Build"
let carthageBuildPath = fixturePath + "CarthageProject/Carthage/Build"
describe {
$0.it("fetches related dependencies for a given platform, sorted alphabetically") {
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string)
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
let dependency = Dependency(type: .carthage(includeRelated: true), reference: dependencyFixtureName)
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "CarthageTestFixture")
let expectedDependencies: [Platform: [String]] = [
.macOS: ["DependencyFixtureB", "DependencyFixtureA", "CarthageTestFixture"],
.watchOS: ["DependencyFixtureA", "DependencyFixtureB", "CarthageTestFixture"],
@@ -79,7 +78,7 @@ class CarthageDependencyResolverTests: XCTestCase {
.iOS: ["CarthageTestFixture", "DependencyFixtureA", "DependencyFixtureB"]
]
try Platform.all.forEach { platform in
try Platform.allCases.forEach { platform in
let expected = expectedDependencies[platform] ?? []
let related = resolver.relatedDependencies(for: dependency, in: platform)
try expect(related.map { $0.reference }) == expected.sorted(by: { $0 < $1 })
@@ -88,11 +87,20 @@ class CarthageDependencyResolverTests: XCTestCase {
$0.it("returns the main dependency when no related dependencies are found") {
let resolver = CarthageDependencyResolver(project: makeTestProject())
let dependency = Dependency(type: .carthage(includeRelated: true), reference: dependencyFixtureName)
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "RandomDependency")
let related = resolver.relatedDependencies(for: dependency, in: .iOS)
try expect(related.map { $0.reference }) == [dependencyFixtureName]
try expect(related.map { $0.reference }) == ["RandomDependency"]
}
$0.it("de-duplicates dependencies") {
let resolver = CarthageDependencyResolver(project: makeTestProject())
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "ReactiveSwift")
let related = resolver.relatedDependencies(for: dependency, in: .iOS)
try expect(related.map { $0.reference }) == ["ReactiveSwift"]
}
}
}
@@ -104,9 +112,9 @@ class CarthageDependencyResolverTests: XCTestCase {
describe {
$0.it("overrides the includeRelated dependency global flag when specified") {
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string, includeCarthageRelatedDependencies: true)
let dependency = Dependency(type: .carthage(includeRelated: false), reference: dependencyFixtureName)
$0.it("overrides the findFrameworks dependency global flag when specified") {
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string, findCarthageFrameworks: true)
let dependency = Dependency(type: .carthage(findFrameworks: false), reference: dependencyFixtureName)
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
let target = Target(name: "1", type: .application, platform: .iOS, dependencies: [dependency])
@@ -118,7 +126,7 @@ class CarthageDependencyResolverTests: XCTestCase {
$0.it("fetches all carthage dependencies for a given target, sorted alphabetically") {
let unsortedDependencyReferences = ["RxSwift", "RxCocoa", "RxBlocking", "RxTest", "RxAtomic"]
let dependencies = unsortedDependencyReferences.map {
Dependency(type: .carthage(includeRelated: false), reference: $0)
Dependency(type: .carthage(findFrameworks: false), reference: $0)
}
let nonCarthageDependencies = unsortedDependencyReferences.map { Dependency(type: .target, reference: $0) }
let target = Target(name: "1", type: .application, platform: .iOS, dependencies: dependencies + nonCarthageDependencies)
@@ -437,7 +437,7 @@ class ProjectGeneratorTests: XCTestCase {
dependencies: [
Dependency(type: .target, reference: iosFrameworkZ.name),
Dependency(type: .framework, reference: "FrameworkZ.framework"),
Dependency(type: .carthage(includeRelated: false), reference: "CarthageZ"),
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageZ"),
]
)
expectedResourceFiles[staticLibrary.name] = Set()
@@ -461,10 +461,10 @@ class ProjectGeneratorTests: XCTestCase {
dependencies: [
Dependency(type: .target, reference: resourceBundle.name),
Dependency(type: .framework, reference: "FrameworkC.framework"),
Dependency(type: .carthage(includeRelated: false), reference: "CarthageA"),
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageA"),
// Statically linked, so don't embed into test
Dependency(type: .target, reference: staticLibrary.name),
Dependency(type: .carthage(includeRelated: false), reference: "CarthageB", embed: false),
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageB", embed: false),
]
)
expectedResourceFiles[iosFrameworkA.name] = Set()
@@ -487,7 +487,7 @@ class ProjectGeneratorTests: XCTestCase {
Dependency(type: .framework, reference: "FrameworkD.framework"),
// Embedded into framework, so don't embed into test
Dependency(type: .framework, reference: "FrameworkE.framework", embed: true),
Dependency(type: .carthage(includeRelated: false), reference: "CarthageC", embed: true),
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageC", embed: true),
// Statically linked, so don't embed into test
Dependency(type: .framework, reference: "FrameworkF.framework", embed: false),
]
@@ -517,7 +517,7 @@ class ProjectGeneratorTests: XCTestCase {
dependencies: [
Dependency(type: .target, reference: app.name),
Dependency(type: .target, reference: iosFrameworkB.name),
Dependency(type: .carthage(includeRelated: false), reference: "CarthageD"),
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageD"),
],
directlyEmbedCarthageDependencies: false
)
@@ -528,9 +528,9 @@ class SourceGeneratorTests: XCTestCase {
"""
try createDirectories(directories)
let watchTarget = Target(name: "Watch", type: .watch2App, platform: .watchOS, sources: ["A"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire_watch")])
let watchTarget = Target(name: "Watch", type: .watch2App, platform: .watchOS, sources: ["A"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire_watch")])
let watchDependency = Dependency(type: .target, reference: "Watch")
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"), watchDependency])
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"), watchDependency])
let project = Project(basePath: directoryPath, name: "Test", targets: [target, watchTarget])
let pbxProj = try project.generatePbxProj()
@@ -549,7 +549,7 @@ class SourceGeneratorTests: XCTestCase {
"""
try createDirectories(directories)
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A", "P", "S"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire")])
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A", "P", "S"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire")])
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
let pbxProj = try project.generatePbxProj()
@@ -572,7 +572,7 @@ class SourceGeneratorTests: XCTestCase {
"""
try createDirectories(directories)
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["Sources"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire")])
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["Sources"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire")])
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
let pbxProj = try project.generatePbxProj()
@@ -343,14 +343,14 @@ class SpecLoadingTests: XCTestCase {
var targetDictionary = validTarget
targetDictionary["dependencies"] = [
["target": "name", "embed": false],
["carthage": "name", "includeRelated": true],
["carthage": "name", "findFrameworks": true],
["framework": "path", "weak": true],
["sdk": "Contacts.framework"],
]
let target = try Target(name: "test", jsonDictionary: targetDictionary)
try expect(target.dependencies.count) == 4
try expect(target.dependencies[0]) == Dependency(type: .target, reference: "name", embed: false)
try expect(target.dependencies[1]) == Dependency(type: .carthage(includeRelated: true), reference: "name")
try expect(target.dependencies[1]) == Dependency(type: .carthage(findFrameworks: true), reference: "name")
try expect(target.dependencies[2]) == Dependency(type: .framework, reference: "path", weakLink: true)
try expect(target.dependencies[3]) == Dependency(type: .sdk, reference: "Contacts.framework")
}
@@ -900,7 +900,7 @@ class SpecLoadingTests: XCTestCase {
watchOS: "3.0",
macOS: "10.12.1"
),
includeCarthageRelatedDependencies: true
findCarthageFrameworks: true
)
let expected = Project(name: "test", options: options)
let dictionary: [String: Any] = ["options": [
@@ -910,7 +910,7 @@ class SpecLoadingTests: XCTestCase {
"createIntermediateGroups": true,
"developmentLanguage": "ja",
"deploymentTarget": ["iOS": 11.1, "tvOS": 10.0, "watchOS": "3", "macOS": "10.12.1"],
"includeCarthageRelatedDependencies": true
"findCarthageFrameworks": true
]]
let parsedSpec = try getProjectSpec(dictionary)
try expect(parsedSpec) == expected
-8
View File
@@ -102,14 +102,6 @@ extension XCBuildConfiguration: Named {}
extension PBXNativeTarget: Named {}
extension XCScheme: Named {}
extension Version: ExpressibleByStringLiteral {
/// Will return nil literal not Semver
public init(stringLiteral value: String) {
try! self.init(value)
}
}
extension XCTestCase {
public func describe(_ name: StaticString = #function, _ test: (ContextType) -> Void) {
+5 -5
View File
@@ -1,13 +1,13 @@
#!/bin/bash
set -e
if [[ `git status --porcelain Tests/Fixtures/TestProject` ]]; then
if [[ `git status --porcelain Tests/Fixtures` ]]; then
echo ""
echo "⚠️ Generated TestProject has changed."
echo "⚠️ If this is a valid change please run the tests and commit the updated TestProject."
echo "⚠️ Generated fixturess have changed."
echo "⚠️ If this is a valid change please run the tests and commit the updates."
echo ""
git --no-pager diff --color=always Tests/Fixtures/TestProject
git --no-pager diff --color=always Tests/Fixtures
exit 1
else
echo "✅ Generated TestProject has not changed."
echo "✅ Generated fixtures have not changed."
fi
+1
View File
@@ -2,3 +2,4 @@
set -e
swift run xcodegen --spec Tests/Fixtures/TestProject/project.yml
swift run xcodegen --spec Tests/Fixtures/CarthageProject/project.yml