From 35711190ac295841aef29afced95c439b4816b71 Mon Sep 17 00:00:00 2001 From: Theo Date: Tue, 24 Jul 2018 16:00:04 -0700 Subject: [PATCH 01/12] [#55] Full rewrite of generator template in order to not depend on any runtime --- Package.resolved | 18 +- Package.swift | 7 +- Resources/dependency_resolver.stencil | 283 +- Sample/API/Generated/Weaver.API.swift | 56 +- .../API/Generated/Weaver.ImageManager.swift | 64 +- .../API/Generated/Weaver.MovieManager.swift | 82 +- Sample/Sample/AppDelegate.swift | 4 +- .../Sample/Generated/Weaver.AppDelegate.swift | 88 +- .../Generated/Weaver.HomeViewController.swift | 51 +- .../Weaver.MovieViewController.swift | 63 +- .../Generated/Weaver.PersonManager.swift | 21 +- .../Generated/Weaver.ReviewManager.swift | 35 +- ...er.WSReviewViewController+Injectable.swift | 26 +- Sources/WeaverCodeGen/Generator.swift | 78 +- Sources/WeaverCodeGen/OrderedDictionary.swift | 27 + Tests/WeaverCodeGenTests/GeneratorTests.swift | 47 + WeaverDI.xcodeproj/StencilSwiftKit_Info.plist | 25 + WeaverDI.xcodeproj/WeaverCodeGen_Info.plist | 6 +- WeaverDI.xcodeproj/WeaverDI_Info.plist | 6 +- WeaverDI.xcodeproj/project.pbxproj | 3263 +++++++++-------- .../xcschemes/WeaverDI-Package.xcscheme | 245 ++ 21 files changed, 2526 insertions(+), 1969 deletions(-) create mode 100644 WeaverDI.xcodeproj/StencilSwiftKit_Info.plist create mode 100644 WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme diff --git a/Package.resolved b/Package.resolved index a4319e9f..3585d9c1 100644 --- a/Package.resolved +++ b/Package.resolved @@ -28,15 +28,6 @@ "version": "0.8.0" } }, - { - "package": "Differ", - "repositoryURL": "https://github.com/tonyarnold/Differ.git", - "state": { - "branch": null, - "revision": "a3252fbc44b6fbc2a87539dc555a8e014233fe20", - "version": "1.2.3" - } - }, { "package": "Nimble", "repositoryURL": "https://github.com/Quick/Nimble.git", @@ -109,6 +100,15 @@ "version": "0.11.0" } }, + { + "package": "StencilSwiftKit", + "repositoryURL": "https://github.com/SwiftGen/StencilSwiftKit.git", + "state": { + "branch": null, + "revision": "f15c445ec3c7c5ad44814285e828330bc255bda3", + "version": "2.5.0" + } + }, { "package": "SWXMLHash", "repositoryURL": "https://github.com/drmohundro/SWXMLHash.git", diff --git a/Package.swift b/Package.swift index 990d69ea..58e0e7ac 100644 --- a/Package.swift +++ b/Package.swift @@ -9,13 +9,14 @@ let package = Package( dependencies: [ .package(url: "https://github.com/jpsim/SourceKitten.git", from: "0.21.0"), .package(url: "https://github.com/kylef/Commander.git", from: "0.6.0"), - .package(url: "https://github.com/kylef/Stencil.git", from: "0.11.0") + .package(url: "https://github.com/kylef/Stencil.git", from: "0.11.0"), + .package(url: "https://github.com/SwiftGen/StencilSwiftKit.git", from: "2.4.0") ], targets: [ .target(name: "WeaverDI"), .testTarget(name: "WeaverDITests", dependencies: ["WeaverDI"]), - .target(name: "WeaverCodeGen", dependencies: ["SourceKittenFramework", "Stencil", "WeaverDI"]), + .target(name: "WeaverCodeGen", dependencies: ["SourceKittenFramework", "Stencil", "StencilSwiftKit", "WeaverDI"]), .testTarget(name: "WeaverCodeGenTests", dependencies: ["WeaverCodeGen"]), .target(name: "WeaverCommand", dependencies: ["Commander", "WeaverCodeGen"]) ] -) \ No newline at end of file +) diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index dce7e4fb..f983ce1b 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -1,217 +1,178 @@ -/// This file is generated by Weaver 0.9.13 -/// DO NOT EDIT! - -{% for moduleName in imports %} -import {{moduleName}} -{% endfor %}{# imports #} - -{% for resolver in resolvers %} -// MARK: - {{resolver.targetType.name}} +{% macro ParametersDecl parameters %}{% for parameter in parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}{% endmacro %} +{% macro ParametersDeclWithSeparator parameters %}{% if parameters %}, {% endif %}{% call ParametersDecl dependencyContainer.parameters %}{% endmacro %} -{% if not resolver.isIsolated %} +{% macro ParametersPassIn parameters %}{% for parameter in parameters %}{{parameter.name}}: {{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}{% endmacro %} +{% macro ParametersPassInWithSeparator parameters %}{% if parameters %}, {% endif %}{% call ParametersPassIn parameters %}{% endmacro %} -final class {{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}: DependencyContainer { - - {% for parameter in resolver.parameters %} - let {{parameter.name}}: {{parameter.type}} - {% endfor %} - - init({% if not resolver.isRoot %}parent: Reference? = nil{% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}) { - - {% for parameter in resolver.parameters %} +{% macro ParameterAssign parameters %} + {% for parameter in parameters %} self.{{parameter.name}} = {{parameter.name}} {% endfor %} +{% endmacro %} - super.init({% if not resolver.isRoot %}parent{% endif %}) - } - - {# deinit { - print("\({{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}.self): deinit") - } #} - - override func registerDependencies(in store: DependencyStore) { - - {% for registration in resolver.registrations %} - - store.register({{registration.abstractType}}.self, scope: .{{registration.scope}}, name: "{{registration.name}}", builder: { (dependencies{% for parameter in registration.parameters %}, {{parameter.name}}: {{parameter.type}}{% endfor %}) in - {% if not registration.customRef %} +{% macro DependencyContainerBuilder dependency %}{{dependency.type.name}}DependencyContainer(injecting: self{% call ParametersPassInWithSeparator dependency.parameters %}){% endmacro %} - return {{registration.type.name}}{{registration.abstractType.generics}}{% if registration.hasBuilder %}.make{{registration.type.name}}(injecting: dependencies{% for parameter in registration.parameters %}, {{parameter.name}}: {{parameter.name}}{% endfor %}){% else %}(){% endif %} - {% else %}{# not registration.customRef #} +{% macro AttributesDecl dependencies %} +{% for dependency in dependencies %} + let {{dependency.name}}: {{dependency.abstractType}} +{% endfor %} +{% endmacro %} - return self.{{registration.name}}CustomRef({% for parameter in registration.parameters %}{% if not forloop.first %}, {% endif %}{{parameter.name}}: {{parameter.name}}{% endfor %}) - {% endif %}{# not registration.customRef #} - }) +{% macro DependencyResolverDecl dependencies %} +{% for dependency in dependencies %} - {% endfor %}{# resolver.registrations #} - } -} + {% if not dependency.customRef %} -{% endif %}{# not resolver.isIsolated #} - -{% if resolver.doesSupportObjc %}@objc {% endif %}protocol {{resolver.targetType.name}}DependencyResolver { - - {% for genericName in resolver.targetType.genericNames %} - associatedtype {{genericName}} - {% endfor %}{# resolver.targetType.genericNames #} + {% if dependency.parameters %} + func {{dependency.name}}({% call ParametersDecl dependency.parameters %}) -> {{dependency.abstractType}} + {% else %} + var {{dependency.name}}: {{dependency.abstractType}} { get } + {% endif %} - {% for parameter in resolver.parameters %} - var {{parameter.name}}: {{parameter.type}} { get } - {% endfor %} + {% else %}{# not dependency.customRef #} + var {{dependency.name}}: {{dependency.abstractType}} { get } + func {{dependency.name}}CustomRef() -> {{dependency.abstractType}} + {% endif %}{# not dependency.customRef #} - {% for reference in resolver.references %} +{% endfor %} +{% endmacro %} - {% if reference.parameters %} - func {{reference.name}}({% for parameter in reference.parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}) -> {{reference.abstractType}} - {% else %}{# reference.parameters #} - var {{reference.name}}: {{reference.abstractType}} { get } - {% endif %}{# reference.parameters #} +/// This file is generated by Weaver 0.9.13 +/// DO NOT EDIT! - {% endfor %}{# resolver.references #} +{% for moduleName in imports %} +import {{moduleName}} +{% endfor %}{# imports #} - {% for registration in resolver.registrations %} +{% for dependencyContainer in dependencyContainers %} - {% if registration.customRef %} - func {{registration.name}}CustomRef({% for parameter in registration.parameters %}{% if not forloop.first %}, {% endif %}{{parameter.name}}: {{parameter.type}}{% endfor %}) -> {{registration.abstractType}} - {% endif %}{# registration.customRef #} +// MARK: - {{dependencyContainer.targetType.name}} - {% endfor %}{# resolver.registrations #} +{% if dependencyContainer.references %} +protocol {{dependencyContainer.targetType.name}}InputDependencyResolver { + {% call DependencyResolverDecl dependencyContainer.references %} } +{% endif %} -{% if not resolver.isIsolated %} - -extension {{resolver.targetType.name}}DependencyContainer: {{resolver.targetType.name}}DependencyResolver { - {% for reference in resolver.references %} +{% if dependencyContainer.doesSupportObjc %}@objc {% endif %}protocol {{dependencyContainer.targetType.name}}DependencyResolver { - {% if reference.parameters %} + {% call DependencyResolverDecl dependencyContainer.parameters %} - func {{reference.name}}({% for parameter in reference.parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}) -> {{reference.abstractType}} { - return resolve({{reference.abstractType}}.self, name: "{{reference.name}}", parameter{% if reference.parameters.count > 1 %}s{% endif %}: {% for parameter in reference.parameters %}{{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}) - } - - {% else %}{# reference.paramters #} - - var {{reference.name}}: {{reference.abstractType}} { - return resolve({{reference.abstractType}}.self, name: "{{reference.name}}") - } + {% call DependencyResolverDecl dependencyContainer.references %} - {% endif %}{# reference.parameters #} - - {% endfor %}{# resolver.references #} + {% call DependencyResolverDecl dependencyContainer.registrations %} } -{% endif %}{# not resolver.isIsolated #} - -{% if not resolver.isRoot %} - -{% if not resolver.isIsolated %} +final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}: {% if dependencyContainer.doesSupportObjc %}NSObject, {% endif %}{{dependencyContainer.targetType.name}}DependencyResolver { + + {% call AttributesDecl dependencyContainer.parameters %} -extension {% if resolver.enclosingTypeNames %}{{resolver.enclosingTypeNames|join: "."}}.{% endif %}{{resolver.targetType.name}} { + {% call AttributesDecl dependencyContainer.references %} - static func make{{resolver.targetType.name}}({% if not resolver.isRoot %}injecting parentDependencies: DependencyContainer{% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}) -> {{resolver.targetType}} { + {% for registration in dependencyContainer.registrations %} - let dependencies = {{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}({% if not resolver.isRoot %}parent: Reference(parentDependencies){% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{{parameter.name}}: {{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}) - return {{resolver.targetType.name}}(injecting: dependencies) - - } -} + {% if not registration.isTransient %} + private var _{{registration.name}}: {{registration.abstractType}}? + {% endif %} -{% endif %}{# not resolver.isIsolated #} + {% if not registration.isTransient %} + var {{registration.name}}: {{registration.abstractType}} { + {% else %}{# not registration.isTransient #} -protocol {{resolver.targetType.name}}{% if resolver.doesSupportObjc %}ObjC{% endif %}DependencyInjectable { - {% for genericName in resolver.targetType.genericNames %} - associatedtype {{genericName}} - {% endfor %}{# resolver.targetType.genericNames #} + {% if not registration.parameters %} + var {{registration.name}}: {{registration.abstractType}} { + {% else %} + func {{registration.name}}({% call ParametersDecl registration.parameters %}) -> {{registration.abstractType}} { + {% endif %} - {% if resolver.targetType.genericNames %} - init(injecting dependencies: {{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}) - {% else %}{#resolver.targetType.genericNames#} - init(injecting dependencies: {{resolver.targetType.name}}DependencyResolver) - {% endif %}{#resolver.targetType.genericNames#} -} + {% endif %}{# not registration.isTransient #} -{% if not resolver.doesSupportObjc %} + {% if not registration.isTransient %} + if let value = _{{registration.name}} { return value } + {% endif %} -extension {% if resolver.enclosingTypeNames %}{{resolver.enclosingTypeNames|join: "."}}.{% endif %}{{resolver.targetType.name}}: {{resolver.targetType.name}}DependencyInjectable {} + {% if not registration.customRef %} -{% endif %}{# not resolver.doesSupportObjc #} + {% if registration.hasBuilder %} + let dependencies = {% call DependencyContainerBuilder registration %} + let value = {{registration.type}}(injecting: dependencies) + {% else %}{# registration.hasBuilder #} + let value = {{registration.type}}() + {% endif %}{# registration.hasBuilder #} -{% endif %}{# not resolver.isRoot #} + {% else %}{# not registration.customRef #} + let value = {{registration.name}}CustomRef() + {% endif %}{# not registration.customRef #} -{% if resolver.isPublic %} + {% if not registration.isTransient %} + _{{registration.name}} = value + {% endif %} -// MARK: - {{resolver.targetType.name}}Shim + return value + } + {% endfor %}{# dependencyContainer.registrations #} -final class {{resolver.targetType.name}}ShimDependencyContainer{{resolver.targetType.generics}}: DependencyContainer { + init({% if dependencyContainer.references %}injecting dependencies: {{dependencyContainer.targetType.name}}InputDependencyResolver{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { - private lazy var internalDependencies: {{resolver.targetType.name}}DependencyContainer = { - return {{resolver.targetType}}DependencyContainer({% if not resolver.isRoot %}parent: Reference(self, type: .weak){% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{{ parameter.name }}: self.{{ parameter.name }}{% if not forloop.last %}, {% endif %}{% endfor %}) - }() - - {% for reference in resolver.publicReferences %} - let {{ reference.name }}: {{ reference.type }} - {% endfor %}{# resolver.publicReferences #} + {% call ParameterAssign dependencyContainer.parameters %} - {% for parameter in resolver.parameters %} - let {{parameter.name}}: {{parameter.type}} - {% endfor %}{# resolver.parameters #} + {% for reference in dependencyContainer.references %} + {% if reference.parameters %} + self.{{reference.name}} = dependencies.{{reference.nane}}({% call ParametersPassIn dependency.parameters %}) + {% else %} + self.{{reference.name}} = dependencies.{{reference.name}} + {% endif %} + {% endfor %} - init({% for reference in resolver.publicReferences %}{% if not forloop.first %}, {% endif %}{{ reference.name }}: {{ reference.type }}{% endfor %}{% if resolver.publicReferences %}{% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{% if not forloop.first %}, {% endif %}{{ parameter.name }}: {{ parameter.type }}{% endfor %}) { - {% for reference in resolver.publicReferences %} - self.{{ reference.name }} = {{ reference.name }} - {% endfor %}{# resolver.publicReferences #} + {% if dependencyContainer.doesSupportObjc %}super.init(){% endif %} + } +} - {% for parameter in resolver.parameters %} - self.{{parameter.name}} = {{parameter.name}} - {% endfor %}{# resolver.parameters #} +{% for injectableDependency in dependencyContainer.injectableDependencies %} +extension {{dependencyContainer.targetType.name}}DependencyContainer: {{injectableDependency.targetType.name}}InputDependencyResolver {} +{% endfor %} - super.init() - } +{% if not dependencyContainer.isRoot %} +protocol {{dependencyContainer.targetType.name}}{% if dependencyContainer.doesSupportObjc %}ObjC{% endif %}DependencyInjectable { + {% for genericName in dependencyContainer.targetType.genericNames %} + associatedtype {{genericName}} + {% endfor %} - {# deinit { - print("\({{resolver.targetType.name}}ShimDependencyContainer{{resolver.targetType.generics}}.self): deinit") - } #} - - override func registerDependencies(in store: DependencyStore) { - {% for reference in resolver.publicReferences %} - store.register({{reference.type}}.self, scope: .weak, name: "{{reference.name}}", builder: { [weak self] _ in - guard let strongSelf = self else { - fatalError("Container was released too early. If you see this happen, please file a bug.") - } - return strongSelf.{{reference.name}} - }) - {% endfor %}{# resolver.publicReferences #} - } + {% if dependencyContainer.targetType.genericNames %} + init(injecting dependencies: {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}) + {% else %} + init(injecting dependencies: {{dependencyContainer.targetType.name}}DependencyResolver) + {% endif %} } +{% endif %} -extension {{resolver.targetType.name}}ShimDependencyContainer: {{resolver.targetType.name}}DependencyResolver { - {% for reference in resolver.internalReferences %} +{% if dependencyContainer.isPublic %} +{% if dependencyContainer.references %} +final class {{dependencyContainer.targetType.name}}ShimDependencyContainer{{dependencyContainer.targetType.generics}}: {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% if reference.parameters %} - - func {{reference.name}}({% for parameter in reference.parameters %}{{parameter.name}}: {{parameter.type}}{% if not forloop.last %}, {% endif %}{% endfor %}) -> {{reference.abstractType}} { - return internalDependencies.resolve({{reference.abstractType.name}}.self, name: "{{reference.name}}", parameter{% if reference.parameters.count > 1 %}s{% endif %}: {% for parameter in reference.parameters %}{{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}) - } + {% call AttributesDecl dependencyContainer.references %} - {% else %}{# reference.parameters #} + init({% call ParametersDecl dependencyContainer.references %}) { - var {{reference.name}}: {{reference.abstractType}} { - return internalDependencies.resolve({{reference.abstractType}}.self, name: "{{reference.name}}") + {% call ParameterAssign dependencyContainer.references %} } +} - {% endif %}{# reference.parameters #} +{% endif %}{# dependencyContainer.references #} - {% endfor %}{# resolver.internalReferences #} -} +extension {{dependencyContainer.targetType.name}} { + public convenience init({% call ParametersDecl dependencyContainer.references %}{% if dependencyContainer.references %}{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { + + {% if dependencyContainer.references %} + let shim = {{dependencyContainer.targetType.name}}ShimDependencyContainer({% call ParametersPassIn dependencyContainer.references %}) + {% endif %} -extension {{resolver.targetType.name}} { - public convenience init({% for reference in resolver.publicReferences %}{% if not forloop.first %}, {% endif %}{{ reference.name }}: {{ reference.type }}{% endfor %}{% if resolver.publicReferences %}{% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{% if not forloop.first %}, {% endif %}{{ parameter.name }}: {{ parameter.type }}{% endfor %}) { - let shim = {{resolver.targetType.name}}ShimDependencyContainer({% for reference in resolver.publicReferences %}{% if not forloop.first %}, {% endif %}{{ reference.name }}: {{ reference.name }}{% endfor %}{% if resolver.publicReferences %}{% if resolver.parameters %}, {% endif %}{% endif %}{% for parameter in resolver.parameters %}{% if not forloop.first %}, {% endif %}{{ parameter.name }}: {{ parameter.name }}{% endfor %}) - self.init(injecting: shim) + let dependencies = {{dependencyContainer.targetType.name}}DependencyContainer({% if dependencyContainer.references %}injecting: shim{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersPassIn dependencyContainer.parameters %}) + self.init(injecting: dependencies) } } -{% endif %}{# resolver.isPublic #} +{% endif %}{# dependencyContainer.isPublic #} -{% endfor %}{# resolvers #} +{% endfor %}{# dependencyContainers #} diff --git a/Sample/API/Generated/Weaver.API.swift b/Sample/API/Generated/Weaver.API.swift index 22f629b2..f5cd2fbf 100644 --- a/Sample/API/Generated/Weaver.API.swift +++ b/Sample/API/Generated/Weaver.API.swift @@ -3,65 +3,39 @@ import Foundation import WeaverDI // MARK: - MovieAPI -final class MovieAPIDependencyContainer: DependencyContainer { - init(parent: Reference? = nil) { - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) - } +protocol MovieAPIInputDependencyResolver { + var urlSession: URLSession { get } } protocol MovieAPIDependencyResolver { - var logger: Logger { get } var urlSession: URLSession { get } + var logger: Logger { get } } -extension MovieAPIDependencyContainer: MovieAPIDependencyResolver { +final class MovieAPIDependencyContainer: MovieAPIDependencyResolver { + let urlSession: URLSession + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } - var urlSession: URLSession { - return resolve(URLSession.self, name: "urlSession") - } -} -extension MovieAPI { - static func makeMovieAPI(injecting parentDependencies: DependencyContainer) -> MovieAPI { - let dependencies = MovieAPIDependencyContainer(parent: Reference(parentDependencies)) - return MovieAPI(injecting: dependencies) + init(injecting dependencies: MovieAPIInputDependencyResolver) { + self.urlSession = dependencies.urlSession } } protocol MovieAPIDependencyInjectable { init(injecting dependencies: MovieAPIDependencyResolver) } -extension MovieAPI: MovieAPIDependencyInjectable {} -// MARK: - MovieAPIShim -final class MovieAPIShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: MovieAPIDependencyContainer = { - return MovieAPIDependencyContainer(parent: Reference(self, type: .weak)) - }() +final class MovieAPIShimDependencyContainer: MovieAPIInputDependencyResolver { let urlSession: URLSession init(urlSession: URLSession) { self.urlSession = urlSession - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(URLSession.self, scope: .weak, name: "urlSession", builder: { [weak self] _ in - guard let strongSelf = self else { - fatalError("Container was released too early. If you see this happen, please file a bug.") - } - return strongSelf.urlSession - }) - } -} -extension MovieAPIShimDependencyContainer: MovieAPIDependencyResolver { - var logger: Logger { - return internalDependencies.resolve(Logger.self, name: "logger") } } extension MovieAPI { public convenience init(urlSession: URLSession) { let shim = MovieAPIShimDependencyContainer(urlSession: urlSession) - self.init(injecting: shim) + let dependencies = MovieAPIDependencyContainer(injecting: shim) + self.init(injecting: dependencies) } } \ No newline at end of file diff --git a/Sample/API/Generated/Weaver.ImageManager.swift b/Sample/API/Generated/Weaver.ImageManager.swift index 0e8e795f..0b91dbcb 100644 --- a/Sample/API/Generated/Weaver.ImageManager.swift +++ b/Sample/API/Generated/Weaver.ImageManager.swift @@ -4,64 +4,42 @@ import Foundation import UIKit import WeaverDI // MARK: - ImageManager -final class ImageManagerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) - store.register(URLSession.self, scope: .container, name: "urlSession", builder: { (dependencies) in - return self.urlSessionCustomRef() - }) - store.register(APIProtocol.self, scope: .graph, name: "movieAPI", builder: { (dependencies) in - return MovieAPI.makeMovieAPI(injecting: dependencies) - }) - } -} protocol ImageManagerDependencyResolver { var logger: Logger { get } var urlSession: URLSession { get } - var movieAPI: APIProtocol { get } func urlSessionCustomRef() -> URLSession + var movieAPI: APIProtocol { get } } -extension ImageManagerDependencyContainer: ImageManagerDependencyResolver { +final class ImageManagerDependencyContainer: ImageManagerDependencyResolver { + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } + private var _urlSession: URLSession? var urlSession: URLSession { - return resolve(URLSession.self, name: "urlSession") + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value } + private var _movieAPI: APIProtocol? var movieAPI: APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI") + if let value = _movieAPI { return value } + let dependencies = MovieAPIDependencyContainer(injecting: self) + let value = MovieAPI(injecting: dependencies) + _movieAPI = value + return value } -} -// MARK: - ImageManagerShim -final class ImageManagerShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: ImageManagerDependencyContainer = { - return ImageManagerDependencyContainer() - }() init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - } -} -extension ImageManagerShimDependencyContainer: ImageManagerDependencyResolver { - var logger: Logger { - return internalDependencies.resolve(Logger.self, name: "logger") - } - var urlSession: URLSession { - return internalDependencies.resolve(URLSession.self, name: "urlSession") - } - var movieAPI: APIProtocol { - return internalDependencies.resolve(APIProtocol.self, name: "movieAPI") } } +extension ImageManagerDependencyContainer: MovieAPIInputDependencyResolver {} extension ImageManager { public convenience init() { - let shim = ImageManagerShimDependencyContainer() - self.init(injecting: shim) + let dependencies = ImageManagerDependencyContainer() + self.init(injecting: dependencies) } } \ No newline at end of file diff --git a/Sample/API/Generated/Weaver.MovieManager.swift b/Sample/API/Generated/Weaver.MovieManager.swift index 5cffe082..9ebeff3e 100644 --- a/Sample/API/Generated/Weaver.MovieManager.swift +++ b/Sample/API/Generated/Weaver.MovieManager.swift @@ -3,81 +3,53 @@ import Foundation import WeaverDI // MARK: - MovieManager -final class MovieManagerDependencyContainer: DependencyContainer { - let host: String? - init(parent: Reference? = nil, host: String?) { - self.host = host - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(URLSession.self, scope: .container, name: "urlSession", builder: { (dependencies) in - return self.urlSessionCustomRef() - }) - store.register(APIProtocol.self, scope: .graph, name: "movieAPI", builder: { (dependencies) in - return MovieAPI.makeMovieAPI(injecting: dependencies) - }) - } +protocol MovieManagerInputDependencyResolver { + var logger: Logger { get } } protocol MovieManagerDependencyResolver { var host: String? { get } - var urlSession: URLSession { get } - var movieAPI: APIProtocol { get } var logger: Logger { get } + var urlSession: URLSession { get } func urlSessionCustomRef() -> URLSession + var movieAPI: APIProtocol { get } } -extension MovieManagerDependencyContainer: MovieManagerDependencyResolver { +final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { + let host: String? + let logger: Logger + private var _urlSession: URLSession? var urlSession: URLSession { - return resolve(URLSession.self, name: "urlSession") + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value } + private var _movieAPI: APIProtocol? var movieAPI: APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI") - } - var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _movieAPI { return value } + let dependencies = MovieAPIDependencyContainer(injecting: self) + let value = MovieAPI(injecting: dependencies) + _movieAPI = value + return value } -} -extension MovieManager { - static func makeMovieManager(injecting parentDependencies: DependencyContainer, host: String?) -> MovieManager { - let dependencies = MovieManagerDependencyContainer(parent: Reference(parentDependencies), host: host) - return MovieManager(injecting: dependencies) + init(injecting dependencies: MovieManagerInputDependencyResolver, host: String?) { + self.host = host + self.logger = dependencies.logger } } +extension MovieManagerDependencyContainer: MovieAPIInputDependencyResolver {} protocol MovieManagerDependencyInjectable { init(injecting dependencies: MovieManagerDependencyResolver) } -extension MovieManager: MovieManagerDependencyInjectable {} -// MARK: - MovieManagerShim -final class MovieManagerShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: MovieManagerDependencyContainer = { - return MovieManagerDependencyContainer(parent: Reference(self, type: .weak), host: self.host) - }() +final class MovieManagerShimDependencyContainer: MovieManagerInputDependencyResolver { let logger: Logger - let host: String? - init(logger: Logger, host: String?) { + init(logger: Logger) { self.logger = logger - self.host = host - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .weak, name: "logger", builder: { [weak self] _ in - guard let strongSelf = self else { - fatalError("Container was released too early. If you see this happen, please file a bug.") - } - return strongSelf.logger - }) - } -} -extension MovieManagerShimDependencyContainer: MovieManagerDependencyResolver { - var urlSession: URLSession { - return internalDependencies.resolve(URLSession.self, name: "urlSession") - } - var movieAPI: APIProtocol { - return internalDependencies.resolve(APIProtocol.self, name: "movieAPI") } } extension MovieManager { public convenience init(logger: Logger, host: String?) { - let shim = MovieManagerShimDependencyContainer(logger: logger, host: host) - self.init(injecting: shim) + let shim = MovieManagerShimDependencyContainer(logger: logger) + let dependencies = MovieManagerDependencyContainer(injecting: shim, host: host) + self.init(injecting: dependencies) } } \ No newline at end of file diff --git a/Sample/Sample/AppDelegate.swift b/Sample/Sample/AppDelegate.swift index 9c6770f4..4175a88e 100644 --- a/Sample/Sample/AppDelegate.swift +++ b/Sample/Sample/AppDelegate.swift @@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - private let dependencies = AppDelegateDependencyContainer() + private let dependencies: AppDelegateDependencyResolver = AppDelegateDependencyContainer() // weaver: logger = Logger // weaver: logger.scope = .container @@ -45,7 +45,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { window = UIWindow() - + window?.rootViewController = UINavigationController(rootViewController: dependencies.homeViewController) window?.makeKeyAndVisible() diff --git a/Sample/Sample/Generated/Weaver.AppDelegate.swift b/Sample/Sample/Generated/Weaver.AppDelegate.swift index 6c77647d..9acd8aa3 100644 --- a/Sample/Sample/Generated/Weaver.AppDelegate.swift +++ b/Sample/Sample/Generated/Weaver.AppDelegate.swift @@ -4,67 +4,73 @@ import API import UIKit import WeaverDI // MARK: - AppDelegate -final class AppDelegateDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .container, name: "logger", builder: { (dependencies) in - return Logger() - }) - store.register(URLSession.self, scope: .container, name: "urlSession", builder: { (dependencies) in - return self.urlSessionCustomRef() - }) - store.register(APIProtocol.self, scope: .container, name: "movieAPI", builder: { (dependencies) in - return self.movieAPICustomRef() - }) - store.register(ImageManaging.self, scope: .container, name: "imageManager", builder: { (dependencies) in - return self.imageManagerCustomRef() - }) - store.register(MovieManaging.self, scope: .container, name: "movieManager", builder: { (dependencies) in - return self.movieManagerCustomRef() - }) - store.register(UIViewController.self, scope: .container, name: "homeViewController", builder: { (dependencies) in - return HomeViewController.makeHomeViewController(injecting: dependencies) - }) - store.register(ReviewManaging.self, scope: .container, name: "reviewManager", builder: { (dependencies) in - return ReviewManager.makeReviewManager(injecting: dependencies) - }) - } -} protocol AppDelegateDependencyResolver { var logger: Logger { get } var urlSession: URLSession { get } + func urlSessionCustomRef() -> URLSession var movieAPI: APIProtocol { get } + func movieAPICustomRef() -> APIProtocol var imageManager: ImageManaging { get } + func imageManagerCustomRef() -> ImageManaging var movieManager: MovieManaging { get } + func movieManagerCustomRef() -> MovieManaging var homeViewController: UIViewController { get } var reviewManager: ReviewManaging { get } - func urlSessionCustomRef() -> URLSession - func movieAPICustomRef() -> APIProtocol - func imageManagerCustomRef() -> ImageManaging - func movieManagerCustomRef() -> MovieManaging } -extension AppDelegateDependencyContainer: AppDelegateDependencyResolver { +final class AppDelegateDependencyContainer: AppDelegateDependencyResolver { + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } + private var _urlSession: URLSession? var urlSession: URLSession { - return resolve(URLSession.self, name: "urlSession") + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value } + private var _movieAPI: APIProtocol? var movieAPI: APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI") + if let value = _movieAPI { return value } + let value = movieAPICustomRef() + _movieAPI = value + return value } + private var _imageManager: ImageManaging? var imageManager: ImageManaging { - return resolve(ImageManaging.self, name: "imageManager") + if let value = _imageManager { return value } + let value = imageManagerCustomRef() + _imageManager = value + return value } + private var _movieManager: MovieManaging? var movieManager: MovieManaging { - return resolve(MovieManaging.self, name: "movieManager") + if let value = _movieManager { return value } + let value = movieManagerCustomRef() + _movieManager = value + return value } + private var _homeViewController: UIViewController? var homeViewController: UIViewController { - return resolve(UIViewController.self, name: "homeViewController") + if let value = _homeViewController { return value } + let dependencies = HomeViewControllerDependencyContainer(injecting: self) + let value = HomeViewController(injecting: dependencies) + _homeViewController = value + return value } + private var _reviewManager: ReviewManaging? var reviewManager: ReviewManaging { - return resolve(ReviewManaging.self, name: "reviewManager") + if let value = _reviewManager { return value } + let dependencies = ReviewManagerDependencyContainer(injecting: self) + let value = ReviewManager(injecting: dependencies) + _reviewManager = value + return value } -} \ No newline at end of file + init() { + } +} +extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} +extension AppDelegateDependencyContainer: ReviewManagerInputDependencyResolver {} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.HomeViewController.swift b/Sample/Sample/Generated/Weaver.HomeViewController.swift index 9dc07e3e..86bcf381 100644 --- a/Sample/Sample/Generated/Weaver.HomeViewController.swift +++ b/Sample/Sample/Generated/Weaver.HomeViewController.swift @@ -5,42 +5,41 @@ import Foundation import UIKit import WeaverDI // MARK: - HomeViewController -final class HomeViewControllerDependencyContainer: DependencyContainer { - init(parent: Reference? = nil) { - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) - store.register(UIViewController.self, scope: .transient, name: "movieController", builder: { (dependencies, movieID: UInt, title: String) in - return MovieViewController.makeMovieViewController(injecting: dependencies, movieID: movieID, title: title) - }) - } +protocol HomeViewControllerInputDependencyResolver { + var movieManager: MovieManaging { get } + var imageManager: ImageManaging { get } + var reviewManager: ReviewManaging { get } } protocol HomeViewControllerDependencyResolver { + var movieManager: MovieManaging { get } + var imageManager: ImageManaging { get } + var reviewManager: ReviewManaging { get } var logger: Logger { get } func movieController(movieID: UInt, title: String) -> UIViewController - var movieManager: MovieManaging { get } } -extension HomeViewControllerDependencyContainer: HomeViewControllerDependencyResolver { +final class HomeViewControllerDependencyContainer: HomeViewControllerDependencyResolver { + let movieManager: MovieManaging + let imageManager: ImageManaging + let reviewManager: ReviewManaging + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } func movieController(movieID: UInt, title: String) -> UIViewController { - return resolve(UIViewController.self, name: "movieController", parameters: movieID, title) - } - var movieManager: MovieManaging { - return resolve(MovieManaging.self, name: "movieManager") + let dependencies = MovieViewControllerDependencyContainer(injecting: self, movieID: movieID, title: title) + let value = MovieViewController(injecting: dependencies) + return value } -} -extension HomeViewController { - static func makeHomeViewController(injecting parentDependencies: DependencyContainer) -> HomeViewController { - let dependencies = HomeViewControllerDependencyContainer(parent: Reference(parentDependencies)) - return HomeViewController(injecting: dependencies) + init(injecting dependencies: HomeViewControllerInputDependencyResolver) { + self.movieManager = dependencies.movieManager + self.imageManager = dependencies.imageManager + self.reviewManager = dependencies.reviewManager } } +extension HomeViewControllerDependencyContainer: MovieViewControllerInputDependencyResolver {} protocol HomeViewControllerDependencyInjectable { init(injecting dependencies: HomeViewControllerDependencyResolver) -} -extension HomeViewController: HomeViewControllerDependencyInjectable {} \ No newline at end of file +} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.MovieViewController.swift b/Sample/Sample/Generated/Weaver.MovieViewController.swift index 5e58e1b8..46f3e476 100644 --- a/Sample/Sample/Generated/Weaver.MovieViewController.swift +++ b/Sample/Sample/Generated/Weaver.MovieViewController.swift @@ -5,52 +5,47 @@ import Foundation import UIKit import WeaverDI // MARK: - MovieViewController -final class MovieViewControllerDependencyContainer: DependencyContainer { - let movieID: UInt - let title: String - init(parent: Reference? = nil, movieID: UInt, title: String) { - self.movieID = movieID - self.title = title - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) - store.register(WSReviewViewController.self, scope: .transient, name: "reviewController", builder: { (dependencies, movieID: UInt) in - return WSReviewViewController.makeWSReviewViewController(injecting: dependencies, movieID: movieID) - }) - } +protocol MovieViewControllerInputDependencyResolver { + var movieManager: MovieManaging { get } + var imageManager: ImageManaging { get } + var reviewManager: ReviewManaging { get } } protocol MovieViewControllerDependencyResolver { var movieID: UInt { get } var title: String { get } - var logger: Logger { get } - func reviewController(movieID: UInt) -> WSReviewViewController var movieManager: MovieManaging { get } var imageManager: ImageManaging { get } + var reviewManager: ReviewManaging { get } + var logger: Logger { get } + func reviewController(movieID: UInt) -> WSReviewViewController } -extension MovieViewControllerDependencyContainer: MovieViewControllerDependencyResolver { +final class MovieViewControllerDependencyContainer: MovieViewControllerDependencyResolver { + let movieID: UInt + let title: String + let movieManager: MovieManaging + let imageManager: ImageManaging + let reviewManager: ReviewManaging + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } func reviewController(movieID: UInt) -> WSReviewViewController { - return resolve(WSReviewViewController.self, name: "reviewController", parameter: movieID) - } - var movieManager: MovieManaging { - return resolve(MovieManaging.self, name: "movieManager") + let dependencies = WSReviewViewControllerDependencyContainer(injecting: self, movieID: movieID) + let value = WSReviewViewController(injecting: dependencies) + return value } - var imageManager: ImageManaging { - return resolve(ImageManaging.self, name: "imageManager") - } -} -extension MovieViewController { - static func makeMovieViewController(injecting parentDependencies: DependencyContainer, movieID: UInt, title: String) -> MovieViewController { - let dependencies = MovieViewControllerDependencyContainer(parent: Reference(parentDependencies), movieID: movieID, title: title) - return MovieViewController(injecting: dependencies) + init(injecting dependencies: MovieViewControllerInputDependencyResolver, movieID: UInt, title: String) { + self.movieID = movieID + self.title = title + self.movieManager = dependencies.movieManager + self.imageManager = dependencies.imageManager + self.reviewManager = dependencies.reviewManager } } +extension MovieViewControllerDependencyContainer: WSReviewViewControllerInputDependencyResolver {} protocol MovieViewControllerDependencyInjectable { init(injecting dependencies: MovieViewControllerDependencyResolver) -} -extension MovieViewController: MovieViewControllerDependencyInjectable {} \ No newline at end of file +} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.PersonManager.swift b/Sample/Sample/Generated/Weaver.PersonManager.swift index 98b58946..dc1d1c44 100644 --- a/Sample/Sample/Generated/Weaver.PersonManager.swift +++ b/Sample/Sample/Generated/Weaver.PersonManager.swift @@ -4,11 +4,26 @@ import API import Foundation import WeaverDI // MARK: - PersonManager +protocol PersonManagerInputDependencyResolver { + var movieAPI: APIProtocol { get } +} protocol PersonManagerDependencyResolver { - var logger: Logger { get } var movieAPI: APIProtocol { get } + var logger: Logger { get } +} +final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { + let movieAPI: APIProtocol + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value + } + init(injecting dependencies: PersonManagerInputDependencyResolver) { + self.movieAPI = dependencies.movieAPI + } } protocol PersonManagerDependencyInjectable { init(injecting dependencies: PersonManagerDependencyResolver) -} -extension PersonManager: PersonManagerDependencyInjectable {} \ No newline at end of file +} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.ReviewManager.swift b/Sample/Sample/Generated/Weaver.ReviewManager.swift index 9bdfaee3..418222d6 100644 --- a/Sample/Sample/Generated/Weaver.ReviewManager.swift +++ b/Sample/Sample/Generated/Weaver.ReviewManager.swift @@ -4,35 +4,26 @@ import API import Foundation import WeaverDI // MARK: - ReviewManager -final class ReviewManagerDependencyContainer: DependencyContainer { - init(parent: Reference? = nil) { - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) - } +protocol ReviewManagerInputDependencyResolver { + var movieAPI: APIProtocol { get } } protocol ReviewManagerDependencyResolver { - var logger: Logger { get } var movieAPI: APIProtocol { get } + var logger: Logger { get } } -extension ReviewManagerDependencyContainer: ReviewManagerDependencyResolver { +final class ReviewManagerDependencyContainer: ReviewManagerDependencyResolver { + let movieAPI: APIProtocol + private var _logger: Logger? var logger: Logger { - return resolve(Logger.self, name: "logger") - } - var movieAPI: APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI") + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } -} -extension ReviewManager { - static func makeReviewManager(injecting parentDependencies: DependencyContainer) -> ReviewManager { - let dependencies = ReviewManagerDependencyContainer(parent: Reference(parentDependencies)) - return ReviewManager(injecting: dependencies) + init(injecting dependencies: ReviewManagerInputDependencyResolver) { + self.movieAPI = dependencies.movieAPI } } protocol ReviewManagerDependencyInjectable { init(injecting dependencies: ReviewManagerDependencyResolver) -} -extension ReviewManager: ReviewManagerDependencyInjectable {} \ No newline at end of file +} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift index 4d7e7210..848d1c09 100644 --- a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift +++ b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift @@ -3,28 +3,20 @@ import Foundation import WeaverDI // MARK: - WSReviewViewController -final class WSReviewViewControllerDependencyContainer: DependencyContainer { - let movieID: UInt - init(parent: Reference? = nil, movieID: UInt) { - self.movieID = movieID - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - } +protocol WSReviewViewControllerInputDependencyResolver { + var reviewManager: ReviewManaging { get } } @objc protocol WSReviewViewControllerDependencyResolver { var movieID: UInt { get } var reviewManager: ReviewManaging { get } } -extension WSReviewViewControllerDependencyContainer: WSReviewViewControllerDependencyResolver { - var reviewManager: ReviewManaging { - return resolve(ReviewManaging.self, name: "reviewManager") - } -} -extension WSReviewViewController { - static func makeWSReviewViewController(injecting parentDependencies: DependencyContainer, movieID: UInt) -> WSReviewViewController { - let dependencies = WSReviewViewControllerDependencyContainer(parent: Reference(parentDependencies), movieID: movieID) - return WSReviewViewController(injecting: dependencies) +final class WSReviewViewControllerDependencyContainer: NSObject, WSReviewViewControllerDependencyResolver { + let movieID: UInt + let reviewManager: ReviewManaging + init(injecting dependencies: WSReviewViewControllerInputDependencyResolver, movieID: UInt) { + self.movieID = movieID + self.reviewManager = dependencies.reviewManager + super.init() } } protocol WSReviewViewControllerObjCDependencyInjectable { diff --git a/Sources/WeaverCodeGen/Generator.swift b/Sources/WeaverCodeGen/Generator.swift index 7ee90eb2..4822137e 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -7,6 +7,7 @@ import Foundation import Stencil +import StencilSwiftKit import PathKit import WeaverDI @@ -14,24 +15,13 @@ public final class Generator { private let graph: Graph - private let templateDirPath: Path - private let templateName: String + private let templatePath: Path public init(graph: Graph, template path: Path? = nil) throws { - - self.graph = graph - if let path = path { - var components = path.components - guard let templateName = components.popLast() else { - throw GeneratorError.invalidTemplatePath(path: path.description) - } - self.templateName = templateName - templateDirPath = Path(components: components) - } else { - templateName = "Resources/dependency_resolver.stencil" - templateDirPath = Path("/usr/local/share/weaver") - } + self.graph = graph + + templatePath = path ?? Path("/usr/local/share/weaver/Resources/dependency_resolver.stencil") } public func generate() throws -> [(file: String, data: String?)] { @@ -43,13 +33,17 @@ public final class Generator { guard !dependencyContainers.isEmpty else { return (file: file, data: nil) } + + let templateString: String = try templatePath.read() + let environment = stencilSwiftEnvironment() - let fileLoader = FileSystemLoader(paths: [templateDirPath]) - let environment = Environment(loader: fileLoader) + let templateClass = StencilSwiftTemplate(templateString: templateString, + environment: environment, + name: nil) - let context: [String: Any] = ["resolvers": dependencyContainers, + let context: [String: Any] = ["dependencyContainers": dependencyContainers, "imports": graph.importsByFile[file] ?? []] - let string = try environment.renderTemplate(name: templateName, context: context) + let string = try templateClass.render(context) return (file: file, data: string.compacted()) } @@ -68,6 +62,8 @@ private struct RegistrationViewModel { let parameters: [DependencyViewModel] let hasBuilder: Bool + let isTransient: Bool + init(_ dependency: Dependency, graph: Graph) { name = dependency.dependencyName type = dependency.type @@ -85,6 +81,8 @@ private struct RegistrationViewModel { parameters = [] hasBuilder = false } + + isTransient = dependency.scope == .transient } } @@ -140,21 +138,23 @@ private struct DependencyContainerViewModel { let doesSupportObjc: Bool let isIsolated: Bool - let publicReferences: [DependencyViewModel] - let internalReferences: [DependencyViewModel] + let injectableDependencies: [DependencyContainerViewModel]? - init?(_ dependencyContainer: DependencyContainer, graph: Graph) { + init?(_ dependencyContainer: DependencyContainer, graph: Graph, depth: Int = 0) { guard let type = dependencyContainer.type, dependencyContainer.hasDependencies else { return nil } targetType = type + registrations = dependencyContainer.registrations.orderedValues.map { RegistrationViewModel($0, graph: graph) } - references = dependencyContainer.orderedDependencies.map { + + references = dependencyContainer.collectAllReferences().map { DependencyViewModel($0, graph: graph) } + parameters = dependencyContainer.parameters.map { DependencyViewModel($0, graph: graph) } @@ -177,8 +177,13 @@ private struct DependencyContainerViewModel { doesSupportObjc = dependencyContainer.doesSupportObjc isIsolated = dependencyContainer.configuration.isIsolated - publicReferences = references.filter { $0.isPublic } - internalReferences = references.filter { !$0.isPublic } + if depth == 0 { + injectableDependencies = dependencyContainer.registrations.orderedValues.compactMap { + DependencyContainerViewModel($0.target, graph: graph, depth: depth + 1) + } + } else { + injectableDependencies = nil + } } } @@ -198,5 +203,28 @@ private extension DependencyContainer { var hasDependencies: Bool { return !registrations.orderedValues.isEmpty || !references.orderedValues.isEmpty || !parameters.isEmpty } + + func collectAllReferences() -> [Reference] { + var visitedDependencyContainters = Set() + return collectIndirectReferences(&visitedDependencyContainters) + } + + private func collectIndirectReferences(_ visitedDependencyContainers: inout Set) -> [Reference] { + guard !visitedDependencyContainers.contains(self) else { return [] } + visitedDependencyContainers.insert(self) + + let directReferences = references.orderedValues + let indirectReferences = registrations.orderedValues.flatMap { $0.target.collectIndirectReferences(&visitedDependencyContainers) } + + let referencesByName = OrderedDictionary() + (directReferences + indirectReferences).forEach { + referencesByName[$0.dependencyName] = $0 + } + + let registrationNames = Set(registrations.orderedValues.map { $0.dependencyName }) + return referencesByName.orderedValues.filter { + !registrationNames.contains($0.dependencyName) + } + } } diff --git a/Sources/WeaverCodeGen/OrderedDictionary.swift b/Sources/WeaverCodeGen/OrderedDictionary.swift index fe96338a..e580de04 100644 --- a/Sources/WeaverCodeGen/OrderedDictionary.swift +++ b/Sources/WeaverCodeGen/OrderedDictionary.swift @@ -7,6 +7,8 @@ import Foundation +// MARK: - OrderedDictionary + final class OrderedDictionary { private(set) var dictionary = [Key: Value]() @@ -42,3 +44,28 @@ final class OrderedDictionary { } } } + +// MARK: - OrderedSet + +final class OrderedSet { + + private var orderedDictionary = OrderedDictionary() + + func insert(_ value: Value) { + orderedDictionary[value] = value + } + + func insert(_ values: [Value]) { + values.forEach { + insert($0) + } + } + + var orderedValues: [Value] { + return orderedDictionary.orderedValues + } + + func contains(_ value: Value) -> Bool { + return orderedDictionary[value] != nil + } +} diff --git a/Tests/WeaverCodeGenTests/GeneratorTests.swift b/Tests/WeaverCodeGenTests/GeneratorTests.swift index e9a0a90b..53ebc545 100644 --- a/Tests/WeaverCodeGenTests/GeneratorTests.swift +++ b/Tests/WeaverCodeGenTests/GeneratorTests.swift @@ -711,6 +711,53 @@ extension MovieManagerDependencyContainer: MovieManagerDependencyResolver { return resolve(Logger.self, name: "logger", parameter: domain) } } +""" + + XCTAssertEqual(actual!, expected) + exportDiff(actual: actual!, expected: expected) + + } catch { + XCTFail("Unexpected error \(error)") + } + } + + func test_generator_should_generate_a_valid_swift_code_with_injectable_class_with_indirect_references() { + + do { + let file = File(contents: """ +final class AppDelegate { + // weaver: movieManager = MovieManager + // weaver: movieManager.scope = .container + + // weaver: homeViewController = HomeViewController +} + +final class HomeViewController { + // weaver: movieViewController = MovieViewController + // weaver: movieViewController.scope = .transient +} + +final class MovieViewController { + // weaver: reviewViewController = ReviewViewController + // weaver: reviewViewController.scope = .transient +} + +final class ReviewViewController { + // weaver: movieManager <- MovieManager +} +""") + + let lexer = Lexer(file, fileName: "test.swift") + let tokens = try lexer.tokenize() + let parser = Parser(tokens, fileName: "test.swift") + let ast = try parser.parse() + let graph = try Linker(syntaxTrees: [ast]).graph + + let generator = try Generator(graph: graph, template: templatePath) + let (_ , actual) = try generator.generate().first! + + let expected = """ + """ XCTAssertEqual(actual!, expected) diff --git a/WeaverDI.xcodeproj/StencilSwiftKit_Info.plist b/WeaverDI.xcodeproj/StencilSwiftKit_Info.plist new file mode 100644 index 00000000..57ada9f9 --- /dev/null +++ b/WeaverDI.xcodeproj/StencilSwiftKit_Info.plist @@ -0,0 +1,25 @@ + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist b/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist index 9d42e279..57ada9f9 100644 --- a/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist +++ b/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist @@ -1,5 +1,5 @@ - - + + CFBundleDevelopmentRegion en @@ -14,7 +14,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.13 + 1.0 CFBundleSignature ???? CFBundleVersion diff --git a/WeaverDI.xcodeproj/WeaverDI_Info.plist b/WeaverDI.xcodeproj/WeaverDI_Info.plist index 9d42e279..57ada9f9 100644 --- a/WeaverDI.xcodeproj/WeaverDI_Info.plist +++ b/WeaverDI.xcodeproj/WeaverDI_Info.plist @@ -1,5 +1,5 @@ - - + + CFBundleDevelopmentRegion en @@ -14,7 +14,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.13 + 1.0 CFBundleSignature ???? CFBundleVersion diff --git a/WeaverDI.xcodeproj/project.pbxproj b/WeaverDI.xcodeproj/project.pbxproj index 6b8452bf..efad9a4b 100644 --- a/WeaverDI.xcodeproj/project.pbxproj +++ b/WeaverDI.xcodeproj/project.pbxproj @@ -9,12 +9,12 @@ /* Begin PBXAggregateTarget section */ "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */ = { isa = PBXAggregateTarget; - buildConfigurationList = OBJ_524 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */; + buildConfigurationList = OBJ_552 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */; buildPhases = ( ); dependencies = ( - OBJ_527 /* PBXTargetDependency */, - OBJ_528 /* PBXTargetDependency */, + OBJ_555 /* PBXTargetDependency */, + OBJ_557 /* PBXTargetDependency */, ); name = WeaverDIPackageTests; productName = WeaverDIPackageTests; @@ -22,442 +22,502 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 190C26E920C9930E009128AA /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190C26E820C9930E009128AA /* Configuration.swift */; }; - 1917D60D20CA5E4100FDA7F5 /* Builder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1917D60C20CA5E4100FDA7F5 /* Builder.swift */; }; - 1917D60F20CA5E8100FDA7F5 /* BuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1917D60E20CA5E8100FDA7F5 /* BuilderTests.swift */; }; - 191EB95120FE66F3007CE644 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191EB95020FE66F3007CE644 /* Reference.swift */; }; - 19303FCC20F9025F003584E9 /* Graph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19303FCB20F9025F003584E9 /* Graph.swift */; }; - 19303FCE20F909C0003584E9 /* Linker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19303FCD20F909C0003584E9 /* Linker.swift */; }; - 194F90CB20CDC50400F594F5 /* ConfigurationAttributeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 194F90CA20CDC50400F594F5 /* ConfigurationAttributeTests.swift */; }; - 19506C4620DDC1B10068B8A6 /* Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19506C4520DDC1B10068B8A6 /* Type.swift */; }; - 19506C4820DDC27F0068B8A6 /* RegexUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19506C4720DDC27F0068B8A6 /* RegexUtils.swift */; }; - 19506C4A20DDC39D0068B8A6 /* TypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19506C4920DDC39D0068B8A6 /* TypeTests.swift */; }; - 1958492620D4678900BB1F09 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1958492520D4678900BB1F09 /* OrderedDictionary.swift */; }; - 1979255620CD6E100025A06D /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1979255520CD6E100025A06D /* Instance.swift */; }; - 19F3CD6820C43F32007C3076 /* shim-swift-4.1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F3CD6720C43F32007C3076 /* shim-swift-4.1.swift */; }; - OBJ_199 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_205 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_57 /* Package.swift */; }; - OBJ_211 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* Package.swift */; }; - OBJ_217 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* Package.swift */; }; - OBJ_223 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* Package.swift */; }; - OBJ_229 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* Package.swift */; }; - OBJ_235 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* Package.swift */; }; - OBJ_241 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* Package.swift */; }; - OBJ_247 /* Arguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* Arguments.swift */; }; - OBJ_248 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* Logger.swift */; }; - OBJ_249 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* main.swift */; }; - OBJ_251 /* Commander.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Commander::Commander::Product" /* Commander.framework */; }; - OBJ_252 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; - OBJ_253 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_254 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_255 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_256 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_257 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_258 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_259 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_260 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_285 /* ArgumentConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* ArgumentConvertible.swift */; }; - OBJ_286 /* ArgumentDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* ArgumentDescription.swift */; }; - OBJ_287 /* ArgumentParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* ArgumentParser.swift */; }; - OBJ_288 /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* Command.swift */; }; - OBJ_289 /* CommandRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* CommandRunner.swift */; }; - OBJ_290 /* CommandType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* CommandType.swift */; }; - OBJ_291 /* Commands.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* Commands.swift */; }; - OBJ_292 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* Error.swift */; }; - OBJ_293 /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* Group.swift */; }; - OBJ_300 /* ErrorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_44 /* ErrorTests.swift */; }; - OBJ_301 /* GeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_45 /* GeneratorTests.swift */; }; - OBJ_302 /* InspectorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* InspectorTests.swift */; }; - OBJ_303 /* LexerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* LexerTests.swift */; }; - OBJ_304 /* ParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* ParserTests.swift */; }; - OBJ_305 /* SourceKitDeclarationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* SourceKitDeclarationTests.swift */; }; - OBJ_307 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; - OBJ_308 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_309 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_310 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_311 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_312 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_313 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_314 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_315 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_329 /* AccessLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* AccessLevel.swift */; }; - OBJ_330 /* AutoEquatable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* AutoEquatable.generated.swift */; }; - OBJ_331 /* AutoHashable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* AutoHashable.generated.swift */; }; - OBJ_332 /* AutoTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* AutoTypes.swift */; }; - OBJ_333 /* ConfigurationAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* ConfigurationAttribute.swift */; }; - OBJ_334 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* Error.swift */; }; - OBJ_335 /* Expr.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* Expr.swift */; }; - OBJ_336 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* Generator.swift */; }; - OBJ_337 /* Inspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_26 /* Inspector.swift */; }; - OBJ_338 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* Lexer.swift */; }; - OBJ_339 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* Parser.swift */; }; - OBJ_340 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* Scope.swift */; }; - OBJ_341 /* SourceKitDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* SourceKitDeclaration.swift */; }; - OBJ_342 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Token.swift */; }; - OBJ_344 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_345 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_346 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_347 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_348 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_349 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_350 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_351 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_364 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* Context.swift */; }; - OBJ_365 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* Environment.swift */; }; - OBJ_366 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_60 /* Errors.swift */; }; - OBJ_367 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_61 /* Expression.swift */; }; - OBJ_368 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_62 /* Extension.swift */; }; - OBJ_369 /* FilterTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* FilterTag.swift */; }; - OBJ_370 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_64 /* Filters.swift */; }; - OBJ_371 /* ForTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_65 /* ForTag.swift */; }; - OBJ_372 /* IfTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_66 /* IfTag.swift */; }; - OBJ_373 /* Include.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* Include.swift */; }; - OBJ_374 /* Inheritence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* Inheritence.swift */; }; - OBJ_375 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* Lexer.swift */; }; - OBJ_376 /* Loader.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* Loader.swift */; }; - OBJ_377 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* Node.swift */; }; - OBJ_378 /* NowTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* NowTag.swift */; }; - OBJ_379 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* Parser.swift */; }; - OBJ_380 /* Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* Template.swift */; }; - OBJ_381 /* Tokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* Tokenizer.swift */; }; - OBJ_382 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Variable.swift */; }; - OBJ_384 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_385 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_392 /* Case.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* Case.swift */; }; - OBJ_393 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* Context.swift */; }; - OBJ_394 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* Expectation.swift */; }; - OBJ_395 /* Failure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* Failure.swift */; }; - OBJ_396 /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* Global.swift */; }; - OBJ_397 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* GlobalContext.swift */; }; - OBJ_398 /* Reporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* Reporter.swift */; }; - OBJ_399 /* Reporters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_101 /* Reporters.swift */; }; - OBJ_405 /* PathKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* PathKit.swift */; }; - OBJ_411 /* Clang+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* Clang+SourceKitten.swift */; }; - OBJ_412 /* ClangTranslationUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* ClangTranslationUnit.swift */; }; - OBJ_413 /* CodeCompletionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* CodeCompletionItem.swift */; }; - OBJ_414 /* Dictionary+Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* Dictionary+Merge.swift */; }; - OBJ_415 /* Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Documentation.swift */; }; - OBJ_416 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* File.swift */; }; - OBJ_417 /* JSONOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* JSONOutput.swift */; }; - OBJ_418 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Language.swift */; }; - OBJ_419 /* LinuxCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* LinuxCompatibility.swift */; }; - OBJ_420 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* Module.swift */; }; - OBJ_421 /* ObjCDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* ObjCDeclarationKind.swift */; }; - OBJ_422 /* OffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_116 /* OffsetMap.swift */; }; - OBJ_423 /* Parameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_117 /* Parameter.swift */; }; - OBJ_424 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* Request.swift */; }; - OBJ_425 /* SourceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* SourceDeclaration.swift */; }; - OBJ_426 /* SourceKitObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* SourceKitObject.swift */; }; - OBJ_427 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* SourceLocation.swift */; }; - OBJ_428 /* StatementKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* StatementKind.swift */; }; - OBJ_429 /* String+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* String+SourceKitten.swift */; }; - OBJ_430 /* Structure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* Structure.swift */; }; - OBJ_431 /* SwiftDeclarationAttributeKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* SwiftDeclarationAttributeKind.swift */; }; - OBJ_432 /* SwiftDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* SwiftDeclarationKind.swift */; }; - OBJ_433 /* SwiftDocKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_127 /* SwiftDocKey.swift */; }; - OBJ_434 /* SwiftDocs.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_128 /* SwiftDocs.swift */; }; - OBJ_435 /* SyntaxKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_129 /* SyntaxKind.swift */; }; - OBJ_436 /* SyntaxMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* SyntaxMap.swift */; }; - OBJ_437 /* SyntaxToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_131 /* SyntaxToken.swift */; }; - OBJ_438 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* Text.swift */; }; - OBJ_439 /* UID.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* UID.swift */; }; - OBJ_440 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* Version.swift */; }; - OBJ_441 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* Xcode.swift */; }; - OBJ_442 /* library_wrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_136 /* library_wrapper.swift */; }; - OBJ_443 /* library_wrapper_CXString.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* library_wrapper_CXString.swift */; }; - OBJ_444 /* library_wrapper_Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* library_wrapper_Documentation.swift */; }; - OBJ_445 /* library_wrapper_Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* library_wrapper_Index.swift */; }; - OBJ_446 /* library_wrapper_sourcekitd.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* library_wrapper_sourcekitd.swift */; }; - OBJ_447 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* shim.swift */; }; - OBJ_449 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_450 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_451 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_459 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* Constructor.swift */; }; - OBJ_460 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* Decoder.swift */; }; - OBJ_461 /* Emitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_160 /* Emitter.swift */; }; - OBJ_462 /* Encoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_161 /* Encoder.swift */; }; - OBJ_463 /* Mark.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_162 /* Mark.swift */; }; - OBJ_464 /* Node.Mapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_163 /* Node.Mapping.swift */; }; - OBJ_465 /* Node.Scalar.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_164 /* Node.Scalar.swift */; }; - OBJ_466 /* Node.Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_165 /* Node.Sequence.swift */; }; - OBJ_467 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* Node.swift */; }; - OBJ_468 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* Parser.swift */; }; - OBJ_469 /* Representer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_168 /* Representer.swift */; }; - OBJ_470 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_169 /* Resolver.swift */; }; - OBJ_471 /* String+Yams.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_170 /* String+Yams.swift */; }; - OBJ_472 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* Tag.swift */; }; - OBJ_473 /* YamlError.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* YamlError.swift */; }; - OBJ_474 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* shim.swift */; }; - OBJ_476 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_482 /* api.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* api.c */; }; - OBJ_483 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* emitter.c */; }; - OBJ_484 /* parser.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* parser.c */; }; - OBJ_485 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* reader.c */; }; - OBJ_486 /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* scanner.c */; }; - OBJ_487 /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_152 /* writer.c */; }; - OBJ_493 /* SWXMLHash+TypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_177 /* SWXMLHash+TypeConversion.swift */; }; - OBJ_494 /* SWXMLHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_178 /* SWXMLHash.swift */; }; - OBJ_495 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_179 /* shim.swift */; }; - OBJ_502 /* BuilderStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* BuilderStoreTests.swift */; }; - OBJ_503 /* DependencyContainerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* DependencyContainerTests.swift */; }; - OBJ_505 /* BuilderKeyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* BuilderKeyTests.swift */; }; - OBJ_506 /* Spies.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Spies.swift */; }; - OBJ_508 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_514 /* BuilderStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* BuilderStore.swift */; }; - OBJ_516 /* DependencyContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* DependencyContainer.swift */; }; - OBJ_517 /* DependencyResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* DependencyResolver.swift */; }; - OBJ_518 /* DependencyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* DependencyStore.swift */; }; - OBJ_520 /* BuilderKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* BuilderKey.swift */; }; - OBJ_521 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* Scope.swift */; }; + OBJ_224 /* api.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* api.c */; }; + OBJ_225 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* emitter.c */; }; + OBJ_226 /* parser.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* parser.c */; }; + OBJ_227 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* reader.c */; }; + OBJ_228 /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_175 /* scanner.c */; }; + OBJ_229 /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* writer.c */; }; + OBJ_236 /* ArgumentConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* ArgumentConvertible.swift */; }; + OBJ_237 /* ArgumentDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* ArgumentDescription.swift */; }; + OBJ_238 /* ArgumentParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* ArgumentParser.swift */; }; + OBJ_239 /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Command.swift */; }; + OBJ_240 /* CommandRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* CommandRunner.swift */; }; + OBJ_241 /* CommandType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* CommandType.swift */; }; + OBJ_242 /* Commands.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Commands.swift */; }; + OBJ_243 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* Error.swift */; }; + OBJ_244 /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* Group.swift */; }; + OBJ_251 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* Package.swift */; }; + OBJ_257 /* PathKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* PathKit.swift */; }; + OBJ_264 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* Package.swift */; }; + OBJ_270 /* SWXMLHash+TypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_201 /* SWXMLHash+TypeConversion.swift */; }; + OBJ_271 /* SWXMLHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_202 /* SWXMLHash.swift */; }; + OBJ_272 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_203 /* shim.swift */; }; + OBJ_279 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_200 /* Package.swift */; }; + OBJ_285 /* Clang+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* Clang+SourceKitten.swift */; }; + OBJ_286 /* ClangTranslationUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_131 /* ClangTranslationUnit.swift */; }; + OBJ_287 /* CodeCompletionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* CodeCompletionItem.swift */; }; + OBJ_288 /* Dictionary+Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* Dictionary+Merge.swift */; }; + OBJ_289 /* Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* Documentation.swift */; }; + OBJ_290 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* File.swift */; }; + OBJ_291 /* JSONOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_136 /* JSONOutput.swift */; }; + OBJ_292 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* Language.swift */; }; + OBJ_293 /* LinuxCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* LinuxCompatibility.swift */; }; + OBJ_294 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* Module.swift */; }; + OBJ_295 /* ObjCDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* ObjCDeclarationKind.swift */; }; + OBJ_296 /* OffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* OffsetMap.swift */; }; + OBJ_297 /* Parameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_142 /* Parameter.swift */; }; + OBJ_298 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* Request.swift */; }; + OBJ_299 /* SourceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_144 /* SourceDeclaration.swift */; }; + OBJ_300 /* SourceKitObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_145 /* SourceKitObject.swift */; }; + OBJ_301 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_146 /* SourceLocation.swift */; }; + OBJ_302 /* StatementKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* StatementKind.swift */; }; + OBJ_303 /* String+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* String+SourceKitten.swift */; }; + OBJ_304 /* Structure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* Structure.swift */; }; + OBJ_305 /* SwiftDeclarationAttributeKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* SwiftDeclarationAttributeKind.swift */; }; + OBJ_306 /* SwiftDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* SwiftDeclarationKind.swift */; }; + OBJ_307 /* SwiftDocKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_152 /* SwiftDocKey.swift */; }; + OBJ_308 /* SwiftDocs.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_153 /* SwiftDocs.swift */; }; + OBJ_309 /* SyntaxKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_154 /* SyntaxKind.swift */; }; + OBJ_310 /* SyntaxMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_155 /* SyntaxMap.swift */; }; + OBJ_311 /* SyntaxToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_156 /* SyntaxToken.swift */; }; + OBJ_312 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_157 /* Text.swift */; }; + OBJ_313 /* UID.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* UID.swift */; }; + OBJ_314 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* Version.swift */; }; + OBJ_315 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_160 /* Xcode.swift */; }; + OBJ_316 /* library_wrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_161 /* library_wrapper.swift */; }; + OBJ_317 /* library_wrapper_CXString.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_162 /* library_wrapper_CXString.swift */; }; + OBJ_318 /* library_wrapper_Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_163 /* library_wrapper_Documentation.swift */; }; + OBJ_319 /* library_wrapper_Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_164 /* library_wrapper_Index.swift */; }; + OBJ_320 /* library_wrapper_sourcekitd.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_165 /* library_wrapper_sourcekitd.swift */; }; + OBJ_321 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* shim.swift */; }; + OBJ_323 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_324 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_325 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_335 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* Package.swift */; }; + OBJ_341 /* Case.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* Case.swift */; }; + OBJ_342 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* Context.swift */; }; + OBJ_343 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* Expectation.swift */; }; + OBJ_344 /* Failure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* Failure.swift */; }; + OBJ_345 /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* Global.swift */; }; + OBJ_346 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* GlobalContext.swift */; }; + OBJ_347 /* Reporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* Reporter.swift */; }; + OBJ_348 /* Reporters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* Reporters.swift */; }; + OBJ_355 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* Package.swift */; }; + OBJ_361 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* Context.swift */; }; + OBJ_362 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* Environment.swift */; }; + OBJ_363 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* Errors.swift */; }; + OBJ_364 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* Expression.swift */; }; + OBJ_365 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* Extension.swift */; }; + OBJ_366 /* FilterTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* FilterTag.swift */; }; + OBJ_367 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* Filters.swift */; }; + OBJ_368 /* ForTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* ForTag.swift */; }; + OBJ_369 /* IfTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* IfTag.swift */; }; + OBJ_370 /* Include.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* Include.swift */; }; + OBJ_371 /* Inheritence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* Inheritence.swift */; }; + OBJ_372 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* Lexer.swift */; }; + OBJ_373 /* Loader.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* Loader.swift */; }; + OBJ_374 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* Node.swift */; }; + OBJ_375 /* NowTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* NowTag.swift */; }; + OBJ_376 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* Parser.swift */; }; + OBJ_377 /* Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* Template.swift */; }; + OBJ_378 /* Tokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* Tokenizer.swift */; }; + OBJ_379 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* Variable.swift */; }; + OBJ_381 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_382 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_390 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* Package.swift */; }; + OBJ_396 /* CallMacroNodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* CallMacroNodes.swift */; }; + OBJ_397 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* Context.swift */; }; + OBJ_398 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* Environment.swift */; }; + OBJ_399 /* Filters+Numbers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* Filters+Numbers.swift */; }; + OBJ_400 /* Filters+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* Filters+Strings.swift */; }; + OBJ_401 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* Filters.swift */; }; + OBJ_402 /* MapNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* MapNode.swift */; }; + OBJ_403 /* Parameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Parameters.swift */; }; + OBJ_404 /* SetNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* SetNode.swift */; }; + OBJ_405 /* StencilSwiftTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* StencilSwiftTemplate.swift */; }; + OBJ_406 /* SwiftIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* SwiftIdentifier.swift */; }; + OBJ_408 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_409 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_410 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_419 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* Package.swift */; }; + OBJ_425 /* AccessLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* AccessLevel.swift */; }; + OBJ_426 /* AutoEquatable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* AutoEquatable.generated.swift */; }; + OBJ_427 /* AutoHashable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* AutoHashable.generated.swift */; }; + OBJ_428 /* AutoTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* AutoTypes.swift */; }; + OBJ_429 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* Configuration.swift */; }; + OBJ_430 /* ConfigurationAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* ConfigurationAttribute.swift */; }; + OBJ_431 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* Error.swift */; }; + OBJ_432 /* Expr.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* Expr.swift */; }; + OBJ_433 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* Generator.swift */; }; + OBJ_434 /* Graph.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* Graph.swift */; }; + OBJ_435 /* Inspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* Inspector.swift */; }; + OBJ_436 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* Lexer.swift */; }; + OBJ_437 /* Linker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* Linker.swift */; }; + OBJ_438 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_26 /* OrderedDictionary.swift */; }; + OBJ_439 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* Parser.swift */; }; + OBJ_440 /* RegexUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* RegexUtils.swift */; }; + OBJ_441 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* Scope.swift */; }; + OBJ_442 /* SourceKitDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* SourceKitDeclaration.swift */; }; + OBJ_443 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Token.swift */; }; + OBJ_444 /* Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* Type.swift */; }; + OBJ_445 /* shim-swift-4.1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* shim-swift-4.1.swift */; }; + OBJ_447 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_448 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_449 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_450 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_451 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_452 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_453 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_454 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_455 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; + OBJ_471 /* ConfigurationAttributeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* ConfigurationAttributeTests.swift */; }; + OBJ_472 /* ErrorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* ErrorTests.swift */; }; + OBJ_473 /* GeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* GeneratorTests.swift */; }; + OBJ_474 /* InspectorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* InspectorTests.swift */; }; + OBJ_475 /* LexerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* LexerTests.swift */; }; + OBJ_476 /* ParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* ParserTests.swift */; }; + OBJ_477 /* SourceKitDeclarationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_52 /* SourceKitDeclarationTests.swift */; }; + OBJ_478 /* TypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_53 /* TypeTests.swift */; }; + OBJ_480 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; + OBJ_481 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_482 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_483 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_484 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_485 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_486 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_487 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_488 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_489 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; + OBJ_505 /* Arguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* Arguments.swift */; }; + OBJ_506 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* Logger.swift */; }; + OBJ_507 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* main.swift */; }; + OBJ_509 /* Commander.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Commander::Commander::Product" /* Commander.framework */; }; + OBJ_510 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; + OBJ_511 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_512 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_513 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_514 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_515 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_516 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_517 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_518 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_519 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; + OBJ_535 /* Builder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* Builder.swift */; }; + OBJ_536 /* BuilderKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* BuilderKey.swift */; }; + OBJ_537 /* BuilderStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* BuilderStore.swift */; }; + OBJ_538 /* DependencyContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* DependencyContainer.swift */; }; + OBJ_539 /* DependencyResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* DependencyResolver.swift */; }; + OBJ_540 /* DependencyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* DependencyStore.swift */; }; + OBJ_541 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* Instance.swift */; }; + OBJ_542 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Reference.swift */; }; + OBJ_543 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* Scope.swift */; }; + OBJ_550 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; + OBJ_562 /* BuilderKeyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_55 /* BuilderKeyTests.swift */; }; + OBJ_563 /* BuilderStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_56 /* BuilderStoreTests.swift */; }; + OBJ_564 /* BuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_57 /* BuilderTests.swift */; }; + OBJ_565 /* DependencyContainerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* DependencyContainerTests.swift */; }; + OBJ_566 /* Spies.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* Spies.swift */; }; + OBJ_568 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; + OBJ_574 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Constructor.swift */; }; + OBJ_575 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_183 /* Decoder.swift */; }; + OBJ_576 /* Emitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_184 /* Emitter.swift */; }; + OBJ_577 /* Encoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_185 /* Encoder.swift */; }; + OBJ_578 /* Mark.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_186 /* Mark.swift */; }; + OBJ_579 /* Node.Mapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_187 /* Node.Mapping.swift */; }; + OBJ_580 /* Node.Scalar.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_188 /* Node.Scalar.swift */; }; + OBJ_581 /* Node.Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_189 /* Node.Sequence.swift */; }; + OBJ_582 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_190 /* Node.swift */; }; + OBJ_583 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_191 /* Parser.swift */; }; + OBJ_584 /* Representer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_192 /* Representer.swift */; }; + OBJ_585 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_193 /* Resolver.swift */; }; + OBJ_586 /* String+Yams.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_194 /* String+Yams.swift */; }; + OBJ_587 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_195 /* Tag.swift */; }; + OBJ_588 /* YamlError.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_196 /* YamlError.swift */; }; + OBJ_589 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_197 /* shim.swift */; }; + OBJ_591 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_598 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_198 /* Package.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 196C2A7B20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963980B210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; + remoteInfo = WeaverCodeGen; + }; + 1963980C210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; + }; + 1963980D210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 196C2A7C20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963980E210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 1963980F210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 19639810210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 196C2A7D20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639811210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 196C2A7E20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639812210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Stencil::Stencil"; + remoteInfo = Stencil; + }; + 19639813210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 196C2A7F20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639814210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 196C2A8020B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639815210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 196C2A8120B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639816210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 196C2A8220B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639817210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 196C2A8320B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639818210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 196C2A8420B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639819210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 196C2A8520B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981A210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 196C2A8620B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981B210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 196C2A8720B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981C210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 196C2A8820B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981D210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "WeaverDI::WeaverDI"; remoteInfo = WeaverDI; }; - 196C2A8920B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981E210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; - remoteInfo = WeaverCodeGen; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; }; - 196C2A8A20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 1963981F210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 196C2A8B20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639820210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 196C2A8C20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639821210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 196C2A8D20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639822210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 196C2A8E20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639823210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 196C2A8F20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639824210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 196C2A9020B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639825210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 196C2A9120B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { + 19639826210781EF00E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "WeaverDI::WeaverDI"; remoteInfo = WeaverDI; }; - 196C2A9220B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639827210781EF00E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "WeaverDI::WeaverDI"; + remoteInfo = WeaverDI; + }; + 19639828210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Commander::Commander"; remoteInfo = Commander; }; - 196C2A9320B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639829210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; remoteInfo = WeaverCodeGen; }; - 196C2A9420B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 1963982A210781F000E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; + }; + 1963982B210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 196C2A9520B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 1963982C210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 196C2A9620B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 1963982D210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 196C2A9720B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 1963982E210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 196C2A9820B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 1963982F210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 196C2A9920B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639830210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 196C2A9A20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639831210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 196C2A9B20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 196C2A9C20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639832210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "WeaverDI::WeaverDI"; remoteInfo = WeaverDI; }; - 196C2A9D20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639833210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "WeaverDI::WeaverDITests"; remoteInfo = WeaverDITests; }; - 196C2A9E20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { + 19639834210781F000E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; @@ -467,173 +527,186 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 190C26E820C9930E009128AA /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; - 1917D60C20CA5E4100FDA7F5 /* Builder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Builder.swift; sourceTree = ""; }; - 1917D60E20CA5E8100FDA7F5 /* BuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderTests.swift; sourceTree = ""; }; - 191EB95020FE66F3007CE644 /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; - 19303FCB20F9025F003584E9 /* Graph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Graph.swift; sourceTree = ""; }; - 19303FCD20F909C0003584E9 /* Linker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Linker.swift; sourceTree = ""; }; - 194F90CA20CDC50400F594F5 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; - 19506C4520DDC1B10068B8A6 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; - 19506C4720DDC27F0068B8A6 /* RegexUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegexUtils.swift; sourceTree = ""; }; - 19506C4920DDC39D0068B8A6 /* TypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeTests.swift; sourceTree = ""; }; - 1958492520D4678900BB1F09 /* OrderedDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedDictionary.swift; sourceTree = ""; }; - 1979255520CD6E100025A06D /* Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Instance.swift; sourceTree = ""; }; - 19F3CD6720C43F32007C3076 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; "Commander::Commander::Product" /* Commander.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Commander.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - OBJ_100 /* Reporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporter.swift; sourceTree = ""; }; - OBJ_101 /* Reporters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporters.swift; sourceTree = ""; }; - OBJ_102 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Spectre.git--7655155069707042687/Package.swift"; sourceTree = ""; }; - OBJ_105 /* Clang+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Clang+SourceKitten.swift"; sourceTree = ""; }; - OBJ_106 /* ClangTranslationUnit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClangTranslationUnit.swift; sourceTree = ""; }; - OBJ_107 /* CodeCompletionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeCompletionItem.swift; sourceTree = ""; }; - OBJ_108 /* Dictionary+Merge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Merge.swift"; sourceTree = ""; }; - OBJ_109 /* Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Documentation.swift; sourceTree = ""; }; - OBJ_11 /* DependencyContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainer.swift; sourceTree = ""; }; - OBJ_110 /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = ""; }; - OBJ_111 /* JSONOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONOutput.swift; sourceTree = ""; }; - OBJ_112 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; - OBJ_113 /* LinuxCompatibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinuxCompatibility.swift; sourceTree = ""; }; - OBJ_114 /* Module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; }; - OBJ_115 /* ObjCDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjCDeclarationKind.swift; sourceTree = ""; }; - OBJ_116 /* OffsetMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffsetMap.swift; sourceTree = ""; }; - OBJ_117 /* Parameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameter.swift; sourceTree = ""; }; - OBJ_118 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = ""; }; - OBJ_119 /* SourceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceDeclaration.swift; sourceTree = ""; }; - OBJ_12 /* DependencyResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyResolver.swift; sourceTree = ""; }; - OBJ_120 /* SourceKitObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitObject.swift; sourceTree = ""; }; - OBJ_121 /* SourceLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = ""; }; - OBJ_122 /* StatementKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatementKind.swift; sourceTree = ""; }; - OBJ_123 /* String+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+SourceKitten.swift"; sourceTree = ""; }; - OBJ_124 /* Structure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Structure.swift; sourceTree = ""; }; - OBJ_125 /* SwiftDeclarationAttributeKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationAttributeKind.swift; sourceTree = ""; }; - OBJ_126 /* SwiftDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationKind.swift; sourceTree = ""; }; - OBJ_127 /* SwiftDocKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocKey.swift; sourceTree = ""; }; - OBJ_128 /* SwiftDocs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocs.swift; sourceTree = ""; }; - OBJ_129 /* SyntaxKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxKind.swift; sourceTree = ""; }; - OBJ_13 /* DependencyStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyStore.swift; sourceTree = ""; }; - OBJ_130 /* SyntaxMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxMap.swift; sourceTree = ""; }; - OBJ_131 /* SyntaxToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxToken.swift; sourceTree = ""; }; - OBJ_132 /* Text.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Text.swift; sourceTree = ""; }; - OBJ_133 /* UID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UID.swift; sourceTree = ""; }; - OBJ_134 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; - OBJ_135 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; - OBJ_136 /* library_wrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper.swift; sourceTree = ""; }; - OBJ_137 /* library_wrapper_CXString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_CXString.swift; sourceTree = ""; }; - OBJ_138 /* library_wrapper_Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Documentation.swift; sourceTree = ""; }; - OBJ_139 /* library_wrapper_Index.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Index.swift; sourceTree = ""; }; - OBJ_140 /* library_wrapper_sourcekitd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_sourcekitd.swift; sourceTree = ""; }; - OBJ_141 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_143 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SourceKitten.git-6484296299232452758/Package.swift"; sourceTree = ""; }; - OBJ_147 /* api.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = api.c; sourceTree = ""; }; - OBJ_148 /* emitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emitter.c; sourceTree = ""; }; - OBJ_149 /* parser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = parser.c; sourceTree = ""; }; - OBJ_15 /* BuilderKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKey.swift; sourceTree = ""; }; - OBJ_150 /* reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = reader.c; sourceTree = ""; }; - OBJ_151 /* scanner.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = scanner.c; sourceTree = ""; }; - OBJ_152 /* writer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = writer.c; sourceTree = ""; }; - OBJ_154 /* CYaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CYaml.h; sourceTree = ""; }; - OBJ_155 /* yaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = yaml.h; sourceTree = ""; }; - OBJ_156 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = /Users/theophanerupin/Projects/Scribd/Weaver/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap; sourceTree = ""; }; - OBJ_158 /* Constructor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constructor.swift; sourceTree = ""; }; - OBJ_159 /* Decoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decoder.swift; sourceTree = ""; }; - OBJ_16 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; - OBJ_160 /* Emitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Emitter.swift; sourceTree = ""; }; - OBJ_161 /* Encoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encoder.swift; sourceTree = ""; }; - OBJ_162 /* Mark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mark.swift; sourceTree = ""; }; - OBJ_163 /* Node.Mapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Mapping.swift; sourceTree = ""; }; - OBJ_164 /* Node.Scalar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Scalar.swift; sourceTree = ""; }; - OBJ_165 /* Node.Sequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Sequence.swift; sourceTree = ""; }; - OBJ_166 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; - OBJ_167 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - OBJ_168 /* Representer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Representer.swift; sourceTree = ""; }; - OBJ_169 /* Resolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = ""; }; - OBJ_170 /* String+Yams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Yams.swift"; sourceTree = ""; }; - OBJ_171 /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = ""; }; - OBJ_172 /* YamlError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YamlError.swift; sourceTree = ""; }; - OBJ_173 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_174 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Yams.git-8068124914099325722/Package.swift"; sourceTree = ""; }; - OBJ_176 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SWXMLHash.git-5776748636326364470/Package.swift"; sourceTree = ""; }; - OBJ_177 /* SWXMLHash+TypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SWXMLHash+TypeConversion.swift"; sourceTree = ""; }; - OBJ_178 /* SWXMLHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SWXMLHash.swift; sourceTree = ""; }; - OBJ_179 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_18 /* AccessLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessLevel.swift; sourceTree = ""; }; - OBJ_19 /* AutoEquatable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoEquatable.generated.swift; sourceTree = ""; }; - OBJ_20 /* AutoHashable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoHashable.generated.swift; sourceTree = ""; }; - OBJ_21 /* AutoTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoTypes.swift; sourceTree = ""; }; - OBJ_22 /* ConfigurationAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttribute.swift; sourceTree = ""; }; - OBJ_23 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; - OBJ_24 /* Expr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expr.swift; sourceTree = ""; }; - OBJ_25 /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; - OBJ_26 /* Inspector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inspector.swift; sourceTree = ""; }; - OBJ_27 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; - OBJ_28 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_10 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; + OBJ_100 /* Variable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; + OBJ_102 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/PathKit.git--1865447967743163058/Package.swift"; sourceTree = ""; }; + OBJ_103 /* PathKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathKit.swift; sourceTree = ""; }; + OBJ_106 /* ArgumentConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentConvertible.swift; sourceTree = ""; }; + OBJ_107 /* ArgumentDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentDescription.swift; sourceTree = ""; }; + OBJ_108 /* ArgumentParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentParser.swift; sourceTree = ""; }; + OBJ_109 /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = ""; }; + OBJ_11 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + OBJ_110 /* CommandRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandRunner.swift; sourceTree = ""; }; + OBJ_111 /* CommandType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandType.swift; sourceTree = ""; }; + OBJ_112 /* Commands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commands.swift; sourceTree = ""; }; + OBJ_113 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; + OBJ_114 /* Group.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = ""; }; + OBJ_115 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Commander.git-8842944228949165507/Package.swift"; sourceTree = ""; }; + OBJ_118 /* Case.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Case.swift; sourceTree = ""; }; + OBJ_119 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_120 /* Expectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expectation.swift; sourceTree = ""; }; + OBJ_121 /* Failure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Failure.swift; sourceTree = ""; }; + OBJ_122 /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = ""; }; + OBJ_123 /* GlobalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalContext.swift; sourceTree = ""; }; + OBJ_124 /* Reporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporter.swift; sourceTree = ""; }; + OBJ_125 /* Reporters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporters.swift; sourceTree = ""; }; + OBJ_126 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Spectre.git--7655155069707042687/Package.swift"; sourceTree = ""; }; + OBJ_13 /* AccessLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessLevel.swift; sourceTree = ""; }; + OBJ_130 /* Clang+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Clang+SourceKitten.swift"; sourceTree = ""; }; + OBJ_131 /* ClangTranslationUnit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClangTranslationUnit.swift; sourceTree = ""; }; + OBJ_132 /* CodeCompletionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeCompletionItem.swift; sourceTree = ""; }; + OBJ_133 /* Dictionary+Merge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Merge.swift"; sourceTree = ""; }; + OBJ_134 /* Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Documentation.swift; sourceTree = ""; }; + OBJ_135 /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = ""; }; + OBJ_136 /* JSONOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONOutput.swift; sourceTree = ""; }; + OBJ_137 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; + OBJ_138 /* LinuxCompatibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinuxCompatibility.swift; sourceTree = ""; }; + OBJ_139 /* Module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; }; + OBJ_14 /* AutoEquatable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoEquatable.generated.swift; sourceTree = ""; }; + OBJ_140 /* ObjCDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjCDeclarationKind.swift; sourceTree = ""; }; + OBJ_141 /* OffsetMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffsetMap.swift; sourceTree = ""; }; + OBJ_142 /* Parameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameter.swift; sourceTree = ""; }; + OBJ_143 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = ""; }; + OBJ_144 /* SourceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceDeclaration.swift; sourceTree = ""; }; + OBJ_145 /* SourceKitObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitObject.swift; sourceTree = ""; }; + OBJ_146 /* SourceLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = ""; }; + OBJ_147 /* StatementKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatementKind.swift; sourceTree = ""; }; + OBJ_148 /* String+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+SourceKitten.swift"; sourceTree = ""; }; + OBJ_149 /* Structure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Structure.swift; sourceTree = ""; }; + OBJ_15 /* AutoHashable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoHashable.generated.swift; sourceTree = ""; }; + OBJ_150 /* SwiftDeclarationAttributeKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationAttributeKind.swift; sourceTree = ""; }; + OBJ_151 /* SwiftDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationKind.swift; sourceTree = ""; }; + OBJ_152 /* SwiftDocKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocKey.swift; sourceTree = ""; }; + OBJ_153 /* SwiftDocs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocs.swift; sourceTree = ""; }; + OBJ_154 /* SyntaxKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxKind.swift; sourceTree = ""; }; + OBJ_155 /* SyntaxMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxMap.swift; sourceTree = ""; }; + OBJ_156 /* SyntaxToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxToken.swift; sourceTree = ""; }; + OBJ_157 /* Text.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Text.swift; sourceTree = ""; }; + OBJ_158 /* UID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UID.swift; sourceTree = ""; }; + OBJ_159 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; + OBJ_16 /* AutoTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoTypes.swift; sourceTree = ""; }; + OBJ_160 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; + OBJ_161 /* library_wrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper.swift; sourceTree = ""; }; + OBJ_162 /* library_wrapper_CXString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_CXString.swift; sourceTree = ""; }; + OBJ_163 /* library_wrapper_Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Documentation.swift; sourceTree = ""; }; + OBJ_164 /* library_wrapper_Index.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Index.swift; sourceTree = ""; }; + OBJ_165 /* library_wrapper_sourcekitd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_sourcekitd.swift; sourceTree = ""; }; + OBJ_166 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_167 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SourceKitten.git-6484296299232452758/Package.swift"; sourceTree = ""; }; + OBJ_17 /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; + OBJ_171 /* api.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = api.c; sourceTree = ""; }; + OBJ_172 /* emitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emitter.c; sourceTree = ""; }; + OBJ_173 /* parser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = parser.c; sourceTree = ""; }; + OBJ_174 /* reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = reader.c; sourceTree = ""; }; + OBJ_175 /* scanner.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = scanner.c; sourceTree = ""; }; + OBJ_176 /* writer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = writer.c; sourceTree = ""; }; + OBJ_178 /* CYaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CYaml.h; sourceTree = ""; }; + OBJ_179 /* yaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = yaml.h; sourceTree = ""; }; + OBJ_18 /* ConfigurationAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttribute.swift; sourceTree = ""; }; + OBJ_180 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = /Users/theophanerupin/Projects/Scribd/Weaver/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap; sourceTree = ""; }; + OBJ_182 /* Constructor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constructor.swift; sourceTree = ""; }; + OBJ_183 /* Decoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decoder.swift; sourceTree = ""; }; + OBJ_184 /* Emitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Emitter.swift; sourceTree = ""; }; + OBJ_185 /* Encoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encoder.swift; sourceTree = ""; }; + OBJ_186 /* Mark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mark.swift; sourceTree = ""; }; + OBJ_187 /* Node.Mapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Mapping.swift; sourceTree = ""; }; + OBJ_188 /* Node.Scalar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Scalar.swift; sourceTree = ""; }; + OBJ_189 /* Node.Sequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Sequence.swift; sourceTree = ""; }; + OBJ_19 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; + OBJ_190 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; + OBJ_191 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_192 /* Representer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Representer.swift; sourceTree = ""; }; + OBJ_193 /* Resolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = ""; }; + OBJ_194 /* String+Yams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Yams.swift"; sourceTree = ""; }; + OBJ_195 /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = ""; }; + OBJ_196 /* YamlError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YamlError.swift; sourceTree = ""; }; + OBJ_197 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_198 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Yams.git-8068124914099325722/Package.swift"; sourceTree = ""; }; + OBJ_20 /* Expr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expr.swift; sourceTree = ""; }; + OBJ_200 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SWXMLHash.git-5776748636326364470/Package.swift"; sourceTree = ""; }; + OBJ_201 /* SWXMLHash+TypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SWXMLHash+TypeConversion.swift"; sourceTree = ""; }; + OBJ_202 /* SWXMLHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SWXMLHash.swift; sourceTree = ""; }; + OBJ_203 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_21 /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; + OBJ_22 /* Graph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Graph.swift; sourceTree = ""; }; + OBJ_23 /* Inspector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inspector.swift; sourceTree = ""; }; + OBJ_24 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; + OBJ_25 /* Linker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Linker.swift; sourceTree = ""; }; + OBJ_26 /* OrderedDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedDictionary.swift; sourceTree = ""; }; + OBJ_27 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_28 /* RegexUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegexUtils.swift; sourceTree = ""; }; OBJ_29 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; OBJ_30 /* SourceKitDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclaration.swift; sourceTree = ""; }; OBJ_31 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; - OBJ_33 /* Arguments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arguments.swift; sourceTree = ""; }; - OBJ_34 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; - OBJ_35 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - OBJ_38 /* BuilderStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStoreTests.swift; sourceTree = ""; }; - OBJ_39 /* DependencyContainerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainerTests.swift; sourceTree = ""; }; - OBJ_41 /* BuilderKeyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKeyTests.swift; sourceTree = ""; }; - OBJ_42 /* Spies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Spies.swift; sourceTree = ""; }; - OBJ_44 /* ErrorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTests.swift; sourceTree = ""; }; - OBJ_45 /* GeneratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratorTests.swift; sourceTree = ""; }; - OBJ_46 /* InspectorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InspectorTests.swift; sourceTree = ""; }; - OBJ_47 /* LexerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexerTests.swift; sourceTree = ""; }; - OBJ_48 /* ParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTests.swift; sourceTree = ""; }; - OBJ_49 /* SourceKitDeclarationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclarationTests.swift; sourceTree = ""; }; - OBJ_50 /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = SOURCE_ROOT; }; - OBJ_51 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tools; sourceTree = SOURCE_ROOT; }; - OBJ_52 /* Resources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Resources; sourceTree = SOURCE_ROOT; }; - OBJ_53 /* Sample */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sample; sourceTree = SOURCE_ROOT; }; - OBJ_54 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; path = build; sourceTree = SOURCE_ROOT; }; - OBJ_57 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Stencil.git-7635584243355970173/Package.swift"; sourceTree = ""; }; - OBJ_58 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; - OBJ_59 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + OBJ_32 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; + OBJ_33 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; + OBJ_35 /* Builder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Builder.swift; sourceTree = ""; }; + OBJ_36 /* BuilderKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKey.swift; sourceTree = ""; }; + OBJ_37 /* BuilderStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStore.swift; sourceTree = ""; }; + OBJ_38 /* DependencyContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainer.swift; sourceTree = ""; }; + OBJ_39 /* DependencyResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyResolver.swift; sourceTree = ""; }; + OBJ_40 /* DependencyStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyStore.swift; sourceTree = ""; }; + OBJ_41 /* Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Instance.swift; sourceTree = ""; }; + OBJ_42 /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; + OBJ_43 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; + OBJ_46 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; + OBJ_47 /* ErrorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTests.swift; sourceTree = ""; }; + OBJ_48 /* GeneratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratorTests.swift; sourceTree = ""; }; + OBJ_49 /* InspectorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InspectorTests.swift; sourceTree = ""; }; + OBJ_50 /* LexerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexerTests.swift; sourceTree = ""; }; + OBJ_51 /* ParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTests.swift; sourceTree = ""; }; + OBJ_52 /* SourceKitDeclarationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclarationTests.swift; sourceTree = ""; }; + OBJ_53 /* TypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeTests.swift; sourceTree = ""; }; + OBJ_55 /* BuilderKeyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKeyTests.swift; sourceTree = ""; }; + OBJ_56 /* BuilderStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStoreTests.swift; sourceTree = ""; }; + OBJ_57 /* BuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderTests.swift; sourceTree = ""; }; + OBJ_58 /* DependencyContainerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainerTests.swift; sourceTree = ""; }; + OBJ_59 /* Spies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Spies.swift; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; - OBJ_60 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; - OBJ_61 /* Expression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expression.swift; sourceTree = ""; }; - OBJ_62 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; - OBJ_63 /* FilterTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterTag.swift; sourceTree = ""; }; - OBJ_64 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; - OBJ_65 /* ForTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForTag.swift; sourceTree = ""; }; - OBJ_66 /* IfTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IfTag.swift; sourceTree = ""; }; - OBJ_67 /* Include.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Include.swift; sourceTree = ""; }; - OBJ_68 /* Inheritence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inheritence.swift; sourceTree = ""; }; - OBJ_69 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; - OBJ_70 /* Loader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Loader.swift; sourceTree = ""; }; - OBJ_71 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; - OBJ_72 /* NowTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowTag.swift; sourceTree = ""; }; - OBJ_73 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - OBJ_74 /* Template.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Template.swift; sourceTree = ""; }; - OBJ_75 /* Tokenizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tokenizer.swift; sourceTree = ""; }; - OBJ_76 /* Variable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; - OBJ_78 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/PathKit.git--1865447967743163058/Package.swift"; sourceTree = ""; }; - OBJ_79 /* PathKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathKit.swift; sourceTree = ""; }; - OBJ_82 /* ArgumentConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentConvertible.swift; sourceTree = ""; }; - OBJ_83 /* ArgumentDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentDescription.swift; sourceTree = ""; }; - OBJ_84 /* ArgumentParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentParser.swift; sourceTree = ""; }; - OBJ_85 /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = ""; }; - OBJ_86 /* CommandRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandRunner.swift; sourceTree = ""; }; - OBJ_87 /* CommandType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandType.swift; sourceTree = ""; }; - OBJ_88 /* Commands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commands.swift; sourceTree = ""; }; - OBJ_89 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; - OBJ_9 /* BuilderStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStore.swift; sourceTree = ""; }; - OBJ_90 /* Group.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = ""; }; - OBJ_91 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Commander.git-8842944228949165507/Package.swift"; sourceTree = ""; }; - OBJ_94 /* Case.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Case.swift; sourceTree = ""; }; - OBJ_95 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; - OBJ_96 /* Expectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expectation.swift; sourceTree = ""; }; - OBJ_97 /* Failure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Failure.swift; sourceTree = ""; }; - OBJ_98 /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = ""; }; - OBJ_99 /* GlobalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalContext.swift; sourceTree = ""; }; + OBJ_60 /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = SOURCE_ROOT; }; + OBJ_61 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tools; sourceTree = SOURCE_ROOT; }; + OBJ_62 /* Resources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Resources; sourceTree = SOURCE_ROOT; }; + OBJ_63 /* Sample */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sample; sourceTree = SOURCE_ROOT; }; + OBJ_64 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; path = build; sourceTree = SOURCE_ROOT; }; + OBJ_67 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/StencilSwiftKit.git--5335877019653034551/Package.swift"; sourceTree = ""; }; + OBJ_69 /* CallMacroNodes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMacroNodes.swift; sourceTree = ""; }; + OBJ_70 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_71 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + OBJ_72 /* Filters+Numbers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Numbers.swift"; sourceTree = ""; }; + OBJ_73 /* Filters+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Strings.swift"; sourceTree = ""; }; + OBJ_74 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; + OBJ_75 /* MapNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapNode.swift; sourceTree = ""; }; + OBJ_76 /* Parameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameters.swift; sourceTree = ""; }; + OBJ_77 /* SetNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetNode.swift; sourceTree = ""; }; + OBJ_78 /* StencilSwiftTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StencilSwiftTemplate.swift; sourceTree = ""; }; + OBJ_79 /* SwiftIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftIdentifier.swift; sourceTree = ""; }; + OBJ_81 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Stencil.git-7635584243355970173/Package.swift"; sourceTree = ""; }; + OBJ_82 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_83 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + OBJ_84 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; + OBJ_85 /* Expression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expression.swift; sourceTree = ""; }; + OBJ_86 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; + OBJ_87 /* FilterTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterTag.swift; sourceTree = ""; }; + OBJ_88 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; + OBJ_89 /* ForTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForTag.swift; sourceTree = ""; }; + OBJ_9 /* Arguments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arguments.swift; sourceTree = ""; }; + OBJ_90 /* IfTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IfTag.swift; sourceTree = ""; }; + OBJ_91 /* Include.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Include.swift; sourceTree = ""; }; + OBJ_92 /* Inheritence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inheritence.swift; sourceTree = ""; }; + OBJ_93 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; + OBJ_94 /* Loader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Loader.swift; sourceTree = ""; }; + OBJ_95 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; + OBJ_96 /* NowTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowTag.swift; sourceTree = ""; }; + OBJ_97 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_98 /* Template.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Template.swift; sourceTree = ""; }; + OBJ_99 /* Tokenizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tokenizer.swift; sourceTree = ""; }; "PathKit::PathKit::Product" /* PathKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PathKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SWXMLHash.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SourceKittenFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Spectre::Spectre::Product" /* Spectre.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Spectre.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Stencil::Stencil::Product" /* Stencil.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stencil.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StencilSwiftKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WeaverCodeGen.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = WeaverCodeGenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; "WeaverDI::WeaverCommand::Product" /* WeaverCommand */ = {isa = PBXFileReference; lastKnownFileType = text; path = WeaverCommand; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -644,190 +717,248 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - OBJ_250 /* Frameworks */ = { + OBJ_230 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_251 /* Commander.framework in Frameworks */, - OBJ_252 /* WeaverCodeGen.framework in Frameworks */, - OBJ_253 /* Stencil.framework in Frameworks */, - OBJ_254 /* Spectre.framework in Frameworks */, - OBJ_255 /* PathKit.framework in Frameworks */, - OBJ_256 /* SourceKittenFramework.framework in Frameworks */, - OBJ_257 /* Yams.framework in Frameworks */, - OBJ_258 /* CYaml.framework in Frameworks */, - OBJ_259 /* SWXMLHash.framework in Frameworks */, - OBJ_260 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_294 /* Frameworks */ = { + OBJ_245 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_306 /* Frameworks */ = { + OBJ_258 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_307 /* WeaverCodeGen.framework in Frameworks */, - OBJ_308 /* Stencil.framework in Frameworks */, - OBJ_309 /* Spectre.framework in Frameworks */, - OBJ_310 /* PathKit.framework in Frameworks */, - OBJ_311 /* SourceKittenFramework.framework in Frameworks */, - OBJ_312 /* Yams.framework in Frameworks */, - OBJ_313 /* CYaml.framework in Frameworks */, - OBJ_314 /* SWXMLHash.framework in Frameworks */, - OBJ_315 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_343 /* Frameworks */ = { + OBJ_273 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_344 /* Stencil.framework in Frameworks */, - OBJ_345 /* Spectre.framework in Frameworks */, - OBJ_346 /* PathKit.framework in Frameworks */, - OBJ_347 /* SourceKittenFramework.framework in Frameworks */, - OBJ_348 /* Yams.framework in Frameworks */, - OBJ_349 /* CYaml.framework in Frameworks */, - OBJ_350 /* SWXMLHash.framework in Frameworks */, - OBJ_351 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_383 /* Frameworks */ = { + OBJ_322 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_384 /* Spectre.framework in Frameworks */, - OBJ_385 /* PathKit.framework in Frameworks */, + OBJ_323 /* Yams.framework in Frameworks */, + OBJ_324 /* CYaml.framework in Frameworks */, + OBJ_325 /* SWXMLHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_400 /* Frameworks */ = { + OBJ_349 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_406 /* Frameworks */ = { + OBJ_380 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( + OBJ_381 /* Spectre.framework in Frameworks */, + OBJ_382 /* PathKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_448 /* Frameworks */ = { + OBJ_407 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_449 /* Yams.framework in Frameworks */, - OBJ_450 /* CYaml.framework in Frameworks */, - OBJ_451 /* SWXMLHash.framework in Frameworks */, + OBJ_408 /* Stencil.framework in Frameworks */, + OBJ_409 /* Spectre.framework in Frameworks */, + OBJ_410 /* PathKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_475 /* Frameworks */ = { + OBJ_446 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_476 /* CYaml.framework in Frameworks */, + OBJ_447 /* StencilSwiftKit.framework in Frameworks */, + OBJ_448 /* Stencil.framework in Frameworks */, + OBJ_449 /* Spectre.framework in Frameworks */, + OBJ_450 /* PathKit.framework in Frameworks */, + OBJ_451 /* SourceKittenFramework.framework in Frameworks */, + OBJ_452 /* Yams.framework in Frameworks */, + OBJ_453 /* CYaml.framework in Frameworks */, + OBJ_454 /* SWXMLHash.framework in Frameworks */, + OBJ_455 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_488 /* Frameworks */ = { + OBJ_479 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( + OBJ_480 /* WeaverCodeGen.framework in Frameworks */, + OBJ_481 /* StencilSwiftKit.framework in Frameworks */, + OBJ_482 /* Stencil.framework in Frameworks */, + OBJ_483 /* Spectre.framework in Frameworks */, + OBJ_484 /* PathKit.framework in Frameworks */, + OBJ_485 /* SourceKittenFramework.framework in Frameworks */, + OBJ_486 /* Yams.framework in Frameworks */, + OBJ_487 /* CYaml.framework in Frameworks */, + OBJ_488 /* SWXMLHash.framework in Frameworks */, + OBJ_489 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_496 /* Frameworks */ = { + OBJ_508 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( + OBJ_509 /* Commander.framework in Frameworks */, + OBJ_510 /* WeaverCodeGen.framework in Frameworks */, + OBJ_511 /* StencilSwiftKit.framework in Frameworks */, + OBJ_512 /* Stencil.framework in Frameworks */, + OBJ_513 /* Spectre.framework in Frameworks */, + OBJ_514 /* PathKit.framework in Frameworks */, + OBJ_515 /* SourceKittenFramework.framework in Frameworks */, + OBJ_516 /* Yams.framework in Frameworks */, + OBJ_517 /* CYaml.framework in Frameworks */, + OBJ_518 /* SWXMLHash.framework in Frameworks */, + OBJ_519 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_507 /* Frameworks */ = { + OBJ_544 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_508 /* WeaverDI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_522 /* Frameworks */ = { + OBJ_567 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( + OBJ_568 /* WeaverDI.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_590 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_591 /* CYaml.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - OBJ_103 /* SourceKitten 0.20.0 */ = { + OBJ_101 /* PathKit 0.9.1 */ = { isa = PBXGroup; children = ( - OBJ_104 /* SourceKittenFramework */, - OBJ_142 /* sourcekitten */, - OBJ_143 /* Package.swift */, + OBJ_102 /* Package.swift */, + OBJ_103 /* PathKit.swift */, ); - name = "SourceKitten 0.20.0"; + name = "PathKit 0.9.1"; + path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; sourceTree = SOURCE_ROOT; }; - OBJ_104 /* SourceKittenFramework */ = { + OBJ_104 /* Commander 0.8.0 */ = { isa = PBXGroup; children = ( - OBJ_105 /* Clang+SourceKitten.swift */, - OBJ_106 /* ClangTranslationUnit.swift */, - OBJ_107 /* CodeCompletionItem.swift */, - OBJ_108 /* Dictionary+Merge.swift */, - OBJ_109 /* Documentation.swift */, - OBJ_110 /* File.swift */, - OBJ_111 /* JSONOutput.swift */, - OBJ_112 /* Language.swift */, - OBJ_113 /* LinuxCompatibility.swift */, - OBJ_114 /* Module.swift */, - OBJ_115 /* ObjCDeclarationKind.swift */, - OBJ_116 /* OffsetMap.swift */, - OBJ_117 /* Parameter.swift */, - OBJ_118 /* Request.swift */, - OBJ_119 /* SourceDeclaration.swift */, - OBJ_120 /* SourceKitObject.swift */, - OBJ_121 /* SourceLocation.swift */, - OBJ_122 /* StatementKind.swift */, - OBJ_123 /* String+SourceKitten.swift */, - OBJ_124 /* Structure.swift */, - OBJ_125 /* SwiftDeclarationAttributeKind.swift */, - OBJ_126 /* SwiftDeclarationKind.swift */, - OBJ_127 /* SwiftDocKey.swift */, - OBJ_128 /* SwiftDocs.swift */, - OBJ_129 /* SyntaxKind.swift */, - OBJ_130 /* SyntaxMap.swift */, - OBJ_131 /* SyntaxToken.swift */, - OBJ_132 /* Text.swift */, - OBJ_133 /* UID.swift */, - OBJ_134 /* Version.swift */, - OBJ_135 /* Xcode.swift */, - OBJ_136 /* library_wrapper.swift */, - OBJ_137 /* library_wrapper_CXString.swift */, - OBJ_138 /* library_wrapper_Documentation.swift */, - OBJ_139 /* library_wrapper_Index.swift */, - OBJ_140 /* library_wrapper_sourcekitd.swift */, - OBJ_141 /* shim.swift */, + OBJ_105 /* Commander */, + OBJ_115 /* Package.swift */, ); - name = SourceKittenFramework; - path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/SourceKittenFramework"; + name = "Commander 0.8.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_105 /* Commander */ = { + isa = PBXGroup; + children = ( + OBJ_106 /* ArgumentConvertible.swift */, + OBJ_107 /* ArgumentDescription.swift */, + OBJ_108 /* ArgumentParser.swift */, + OBJ_109 /* Command.swift */, + OBJ_110 /* CommandRunner.swift */, + OBJ_111 /* CommandType.swift */, + OBJ_112 /* Commands.swift */, + OBJ_113 /* Error.swift */, + OBJ_114 /* Group.swift */, + ); + name = Commander; + path = ".build/checkouts/Commander.git-8842944228949165507/Sources/Commander"; + sourceTree = SOURCE_ROOT; + }; + OBJ_116 /* Spectre 0.8.0 */ = { + isa = PBXGroup; + children = ( + OBJ_117 /* Spectre */, + OBJ_126 /* Package.swift */, + ); + name = "Spectre 0.8.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_117 /* Spectre */ = { + isa = PBXGroup; + children = ( + OBJ_118 /* Case.swift */, + OBJ_119 /* Context.swift */, + OBJ_120 /* Expectation.swift */, + OBJ_121 /* Failure.swift */, + OBJ_122 /* Global.swift */, + OBJ_123 /* GlobalContext.swift */, + OBJ_124 /* Reporter.swift */, + OBJ_125 /* Reporters.swift */, + ); + name = Spectre; + path = ".build/checkouts/Spectre.git--7655155069707042687/Sources/Spectre"; sourceTree = SOURCE_ROOT; }; - OBJ_142 /* sourcekitten */ = { + OBJ_12 /* WeaverCodeGen */ = { + isa = PBXGroup; + children = ( + OBJ_13 /* AccessLevel.swift */, + OBJ_14 /* AutoEquatable.generated.swift */, + OBJ_15 /* AutoHashable.generated.swift */, + OBJ_16 /* AutoTypes.swift */, + OBJ_17 /* Configuration.swift */, + OBJ_18 /* ConfigurationAttribute.swift */, + OBJ_19 /* Error.swift */, + OBJ_20 /* Expr.swift */, + OBJ_21 /* Generator.swift */, + OBJ_22 /* Graph.swift */, + OBJ_23 /* Inspector.swift */, + OBJ_24 /* Lexer.swift */, + OBJ_25 /* Linker.swift */, + OBJ_26 /* OrderedDictionary.swift */, + OBJ_27 /* Parser.swift */, + OBJ_28 /* RegexUtils.swift */, + OBJ_29 /* Scope.swift */, + OBJ_30 /* SourceKitDeclaration.swift */, + OBJ_31 /* Token.swift */, + OBJ_32 /* Type.swift */, + OBJ_33 /* shim-swift-4.1.swift */, + ); + name = WeaverCodeGen; + path = Sources/WeaverCodeGen; + sourceTree = SOURCE_ROOT; + }; + OBJ_127 /* SourceKitten 0.21.0 */ = { + isa = PBXGroup; + children = ( + OBJ_128 /* sourcekitten */, + OBJ_129 /* SourceKittenFramework */, + OBJ_167 /* Package.swift */, + ); + name = "SourceKitten 0.21.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_128 /* sourcekitten */ = { isa = PBXGroup; children = ( ); @@ -835,327 +966,313 @@ path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/sourcekitten"; sourceTree = SOURCE_ROOT; }; - OBJ_144 /* Yams 0.7.0 */ = { + OBJ_129 /* SourceKittenFramework */ = { + isa = PBXGroup; + children = ( + OBJ_130 /* Clang+SourceKitten.swift */, + OBJ_131 /* ClangTranslationUnit.swift */, + OBJ_132 /* CodeCompletionItem.swift */, + OBJ_133 /* Dictionary+Merge.swift */, + OBJ_134 /* Documentation.swift */, + OBJ_135 /* File.swift */, + OBJ_136 /* JSONOutput.swift */, + OBJ_137 /* Language.swift */, + OBJ_138 /* LinuxCompatibility.swift */, + OBJ_139 /* Module.swift */, + OBJ_140 /* ObjCDeclarationKind.swift */, + OBJ_141 /* OffsetMap.swift */, + OBJ_142 /* Parameter.swift */, + OBJ_143 /* Request.swift */, + OBJ_144 /* SourceDeclaration.swift */, + OBJ_145 /* SourceKitObject.swift */, + OBJ_146 /* SourceLocation.swift */, + OBJ_147 /* StatementKind.swift */, + OBJ_148 /* String+SourceKitten.swift */, + OBJ_149 /* Structure.swift */, + OBJ_150 /* SwiftDeclarationAttributeKind.swift */, + OBJ_151 /* SwiftDeclarationKind.swift */, + OBJ_152 /* SwiftDocKey.swift */, + OBJ_153 /* SwiftDocs.swift */, + OBJ_154 /* SyntaxKind.swift */, + OBJ_155 /* SyntaxMap.swift */, + OBJ_156 /* SyntaxToken.swift */, + OBJ_157 /* Text.swift */, + OBJ_158 /* UID.swift */, + OBJ_159 /* Version.swift */, + OBJ_160 /* Xcode.swift */, + OBJ_161 /* library_wrapper.swift */, + OBJ_162 /* library_wrapper_CXString.swift */, + OBJ_163 /* library_wrapper_Documentation.swift */, + OBJ_164 /* library_wrapper_Index.swift */, + OBJ_165 /* library_wrapper_sourcekitd.swift */, + OBJ_166 /* shim.swift */, + ); + name = SourceKittenFramework; + path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/SourceKittenFramework"; + sourceTree = SOURCE_ROOT; + }; + OBJ_168 /* Yams 0.7.0 */ = { isa = PBXGroup; children = ( - OBJ_145 /* CYaml */, - OBJ_157 /* Yams */, - OBJ_174 /* Package.swift */, + OBJ_169 /* CYaml */, + OBJ_181 /* Yams */, + OBJ_198 /* Package.swift */, ); name = "Yams 0.7.0"; sourceTree = SOURCE_ROOT; }; - OBJ_145 /* CYaml */ = { + OBJ_169 /* CYaml */ = { isa = PBXGroup; children = ( - OBJ_146 /* src */, - OBJ_153 /* include */, + OBJ_170 /* src */, + OBJ_177 /* include */, ); name = CYaml; path = ".build/checkouts/Yams.git-8068124914099325722/Sources/CYaml"; sourceTree = SOURCE_ROOT; }; - OBJ_146 /* src */ = { + OBJ_170 /* src */ = { isa = PBXGroup; children = ( - OBJ_147 /* api.c */, - OBJ_148 /* emitter.c */, - OBJ_149 /* parser.c */, - OBJ_150 /* reader.c */, - OBJ_151 /* scanner.c */, - OBJ_152 /* writer.c */, + OBJ_171 /* api.c */, + OBJ_172 /* emitter.c */, + OBJ_173 /* parser.c */, + OBJ_174 /* reader.c */, + OBJ_175 /* scanner.c */, + OBJ_176 /* writer.c */, ); path = src; sourceTree = ""; }; - OBJ_153 /* include */ = { + OBJ_177 /* include */ = { isa = PBXGroup; children = ( - OBJ_154 /* CYaml.h */, - OBJ_155 /* yaml.h */, - OBJ_156 /* module.modulemap */, + OBJ_178 /* CYaml.h */, + OBJ_179 /* yaml.h */, + OBJ_180 /* module.modulemap */, ); path = include; sourceTree = ""; }; - OBJ_157 /* Yams */ = { + OBJ_181 /* Yams */ = { isa = PBXGroup; children = ( - OBJ_158 /* Constructor.swift */, - OBJ_159 /* Decoder.swift */, - OBJ_160 /* Emitter.swift */, - OBJ_161 /* Encoder.swift */, - OBJ_162 /* Mark.swift */, - OBJ_163 /* Node.Mapping.swift */, - OBJ_164 /* Node.Scalar.swift */, - OBJ_165 /* Node.Sequence.swift */, - OBJ_166 /* Node.swift */, - OBJ_167 /* Parser.swift */, - OBJ_168 /* Representer.swift */, - OBJ_169 /* Resolver.swift */, - OBJ_170 /* String+Yams.swift */, - OBJ_171 /* Tag.swift */, - OBJ_172 /* YamlError.swift */, - OBJ_173 /* shim.swift */, + OBJ_182 /* Constructor.swift */, + OBJ_183 /* Decoder.swift */, + OBJ_184 /* Emitter.swift */, + OBJ_185 /* Encoder.swift */, + OBJ_186 /* Mark.swift */, + OBJ_187 /* Node.Mapping.swift */, + OBJ_188 /* Node.Scalar.swift */, + OBJ_189 /* Node.Sequence.swift */, + OBJ_190 /* Node.swift */, + OBJ_191 /* Parser.swift */, + OBJ_192 /* Representer.swift */, + OBJ_193 /* Resolver.swift */, + OBJ_194 /* String+Yams.swift */, + OBJ_195 /* Tag.swift */, + OBJ_196 /* YamlError.swift */, + OBJ_197 /* shim.swift */, ); name = Yams; path = ".build/checkouts/Yams.git-8068124914099325722/Sources/Yams"; sourceTree = SOURCE_ROOT; }; - OBJ_17 /* WeaverCodeGen */ = { - isa = PBXGroup; - children = ( - OBJ_18 /* AccessLevel.swift */, - OBJ_19 /* AutoEquatable.generated.swift */, - OBJ_20 /* AutoHashable.generated.swift */, - OBJ_21 /* AutoTypes.swift */, - 190C26E820C9930E009128AA /* Configuration.swift */, - OBJ_22 /* ConfigurationAttribute.swift */, - OBJ_23 /* Error.swift */, - OBJ_24 /* Expr.swift */, - OBJ_25 /* Generator.swift */, - 19303FCB20F9025F003584E9 /* Graph.swift */, - OBJ_26 /* Inspector.swift */, - OBJ_27 /* Lexer.swift */, - 19303FCD20F909C0003584E9 /* Linker.swift */, - 1958492520D4678900BB1F09 /* OrderedDictionary.swift */, - OBJ_28 /* Parser.swift */, - 19506C4720DDC27F0068B8A6 /* RegexUtils.swift */, - 19F3CD6720C43F32007C3076 /* shim-swift-4.1.swift */, - OBJ_29 /* Scope.swift */, - OBJ_30 /* SourceKitDeclaration.swift */, - OBJ_31 /* Token.swift */, - 19506C4520DDC1B10068B8A6 /* Type.swift */, - ); - name = WeaverCodeGen; - path = Sources/WeaverCodeGen; - sourceTree = SOURCE_ROOT; - }; - OBJ_175 /* SWXMLHash 4.6.0 */ = { + OBJ_199 /* SWXMLHash 4.6.0 */ = { isa = PBXGroup; children = ( - OBJ_176 /* Package.swift */, - OBJ_177 /* SWXMLHash+TypeConversion.swift */, - OBJ_178 /* SWXMLHash.swift */, - OBJ_179 /* shim.swift */, + OBJ_200 /* Package.swift */, + OBJ_201 /* SWXMLHash+TypeConversion.swift */, + OBJ_202 /* SWXMLHash.swift */, + OBJ_203 /* shim.swift */, ); name = "SWXMLHash 4.6.0"; path = ".build/checkouts/SWXMLHash.git-5776748636326364470/Source"; sourceTree = SOURCE_ROOT; }; - OBJ_180 /* Products */ = { + OBJ_204 /* Products */ = { isa = PBXGroup; children = ( - "WeaverDI::WeaverCommand::Product" /* WeaverCommand */, - "Commander::Commander::Product" /* Commander.framework */, "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */, - "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */, - "Stencil::Stencil::Product" /* Stencil.framework */, - "Spectre::Spectre::Product" /* Spectre.framework */, - "PathKit::PathKit::Product" /* PathKit.framework */, - "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */, + "WeaverDI::WeaverCommand::Product" /* WeaverCommand */, "Yams::Yams::Product" /* Yams.framework */, - "Yams::CYaml::Product" /* CYaml.framework */, "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */, + "PathKit::PathKit::Product" /* PathKit.framework */, + "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */, + "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */, + "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */, + "Spectre::Spectre::Product" /* Spectre.framework */, "WeaverDI::WeaverDITests::Product" /* WeaverDITests.xctest */, + "Yams::CYaml::Product" /* CYaml.framework */, + "Stencil::Stencil::Product" /* Stencil.framework */, "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */, + "Commander::Commander::Product" /* Commander.framework */, ); name = Products; sourceTree = BUILT_PRODUCTS_DIR; }; - OBJ_32 /* WeaverCommand */ = { + OBJ_34 /* WeaverDI */ = { isa = PBXGroup; children = ( - OBJ_33 /* Arguments.swift */, - OBJ_34 /* Logger.swift */, - OBJ_35 /* main.swift */, + OBJ_35 /* Builder.swift */, + OBJ_36 /* BuilderKey.swift */, + OBJ_37 /* BuilderStore.swift */, + OBJ_38 /* DependencyContainer.swift */, + OBJ_39 /* DependencyResolver.swift */, + OBJ_40 /* DependencyStore.swift */, + OBJ_41 /* Instance.swift */, + OBJ_42 /* Reference.swift */, + OBJ_43 /* Scope.swift */, ); - name = WeaverCommand; - path = Sources/WeaverCommand; + name = WeaverDI; + path = Sources/WeaverDI; sourceTree = SOURCE_ROOT; }; - OBJ_36 /* Tests */ = { + OBJ_44 /* Tests */ = { isa = PBXGroup; children = ( - OBJ_37 /* WeaverDITests */, - OBJ_43 /* WeaverCodeGenTests */, + OBJ_45 /* WeaverCodeGenTests */, + OBJ_54 /* WeaverDITests */, ); name = Tests; sourceTree = SOURCE_ROOT; }; - OBJ_37 /* WeaverDITests */ = { - isa = PBXGroup; - children = ( - 1917D60E20CA5E8100FDA7F5 /* BuilderTests.swift */, - OBJ_41 /* BuilderKeyTests.swift */, - OBJ_38 /* BuilderStoreTests.swift */, - OBJ_39 /* DependencyContainerTests.swift */, - OBJ_42 /* Spies.swift */, - ); - name = WeaverDITests; - path = Tests/WeaverDITests; - sourceTree = SOURCE_ROOT; - }; - OBJ_43 /* WeaverCodeGenTests */ = { + OBJ_45 /* WeaverCodeGenTests */ = { isa = PBXGroup; children = ( - 194F90CA20CDC50400F594F5 /* ConfigurationAttributeTests.swift */, - OBJ_44 /* ErrorTests.swift */, - OBJ_45 /* GeneratorTests.swift */, - OBJ_46 /* InspectorTests.swift */, - OBJ_47 /* LexerTests.swift */, - OBJ_48 /* ParserTests.swift */, - OBJ_49 /* SourceKitDeclarationTests.swift */, - 19506C4920DDC39D0068B8A6 /* TypeTests.swift */, + OBJ_46 /* ConfigurationAttributeTests.swift */, + OBJ_47 /* ErrorTests.swift */, + OBJ_48 /* GeneratorTests.swift */, + OBJ_49 /* InspectorTests.swift */, + OBJ_50 /* LexerTests.swift */, + OBJ_51 /* ParserTests.swift */, + OBJ_52 /* SourceKitDeclarationTests.swift */, + OBJ_53 /* TypeTests.swift */, ); name = WeaverCodeGenTests; path = Tests/WeaverCodeGenTests; sourceTree = SOURCE_ROOT; }; - OBJ_5 = { + OBJ_5 /* */ = { isa = PBXGroup; children = ( OBJ_6 /* Package.swift */, OBJ_7 /* Sources */, - OBJ_36 /* Tests */, - OBJ_50 /* Documentation */, - OBJ_51 /* tools */, - OBJ_52 /* Resources */, - OBJ_53 /* Sample */, - OBJ_54 /* build */, - OBJ_55 /* Dependencies */, - OBJ_180 /* Products */, - ); - sourceTree = ""; - }; - OBJ_55 /* Dependencies */ = { - isa = PBXGroup; - children = ( - OBJ_56 /* Stencil 0.11.0 */, - OBJ_77 /* PathKit 0.9.1 */, - OBJ_80 /* Commander 0.8.0 */, - OBJ_92 /* Spectre 0.8.0 */, - OBJ_103 /* SourceKitten 0.20.0 */, - OBJ_144 /* Yams 0.7.0 */, - OBJ_175 /* SWXMLHash 4.6.0 */, - ); - name = Dependencies; + OBJ_44 /* Tests */, + OBJ_60 /* Documentation */, + OBJ_61 /* tools */, + OBJ_62 /* Resources */, + OBJ_63 /* Sample */, + OBJ_64 /* build */, + OBJ_65 /* Dependencies */, + OBJ_204 /* Products */, + ); + name = ""; sourceTree = ""; }; - OBJ_56 /* Stencil 0.11.0 */ = { - isa = PBXGroup; - children = ( - OBJ_57 /* Package.swift */, - OBJ_58 /* Context.swift */, - OBJ_59 /* Environment.swift */, - OBJ_60 /* Errors.swift */, - OBJ_61 /* Expression.swift */, - OBJ_62 /* Extension.swift */, - OBJ_63 /* FilterTag.swift */, - OBJ_64 /* Filters.swift */, - OBJ_65 /* ForTag.swift */, - OBJ_66 /* IfTag.swift */, - OBJ_67 /* Include.swift */, - OBJ_68 /* Inheritence.swift */, - OBJ_69 /* Lexer.swift */, - OBJ_70 /* Loader.swift */, - OBJ_71 /* Node.swift */, - OBJ_72 /* NowTag.swift */, - OBJ_73 /* Parser.swift */, - OBJ_74 /* Template.swift */, - OBJ_75 /* Tokenizer.swift */, - OBJ_76 /* Variable.swift */, - ); - name = "Stencil 0.11.0"; - path = ".build/checkouts/Stencil.git-7635584243355970173/Sources"; - sourceTree = SOURCE_ROOT; - }; - OBJ_7 /* Sources */ = { + OBJ_54 /* WeaverDITests */ = { isa = PBXGroup; children = ( - OBJ_8 /* WeaverDI */, - OBJ_17 /* WeaverCodeGen */, - OBJ_32 /* WeaverCommand */, + OBJ_55 /* BuilderKeyTests.swift */, + OBJ_56 /* BuilderStoreTests.swift */, + OBJ_57 /* BuilderTests.swift */, + OBJ_58 /* DependencyContainerTests.swift */, + OBJ_59 /* Spies.swift */, ); - name = Sources; + name = WeaverDITests; + path = Tests/WeaverDITests; sourceTree = SOURCE_ROOT; }; - OBJ_77 /* PathKit 0.9.1 */ = { + OBJ_65 /* Dependencies */ = { isa = PBXGroup; children = ( - OBJ_78 /* Package.swift */, - OBJ_79 /* PathKit.swift */, + OBJ_66 /* StencilSwiftKit 2.5.0 */, + OBJ_80 /* Stencil 0.11.0 */, + OBJ_101 /* PathKit 0.9.1 */, + OBJ_104 /* Commander 0.8.0 */, + OBJ_116 /* Spectre 0.8.0 */, + OBJ_127 /* SourceKitten 0.21.0 */, + OBJ_168 /* Yams 0.7.0 */, + OBJ_199 /* SWXMLHash 4.6.0 */, ); - name = "PathKit 0.9.1"; - path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; - sourceTree = SOURCE_ROOT; + name = Dependencies; + sourceTree = ""; }; - OBJ_8 /* WeaverDI */ = { + OBJ_66 /* StencilSwiftKit 2.5.0 */ = { isa = PBXGroup; children = ( - 1917D60C20CA5E4100FDA7F5 /* Builder.swift */, - OBJ_15 /* BuilderKey.swift */, - OBJ_9 /* BuilderStore.swift */, - OBJ_11 /* DependencyContainer.swift */, - OBJ_12 /* DependencyResolver.swift */, - OBJ_13 /* DependencyStore.swift */, - 1979255520CD6E100025A06D /* Instance.swift */, - OBJ_16 /* Scope.swift */, - 191EB95020FE66F3007CE644 /* Reference.swift */, + OBJ_67 /* Package.swift */, + OBJ_68 /* Sources */, ); - name = WeaverDI; - path = Sources/WeaverDI; + name = "StencilSwiftKit 2.5.0"; + path = ".build/checkouts/StencilSwiftKit.git--5335877019653034551"; sourceTree = SOURCE_ROOT; }; - OBJ_80 /* Commander 0.8.0 */ = { + OBJ_68 /* Sources */ = { isa = PBXGroup; children = ( - OBJ_81 /* Commander */, - OBJ_91 /* Package.swift */, - ); - name = "Commander 0.8.0"; - sourceTree = SOURCE_ROOT; + OBJ_69 /* CallMacroNodes.swift */, + OBJ_70 /* Context.swift */, + OBJ_71 /* Environment.swift */, + OBJ_72 /* Filters+Numbers.swift */, + OBJ_73 /* Filters+Strings.swift */, + OBJ_74 /* Filters.swift */, + OBJ_75 /* MapNode.swift */, + OBJ_76 /* Parameters.swift */, + OBJ_77 /* SetNode.swift */, + OBJ_78 /* StencilSwiftTemplate.swift */, + OBJ_79 /* SwiftIdentifier.swift */, + ); + path = Sources; + sourceTree = ""; }; - OBJ_81 /* Commander */ = { + OBJ_7 /* Sources */ = { isa = PBXGroup; children = ( - OBJ_82 /* ArgumentConvertible.swift */, - OBJ_83 /* ArgumentDescription.swift */, - OBJ_84 /* ArgumentParser.swift */, - OBJ_85 /* Command.swift */, - OBJ_86 /* CommandRunner.swift */, - OBJ_87 /* CommandType.swift */, - OBJ_88 /* Commands.swift */, - OBJ_89 /* Error.swift */, - OBJ_90 /* Group.swift */, + OBJ_8 /* WeaverCommand */, + OBJ_12 /* WeaverCodeGen */, + OBJ_34 /* WeaverDI */, ); - name = Commander; - path = ".build/checkouts/Commander.git-8842944228949165507/Sources/Commander"; + name = Sources; sourceTree = SOURCE_ROOT; }; - OBJ_92 /* Spectre 0.8.0 */ = { + OBJ_8 /* WeaverCommand */ = { isa = PBXGroup; children = ( - OBJ_93 /* Spectre */, - OBJ_102 /* Package.swift */, + OBJ_9 /* Arguments.swift */, + OBJ_10 /* Logger.swift */, + OBJ_11 /* main.swift */, ); - name = "Spectre 0.8.0"; + name = WeaverCommand; + path = Sources/WeaverCommand; sourceTree = SOURCE_ROOT; }; - OBJ_93 /* Spectre */ = { + OBJ_80 /* Stencil 0.11.0 */ = { isa = PBXGroup; children = ( - OBJ_94 /* Case.swift */, - OBJ_95 /* Context.swift */, - OBJ_96 /* Expectation.swift */, - OBJ_97 /* Failure.swift */, - OBJ_98 /* Global.swift */, - OBJ_99 /* GlobalContext.swift */, - OBJ_100 /* Reporter.swift */, - OBJ_101 /* Reporters.swift */, + OBJ_81 /* Package.swift */, + OBJ_82 /* Context.swift */, + OBJ_83 /* Environment.swift */, + OBJ_84 /* Errors.swift */, + OBJ_85 /* Expression.swift */, + OBJ_86 /* Extension.swift */, + OBJ_87 /* FilterTag.swift */, + OBJ_88 /* Filters.swift */, + OBJ_89 /* ForTag.swift */, + OBJ_90 /* IfTag.swift */, + OBJ_91 /* Include.swift */, + OBJ_92 /* Inheritence.swift */, + OBJ_93 /* Lexer.swift */, + OBJ_94 /* Loader.swift */, + OBJ_95 /* Node.swift */, + OBJ_96 /* NowTag.swift */, + OBJ_97 /* Parser.swift */, + OBJ_98 /* Template.swift */, + OBJ_99 /* Tokenizer.swift */, + OBJ_100 /* Variable.swift */, ); - name = Spectre; - path = ".build/checkouts/Spectre.git--7655155069707042687/Sources/Spectre"; + name = "Stencil 0.11.0"; + path = ".build/checkouts/Stencil.git-7635584243355970173/Sources"; sourceTree = SOURCE_ROOT; }; /* End PBXGroup section */ @@ -1163,10 +1280,10 @@ /* Begin PBXNativeTarget section */ "Commander::Commander" /* Commander */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_281 /* Build configuration list for PBXNativeTarget "Commander" */; + buildConfigurationList = OBJ_232 /* Build configuration list for PBXNativeTarget "Commander" */; buildPhases = ( - OBJ_284 /* Sources */, - OBJ_294 /* Frameworks */, + OBJ_235 /* Sources */, + OBJ_245 /* Frameworks */, ); buildRules = ( ); @@ -1179,9 +1296,9 @@ }; "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_213 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; + buildConfigurationList = OBJ_247 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; buildPhases = ( - OBJ_216 /* Sources */, + OBJ_250 /* Sources */, ); buildRules = ( ); @@ -1193,10 +1310,10 @@ }; "PathKit::PathKit" /* PathKit */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_401 /* Build configuration list for PBXNativeTarget "PathKit" */; + buildConfigurationList = OBJ_253 /* Build configuration list for PBXNativeTarget "PathKit" */; buildPhases = ( - OBJ_404 /* Sources */, - OBJ_406 /* Frameworks */, + OBJ_256 /* Sources */, + OBJ_258 /* Frameworks */, ); buildRules = ( ); @@ -1209,9 +1326,9 @@ }; "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_207 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; + buildConfigurationList = OBJ_260 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; buildPhases = ( - OBJ_210 /* Sources */, + OBJ_263 /* Sources */, ); buildRules = ( ); @@ -1223,10 +1340,10 @@ }; "SWXMLHash::SWXMLHash" /* SWXMLHash */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_489 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; + buildConfigurationList = OBJ_266 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; buildPhases = ( - OBJ_492 /* Sources */, - OBJ_496 /* Frameworks */, + OBJ_269 /* Sources */, + OBJ_273 /* Frameworks */, ); buildRules = ( ); @@ -1239,9 +1356,9 @@ }; "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_237 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; + buildConfigurationList = OBJ_275 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; buildPhases = ( - OBJ_240 /* Sources */, + OBJ_278 /* Sources */, ); buildRules = ( ); @@ -1253,17 +1370,17 @@ }; "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_407 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; + buildConfigurationList = OBJ_281 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; buildPhases = ( - OBJ_410 /* Sources */, - OBJ_448 /* Frameworks */, + OBJ_284 /* Sources */, + OBJ_322 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_452 /* PBXTargetDependency */, - OBJ_453 /* PBXTargetDependency */, - OBJ_454 /* PBXTargetDependency */, + OBJ_326 /* PBXTargetDependency */, + OBJ_328 /* PBXTargetDependency */, + OBJ_329 /* PBXTargetDependency */, ); name = SourceKittenFramework; productName = SourceKittenFramework; @@ -1272,9 +1389,9 @@ }; "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_225 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; + buildConfigurationList = OBJ_331 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; buildPhases = ( - OBJ_228 /* Sources */, + OBJ_334 /* Sources */, ); buildRules = ( ); @@ -1286,10 +1403,10 @@ }; "Spectre::Spectre" /* Spectre */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_388 /* Build configuration list for PBXNativeTarget "Spectre" */; + buildConfigurationList = OBJ_337 /* Build configuration list for PBXNativeTarget "Spectre" */; buildPhases = ( - OBJ_391 /* Sources */, - OBJ_400 /* Frameworks */, + OBJ_340 /* Sources */, + OBJ_349 /* Frameworks */, ); buildRules = ( ); @@ -1302,9 +1419,9 @@ }; "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_219 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; + buildConfigurationList = OBJ_351 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; buildPhases = ( - OBJ_222 /* Sources */, + OBJ_354 /* Sources */, ); buildRules = ( ); @@ -1316,16 +1433,16 @@ }; "Stencil::Stencil" /* Stencil */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_360 /* Build configuration list for PBXNativeTarget "Stencil" */; + buildConfigurationList = OBJ_357 /* Build configuration list for PBXNativeTarget "Stencil" */; buildPhases = ( - OBJ_363 /* Sources */, - OBJ_383 /* Frameworks */, + OBJ_360 /* Sources */, + OBJ_380 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_386 /* PBXTargetDependency */, - OBJ_387 /* PBXTargetDependency */, + OBJ_383 /* PBXTargetDependency */, + OBJ_384 /* PBXTargetDependency */, ); name = Stencil; productName = Stencil; @@ -1334,9 +1451,9 @@ }; "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_201 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; + buildConfigurationList = OBJ_386 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; buildPhases = ( - OBJ_204 /* Sources */, + OBJ_389 /* Sources */, ); buildRules = ( ); @@ -1346,11 +1463,44 @@ productName = StencilPackageDescription; productType = "com.apple.product-type.framework"; }; + "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_392 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */; + buildPhases = ( + OBJ_395 /* Sources */, + OBJ_407 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + OBJ_411 /* PBXTargetDependency */, + OBJ_412 /* PBXTargetDependency */, + OBJ_413 /* PBXTargetDependency */, + ); + name = StencilSwiftKit; + productName = StencilSwiftKit; + productReference = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; + productType = "com.apple.product-type.framework"; + }; + "StencilSwiftKit::SwiftPMPackageDescription" /* StencilSwiftKitPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_415 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */; + buildPhases = ( + OBJ_418 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StencilSwiftKitPackageDescription; + productName = StencilSwiftKitPackageDescription; + productType = "com.apple.product-type.framework"; + }; "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_195 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */; + buildConfigurationList = OBJ_546 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */; buildPhases = ( - OBJ_198 /* Sources */, + OBJ_549 /* Sources */, ); buildRules = ( ); @@ -1362,23 +1512,23 @@ }; "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_325 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; + buildConfigurationList = OBJ_421 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; buildPhases = ( - 19F3CD5620BF3851007C3076 /* Generate Sources */, - OBJ_328 /* Sources */, - OBJ_343 /* Frameworks */, + OBJ_424 /* Sources */, + OBJ_446 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_352 /* PBXTargetDependency */, - OBJ_353 /* PBXTargetDependency */, - OBJ_354 /* PBXTargetDependency */, - OBJ_355 /* PBXTargetDependency */, - OBJ_356 /* PBXTargetDependency */, - OBJ_357 /* PBXTargetDependency */, - OBJ_358 /* PBXTargetDependency */, - OBJ_359 /* PBXTargetDependency */, + OBJ_456 /* PBXTargetDependency */, + OBJ_457 /* PBXTargetDependency */, + OBJ_458 /* PBXTargetDependency */, + OBJ_459 /* PBXTargetDependency */, + OBJ_460 /* PBXTargetDependency */, + OBJ_461 /* PBXTargetDependency */, + OBJ_462 /* PBXTargetDependency */, + OBJ_463 /* PBXTargetDependency */, + OBJ_464 /* PBXTargetDependency */, ); name = WeaverCodeGen; productName = WeaverCodeGen; @@ -1387,23 +1537,24 @@ }; "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_296 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; + buildConfigurationList = OBJ_467 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; buildPhases = ( - OBJ_299 /* Sources */, - OBJ_306 /* Frameworks */, + OBJ_470 /* Sources */, + OBJ_479 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_316 /* PBXTargetDependency */, - OBJ_317 /* PBXTargetDependency */, - OBJ_318 /* PBXTargetDependency */, - OBJ_319 /* PBXTargetDependency */, - OBJ_320 /* PBXTargetDependency */, - OBJ_321 /* PBXTargetDependency */, - OBJ_322 /* PBXTargetDependency */, - OBJ_323 /* PBXTargetDependency */, - OBJ_324 /* PBXTargetDependency */, + OBJ_490 /* PBXTargetDependency */, + OBJ_491 /* PBXTargetDependency */, + OBJ_492 /* PBXTargetDependency */, + OBJ_493 /* PBXTargetDependency */, + OBJ_494 /* PBXTargetDependency */, + OBJ_495 /* PBXTargetDependency */, + OBJ_496 /* PBXTargetDependency */, + OBJ_497 /* PBXTargetDependency */, + OBJ_498 /* PBXTargetDependency */, + OBJ_499 /* PBXTargetDependency */, ); name = WeaverCodeGenTests; productName = WeaverCodeGenTests; @@ -1412,24 +1563,25 @@ }; "WeaverDI::WeaverCommand" /* WeaverCommand */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_243 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; + buildConfigurationList = OBJ_501 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; buildPhases = ( - OBJ_246 /* Sources */, - OBJ_250 /* Frameworks */, + OBJ_504 /* Sources */, + OBJ_508 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_261 /* PBXTargetDependency */, - OBJ_263 /* PBXTargetDependency */, - OBJ_265 /* PBXTargetDependency */, - OBJ_267 /* PBXTargetDependency */, - OBJ_269 /* PBXTargetDependency */, - OBJ_271 /* PBXTargetDependency */, - OBJ_273 /* PBXTargetDependency */, - OBJ_275 /* PBXTargetDependency */, - OBJ_277 /* PBXTargetDependency */, - OBJ_279 /* PBXTargetDependency */, + OBJ_520 /* PBXTargetDependency */, + OBJ_521 /* PBXTargetDependency */, + OBJ_522 /* PBXTargetDependency */, + OBJ_523 /* PBXTargetDependency */, + OBJ_524 /* PBXTargetDependency */, + OBJ_525 /* PBXTargetDependency */, + OBJ_526 /* PBXTargetDependency */, + OBJ_527 /* PBXTargetDependency */, + OBJ_528 /* PBXTargetDependency */, + OBJ_529 /* PBXTargetDependency */, + OBJ_530 /* PBXTargetDependency */, ); name = WeaverCommand; productName = WeaverCommand; @@ -1438,10 +1590,10 @@ }; "WeaverDI::WeaverDI" /* WeaverDI */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_510 /* Build configuration list for PBXNativeTarget "WeaverDI" */; + buildConfigurationList = OBJ_531 /* Build configuration list for PBXNativeTarget "WeaverDI" */; buildPhases = ( - OBJ_513 /* Sources */, - OBJ_522 /* Frameworks */, + OBJ_534 /* Sources */, + OBJ_544 /* Frameworks */, ); buildRules = ( ); @@ -1454,15 +1606,15 @@ }; "WeaverDI::WeaverDITests" /* WeaverDITests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_498 /* Build configuration list for PBXNativeTarget "WeaverDITests" */; + buildConfigurationList = OBJ_558 /* Build configuration list for PBXNativeTarget "WeaverDITests" */; buildPhases = ( - OBJ_501 /* Sources */, - OBJ_507 /* Frameworks */, + OBJ_561 /* Sources */, + OBJ_567 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_509 /* PBXTargetDependency */, + OBJ_569 /* PBXTargetDependency */, ); name = WeaverDITests; productName = WeaverDITests; @@ -1471,10 +1623,10 @@ }; "Yams::CYaml" /* CYaml */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_478 /* Build configuration list for PBXNativeTarget "CYaml" */; + buildConfigurationList = OBJ_220 /* Build configuration list for PBXNativeTarget "CYaml" */; buildPhases = ( - OBJ_481 /* Sources */, - OBJ_488 /* Frameworks */, + OBJ_223 /* Sources */, + OBJ_230 /* Frameworks */, ); buildRules = ( ); @@ -1487,9 +1639,9 @@ }; "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_231 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; + buildConfigurationList = OBJ_594 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; buildPhases = ( - OBJ_234 /* Sources */, + OBJ_597 /* Sources */, ); buildRules = ( ); @@ -1501,15 +1653,15 @@ }; "Yams::Yams" /* Yams */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_455 /* Build configuration list for PBXNativeTarget "Yams" */; + buildConfigurationList = OBJ_570 /* Build configuration list for PBXNativeTarget "Yams" */; buildPhases = ( - OBJ_458 /* Sources */, - OBJ_475 /* Frameworks */, + OBJ_573 /* Sources */, + OBJ_590 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_477 /* PBXTargetDependency */, + OBJ_592 /* PBXTargetDependency */, ); name = Yams; productName = Yams; @@ -1531,736 +1683,763 @@ knownRegions = ( en, ); - mainGroup = OBJ_5; - productRefGroup = OBJ_180 /* Products */; + mainGroup = OBJ_5 /* */; + productRefGroup = OBJ_204 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */, - "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */, - "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */, - "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */, - "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */, - "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */, - "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */, - "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */, - "WeaverDI::WeaverCommand" /* WeaverCommand */, + "Yams::CYaml" /* CYaml */, "Commander::Commander" /* Commander */, - "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */, - "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */, - "Stencil::Stencil" /* Stencil */, - "Spectre::Spectre" /* Spectre */, + "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */, "PathKit::PathKit" /* PathKit */, - "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */, - "Yams::Yams" /* Yams */, - "Yams::CYaml" /* CYaml */, + "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */, "SWXMLHash::SWXMLHash" /* SWXMLHash */, - "WeaverDI::WeaverDITests" /* WeaverDITests */, + "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */, + "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */, + "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */, + "Spectre::Spectre" /* Spectre */, + "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */, + "Stencil::Stencil" /* Stencil */, + "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */, + "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */, + "StencilSwiftKit::SwiftPMPackageDescription" /* StencilSwiftKitPackageDescription */, + "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */, + "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */, + "WeaverDI::WeaverCommand" /* WeaverCommand */, "WeaverDI::WeaverDI" /* WeaverDI */, + "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */, "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */, + "WeaverDI::WeaverDITests" /* WeaverDITests */, + "Yams::Yams" /* Yams */, + "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */, ); }; /* End PBXProject section */ -/* Begin PBXShellScriptBuildPhase section */ - 19F3CD5620BF3851007C3076 /* Generate Sources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; +/* Begin PBXSourcesBuildPhase section */ + OBJ_223 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; files = ( + OBJ_224 /* api.c in Sources */, + OBJ_225 /* emitter.c in Sources */, + OBJ_226 /* parser.c in Sources */, + OBJ_227 /* reader.c in Sources */, + OBJ_228 /* scanner.c in Sources */, + OBJ_229 /* writer.c in Sources */, ); - inputPaths = ( - ); - name = "Generate Sources"; - outputPaths = ( + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_235 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_236 /* ArgumentConvertible.swift in Sources */, + OBJ_237 /* ArgumentDescription.swift in Sources */, + OBJ_238 /* ArgumentParser.swift in Sources */, + OBJ_239 /* Command.swift in Sources */, + OBJ_240 /* CommandRunner.swift in Sources */, + OBJ_241 /* CommandType.swift in Sources */, + OBJ_242 /* Commands.swift in Sources */, + OBJ_243 /* Error.swift in Sources */, + OBJ_244 /* Group.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make generate_sources\n"; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - OBJ_198 /* Sources */ = { + OBJ_250 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_199 /* Package.swift in Sources */, + OBJ_251 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_204 /* Sources */ = { + OBJ_256 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_205 /* Package.swift in Sources */, + OBJ_257 /* PathKit.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_210 /* Sources */ = { + OBJ_263 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_211 /* Package.swift in Sources */, + OBJ_264 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_216 /* Sources */ = { + OBJ_269 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_217 /* Package.swift in Sources */, + OBJ_270 /* SWXMLHash+TypeConversion.swift in Sources */, + OBJ_271 /* SWXMLHash.swift in Sources */, + OBJ_272 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_222 /* Sources */ = { + OBJ_278 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_223 /* Package.swift in Sources */, + OBJ_279 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_228 /* Sources */ = { + OBJ_284 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_229 /* Package.swift in Sources */, + OBJ_285 /* Clang+SourceKitten.swift in Sources */, + OBJ_286 /* ClangTranslationUnit.swift in Sources */, + OBJ_287 /* CodeCompletionItem.swift in Sources */, + OBJ_288 /* Dictionary+Merge.swift in Sources */, + OBJ_289 /* Documentation.swift in Sources */, + OBJ_290 /* File.swift in Sources */, + OBJ_291 /* JSONOutput.swift in Sources */, + OBJ_292 /* Language.swift in Sources */, + OBJ_293 /* LinuxCompatibility.swift in Sources */, + OBJ_294 /* Module.swift in Sources */, + OBJ_295 /* ObjCDeclarationKind.swift in Sources */, + OBJ_296 /* OffsetMap.swift in Sources */, + OBJ_297 /* Parameter.swift in Sources */, + OBJ_298 /* Request.swift in Sources */, + OBJ_299 /* SourceDeclaration.swift in Sources */, + OBJ_300 /* SourceKitObject.swift in Sources */, + OBJ_301 /* SourceLocation.swift in Sources */, + OBJ_302 /* StatementKind.swift in Sources */, + OBJ_303 /* String+SourceKitten.swift in Sources */, + OBJ_304 /* Structure.swift in Sources */, + OBJ_305 /* SwiftDeclarationAttributeKind.swift in Sources */, + OBJ_306 /* SwiftDeclarationKind.swift in Sources */, + OBJ_307 /* SwiftDocKey.swift in Sources */, + OBJ_308 /* SwiftDocs.swift in Sources */, + OBJ_309 /* SyntaxKind.swift in Sources */, + OBJ_310 /* SyntaxMap.swift in Sources */, + OBJ_311 /* SyntaxToken.swift in Sources */, + OBJ_312 /* Text.swift in Sources */, + OBJ_313 /* UID.swift in Sources */, + OBJ_314 /* Version.swift in Sources */, + OBJ_315 /* Xcode.swift in Sources */, + OBJ_316 /* library_wrapper.swift in Sources */, + OBJ_317 /* library_wrapper_CXString.swift in Sources */, + OBJ_318 /* library_wrapper_Documentation.swift in Sources */, + OBJ_319 /* library_wrapper_Index.swift in Sources */, + OBJ_320 /* library_wrapper_sourcekitd.swift in Sources */, + OBJ_321 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_234 /* Sources */ = { + OBJ_334 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_235 /* Package.swift in Sources */, + OBJ_335 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_240 /* Sources */ = { + OBJ_340 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_241 /* Package.swift in Sources */, + OBJ_341 /* Case.swift in Sources */, + OBJ_342 /* Context.swift in Sources */, + OBJ_343 /* Expectation.swift in Sources */, + OBJ_344 /* Failure.swift in Sources */, + OBJ_345 /* Global.swift in Sources */, + OBJ_346 /* GlobalContext.swift in Sources */, + OBJ_347 /* Reporter.swift in Sources */, + OBJ_348 /* Reporters.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_246 /* Sources */ = { + OBJ_354 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_247 /* Arguments.swift in Sources */, - OBJ_248 /* Logger.swift in Sources */, - OBJ_249 /* main.swift in Sources */, + OBJ_355 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_284 /* Sources */ = { + OBJ_360 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_285 /* ArgumentConvertible.swift in Sources */, - OBJ_286 /* ArgumentDescription.swift in Sources */, - OBJ_287 /* ArgumentParser.swift in Sources */, - OBJ_288 /* Command.swift in Sources */, - OBJ_289 /* CommandRunner.swift in Sources */, - OBJ_290 /* CommandType.swift in Sources */, - OBJ_291 /* Commands.swift in Sources */, - OBJ_292 /* Error.swift in Sources */, - OBJ_293 /* Group.swift in Sources */, + OBJ_361 /* Context.swift in Sources */, + OBJ_362 /* Environment.swift in Sources */, + OBJ_363 /* Errors.swift in Sources */, + OBJ_364 /* Expression.swift in Sources */, + OBJ_365 /* Extension.swift in Sources */, + OBJ_366 /* FilterTag.swift in Sources */, + OBJ_367 /* Filters.swift in Sources */, + OBJ_368 /* ForTag.swift in Sources */, + OBJ_369 /* IfTag.swift in Sources */, + OBJ_370 /* Include.swift in Sources */, + OBJ_371 /* Inheritence.swift in Sources */, + OBJ_372 /* Lexer.swift in Sources */, + OBJ_373 /* Loader.swift in Sources */, + OBJ_374 /* Node.swift in Sources */, + OBJ_375 /* NowTag.swift in Sources */, + OBJ_376 /* Parser.swift in Sources */, + OBJ_377 /* Template.swift in Sources */, + OBJ_378 /* Tokenizer.swift in Sources */, + OBJ_379 /* Variable.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_299 /* Sources */ = { + OBJ_389 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_300 /* ErrorTests.swift in Sources */, - 194F90CB20CDC50400F594F5 /* ConfigurationAttributeTests.swift in Sources */, - OBJ_301 /* GeneratorTests.swift in Sources */, - OBJ_302 /* InspectorTests.swift in Sources */, - OBJ_303 /* LexerTests.swift in Sources */, - OBJ_304 /* ParserTests.swift in Sources */, - OBJ_305 /* SourceKitDeclarationTests.swift in Sources */, - 19506C4A20DDC39D0068B8A6 /* TypeTests.swift in Sources */, + OBJ_390 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_328 /* Sources */ = { + OBJ_395 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 19F3CD6820C43F32007C3076 /* shim-swift-4.1.swift in Sources */, - OBJ_329 /* AccessLevel.swift in Sources */, - OBJ_330 /* AutoEquatable.generated.swift in Sources */, - OBJ_331 /* AutoHashable.generated.swift in Sources */, - 19303FCC20F9025F003584E9 /* Graph.swift in Sources */, - OBJ_332 /* AutoTypes.swift in Sources */, - OBJ_333 /* ConfigurationAttribute.swift in Sources */, - 190C26E920C9930E009128AA /* Configuration.swift in Sources */, - OBJ_334 /* Error.swift in Sources */, - OBJ_335 /* Expr.swift in Sources */, - 19303FCE20F909C0003584E9 /* Linker.swift in Sources */, - OBJ_336 /* Generator.swift in Sources */, - 1958492620D4678900BB1F09 /* OrderedDictionary.swift in Sources */, - OBJ_337 /* Inspector.swift in Sources */, - OBJ_338 /* Lexer.swift in Sources */, - 19506C4820DDC27F0068B8A6 /* RegexUtils.swift in Sources */, - OBJ_339 /* Parser.swift in Sources */, - OBJ_340 /* Scope.swift in Sources */, - OBJ_341 /* SourceKitDeclaration.swift in Sources */, - OBJ_342 /* Token.swift in Sources */, - 19506C4620DDC1B10068B8A6 /* Type.swift in Sources */, + OBJ_396 /* CallMacroNodes.swift in Sources */, + OBJ_397 /* Context.swift in Sources */, + OBJ_398 /* Environment.swift in Sources */, + OBJ_399 /* Filters+Numbers.swift in Sources */, + OBJ_400 /* Filters+Strings.swift in Sources */, + OBJ_401 /* Filters.swift in Sources */, + OBJ_402 /* MapNode.swift in Sources */, + OBJ_403 /* Parameters.swift in Sources */, + OBJ_404 /* SetNode.swift in Sources */, + OBJ_405 /* StencilSwiftTemplate.swift in Sources */, + OBJ_406 /* SwiftIdentifier.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_363 /* Sources */ = { + OBJ_418 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_364 /* Context.swift in Sources */, - OBJ_365 /* Environment.swift in Sources */, - OBJ_366 /* Errors.swift in Sources */, - OBJ_367 /* Expression.swift in Sources */, - OBJ_368 /* Extension.swift in Sources */, - OBJ_369 /* FilterTag.swift in Sources */, - OBJ_370 /* Filters.swift in Sources */, - OBJ_371 /* ForTag.swift in Sources */, - OBJ_372 /* IfTag.swift in Sources */, - OBJ_373 /* Include.swift in Sources */, - OBJ_374 /* Inheritence.swift in Sources */, - OBJ_375 /* Lexer.swift in Sources */, - OBJ_376 /* Loader.swift in Sources */, - OBJ_377 /* Node.swift in Sources */, - OBJ_378 /* NowTag.swift in Sources */, - OBJ_379 /* Parser.swift in Sources */, - OBJ_380 /* Template.swift in Sources */, - OBJ_381 /* Tokenizer.swift in Sources */, - OBJ_382 /* Variable.swift in Sources */, + OBJ_419 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_391 /* Sources */ = { + OBJ_424 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_392 /* Case.swift in Sources */, - OBJ_393 /* Context.swift in Sources */, - OBJ_394 /* Expectation.swift in Sources */, - OBJ_395 /* Failure.swift in Sources */, - OBJ_396 /* Global.swift in Sources */, - OBJ_397 /* GlobalContext.swift in Sources */, - OBJ_398 /* Reporter.swift in Sources */, - OBJ_399 /* Reporters.swift in Sources */, + OBJ_425 /* AccessLevel.swift in Sources */, + OBJ_426 /* AutoEquatable.generated.swift in Sources */, + OBJ_427 /* AutoHashable.generated.swift in Sources */, + OBJ_428 /* AutoTypes.swift in Sources */, + OBJ_429 /* Configuration.swift in Sources */, + OBJ_430 /* ConfigurationAttribute.swift in Sources */, + OBJ_431 /* Error.swift in Sources */, + OBJ_432 /* Expr.swift in Sources */, + OBJ_433 /* Generator.swift in Sources */, + OBJ_434 /* Graph.swift in Sources */, + OBJ_435 /* Inspector.swift in Sources */, + OBJ_436 /* Lexer.swift in Sources */, + OBJ_437 /* Linker.swift in Sources */, + OBJ_438 /* OrderedDictionary.swift in Sources */, + OBJ_439 /* Parser.swift in Sources */, + OBJ_440 /* RegexUtils.swift in Sources */, + OBJ_441 /* Scope.swift in Sources */, + OBJ_442 /* SourceKitDeclaration.swift in Sources */, + OBJ_443 /* Token.swift in Sources */, + OBJ_444 /* Type.swift in Sources */, + OBJ_445 /* shim-swift-4.1.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_404 /* Sources */ = { + OBJ_470 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_405 /* PathKit.swift in Sources */, + OBJ_471 /* ConfigurationAttributeTests.swift in Sources */, + OBJ_472 /* ErrorTests.swift in Sources */, + OBJ_473 /* GeneratorTests.swift in Sources */, + OBJ_474 /* InspectorTests.swift in Sources */, + OBJ_475 /* LexerTests.swift in Sources */, + OBJ_476 /* ParserTests.swift in Sources */, + OBJ_477 /* SourceKitDeclarationTests.swift in Sources */, + OBJ_478 /* TypeTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_410 /* Sources */ = { + OBJ_504 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_411 /* Clang+SourceKitten.swift in Sources */, - OBJ_412 /* ClangTranslationUnit.swift in Sources */, - OBJ_413 /* CodeCompletionItem.swift in Sources */, - OBJ_414 /* Dictionary+Merge.swift in Sources */, - OBJ_415 /* Documentation.swift in Sources */, - OBJ_416 /* File.swift in Sources */, - OBJ_417 /* JSONOutput.swift in Sources */, - OBJ_418 /* Language.swift in Sources */, - OBJ_419 /* LinuxCompatibility.swift in Sources */, - OBJ_420 /* Module.swift in Sources */, - OBJ_421 /* ObjCDeclarationKind.swift in Sources */, - OBJ_422 /* OffsetMap.swift in Sources */, - OBJ_423 /* Parameter.swift in Sources */, - OBJ_424 /* Request.swift in Sources */, - OBJ_425 /* SourceDeclaration.swift in Sources */, - OBJ_426 /* SourceKitObject.swift in Sources */, - OBJ_427 /* SourceLocation.swift in Sources */, - OBJ_428 /* StatementKind.swift in Sources */, - OBJ_429 /* String+SourceKitten.swift in Sources */, - OBJ_430 /* Structure.swift in Sources */, - OBJ_431 /* SwiftDeclarationAttributeKind.swift in Sources */, - OBJ_432 /* SwiftDeclarationKind.swift in Sources */, - OBJ_433 /* SwiftDocKey.swift in Sources */, - OBJ_434 /* SwiftDocs.swift in Sources */, - OBJ_435 /* SyntaxKind.swift in Sources */, - OBJ_436 /* SyntaxMap.swift in Sources */, - OBJ_437 /* SyntaxToken.swift in Sources */, - OBJ_438 /* Text.swift in Sources */, - OBJ_439 /* UID.swift in Sources */, - OBJ_440 /* Version.swift in Sources */, - OBJ_441 /* Xcode.swift in Sources */, - OBJ_442 /* library_wrapper.swift in Sources */, - OBJ_443 /* library_wrapper_CXString.swift in Sources */, - OBJ_444 /* library_wrapper_Documentation.swift in Sources */, - OBJ_445 /* library_wrapper_Index.swift in Sources */, - OBJ_446 /* library_wrapper_sourcekitd.swift in Sources */, - OBJ_447 /* shim.swift in Sources */, + OBJ_505 /* Arguments.swift in Sources */, + OBJ_506 /* Logger.swift in Sources */, + OBJ_507 /* main.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_458 /* Sources */ = { + OBJ_534 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_459 /* Constructor.swift in Sources */, - OBJ_460 /* Decoder.swift in Sources */, - OBJ_461 /* Emitter.swift in Sources */, - OBJ_462 /* Encoder.swift in Sources */, - OBJ_463 /* Mark.swift in Sources */, - OBJ_464 /* Node.Mapping.swift in Sources */, - OBJ_465 /* Node.Scalar.swift in Sources */, - OBJ_466 /* Node.Sequence.swift in Sources */, - OBJ_467 /* Node.swift in Sources */, - OBJ_468 /* Parser.swift in Sources */, - OBJ_469 /* Representer.swift in Sources */, - OBJ_470 /* Resolver.swift in Sources */, - OBJ_471 /* String+Yams.swift in Sources */, - OBJ_472 /* Tag.swift in Sources */, - OBJ_473 /* YamlError.swift in Sources */, - OBJ_474 /* shim.swift in Sources */, + OBJ_535 /* Builder.swift in Sources */, + OBJ_536 /* BuilderKey.swift in Sources */, + OBJ_537 /* BuilderStore.swift in Sources */, + OBJ_538 /* DependencyContainer.swift in Sources */, + OBJ_539 /* DependencyResolver.swift in Sources */, + OBJ_540 /* DependencyStore.swift in Sources */, + OBJ_541 /* Instance.swift in Sources */, + OBJ_542 /* Reference.swift in Sources */, + OBJ_543 /* Scope.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_481 /* Sources */ = { + OBJ_549 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_482 /* api.c in Sources */, - OBJ_483 /* emitter.c in Sources */, - OBJ_484 /* parser.c in Sources */, - OBJ_485 /* reader.c in Sources */, - OBJ_486 /* scanner.c in Sources */, - OBJ_487 /* writer.c in Sources */, + OBJ_550 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_492 /* Sources */ = { + OBJ_561 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_493 /* SWXMLHash+TypeConversion.swift in Sources */, - OBJ_494 /* SWXMLHash.swift in Sources */, - OBJ_495 /* shim.swift in Sources */, + OBJ_562 /* BuilderKeyTests.swift in Sources */, + OBJ_563 /* BuilderStoreTests.swift in Sources */, + OBJ_564 /* BuilderTests.swift in Sources */, + OBJ_565 /* DependencyContainerTests.swift in Sources */, + OBJ_566 /* Spies.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_501 /* Sources */ = { + OBJ_573 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_502 /* BuilderStoreTests.swift in Sources */, - OBJ_503 /* DependencyContainerTests.swift in Sources */, - 1917D60F20CA5E8100FDA7F5 /* BuilderTests.swift in Sources */, - OBJ_505 /* BuilderKeyTests.swift in Sources */, - OBJ_506 /* Spies.swift in Sources */, + OBJ_574 /* Constructor.swift in Sources */, + OBJ_575 /* Decoder.swift in Sources */, + OBJ_576 /* Emitter.swift in Sources */, + OBJ_577 /* Encoder.swift in Sources */, + OBJ_578 /* Mark.swift in Sources */, + OBJ_579 /* Node.Mapping.swift in Sources */, + OBJ_580 /* Node.Scalar.swift in Sources */, + OBJ_581 /* Node.Sequence.swift in Sources */, + OBJ_582 /* Node.swift in Sources */, + OBJ_583 /* Parser.swift in Sources */, + OBJ_584 /* Representer.swift in Sources */, + OBJ_585 /* Resolver.swift in Sources */, + OBJ_586 /* String+Yams.swift in Sources */, + OBJ_587 /* Tag.swift in Sources */, + OBJ_588 /* YamlError.swift in Sources */, + OBJ_589 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_513 /* Sources */ = { + OBJ_597 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_514 /* BuilderStore.swift in Sources */, - OBJ_516 /* DependencyContainer.swift in Sources */, - OBJ_517 /* DependencyResolver.swift in Sources */, - OBJ_518 /* DependencyStore.swift in Sources */, - OBJ_520 /* BuilderKey.swift in Sources */, - OBJ_521 /* Scope.swift in Sources */, - 1979255620CD6E100025A06D /* Instance.swift in Sources */, - 191EB95120FE66F3007CE644 /* Reference.swift in Sources */, - 1917D60D20CA5E4100FDA7F5 /* Builder.swift in Sources */, + OBJ_598 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - OBJ_261 /* PBXTargetDependency */ = { + OBJ_326 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "Commander::Commander" /* Commander */; - targetProxy = 196C2A9220B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "Yams::Yams" /* Yams */; + targetProxy = 19639816210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_263 /* PBXTargetDependency */ = { + OBJ_328 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 196C2A9320B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 19639818210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_265 /* PBXTargetDependency */ = { + OBJ_329 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A9420B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; + targetProxy = 19639819210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_267 /* PBXTargetDependency */ = { + OBJ_383 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A9520B8E9B9003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963980E210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_269 /* PBXTargetDependency */ = { + OBJ_384 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A9620B8E9B9003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963980F210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_271 /* PBXTargetDependency */ = { + OBJ_411 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 196C2A9720B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_273 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A9820B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_275 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A9920B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 1963980D210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_277 /* PBXTargetDependency */ = { + OBJ_412 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A9A20B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 19639810210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_279 /* PBXTargetDependency */ = { + OBJ_413 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9B20B8E9B9003A4AC4 /* PBXContainerItemProxy */; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 19639811210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_316 /* PBXTargetDependency */ = { + OBJ_456 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 196C2A8920B8E9B8003A4AC4 /* PBXContainerItemProxy */; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 1963980C210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_317 /* PBXTargetDependency */ = { + OBJ_457 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A8A20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639812210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_318 /* PBXTargetDependency */ = { + OBJ_458 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A8B20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639813210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_319 /* PBXTargetDependency */ = { + OBJ_459 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A8C20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639814210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_320 /* PBXTargetDependency */ = { + OBJ_460 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 196C2A8D20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639815210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_321 /* PBXTargetDependency */ = { + OBJ_461 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8E20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963981A210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_322 /* PBXTargetDependency */ = { + OBJ_462 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8F20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963981B210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_323 /* PBXTargetDependency */ = { + OBJ_463 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A9020B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963981C210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_324 /* PBXTargetDependency */ = { + OBJ_464 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9120B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963981D210781EF00E818FD /* PBXContainerItemProxy */; + }; + OBJ_490 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 1963980B210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_352 /* PBXTargetDependency */ = { + OBJ_491 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 1963981E210781EF00E818FD /* PBXContainerItemProxy */; + }; + OBJ_492 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A7B20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963981F210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_353 /* PBXTargetDependency */ = { + OBJ_493 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A7E20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639820210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_354 /* PBXTargetDependency */ = { + OBJ_494 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A7F20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639821210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_355 /* PBXTargetDependency */ = { + OBJ_495 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 196C2A8020B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639822210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_356 /* PBXTargetDependency */ = { + OBJ_496 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8520B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639823210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_357 /* PBXTargetDependency */ = { + OBJ_497 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8620B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639824210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_358 /* PBXTargetDependency */ = { + OBJ_498 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A8720B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639825210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_359 /* PBXTargetDependency */ = { + OBJ_499 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A8820B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639826210781EF00E818FD /* PBXContainerItemProxy */; }; - OBJ_386 /* PBXTargetDependency */ = { + OBJ_520 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Commander::Commander" /* Commander */; + targetProxy = 19639828210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_521 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 19639829210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_522 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 1963982A210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_523 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 1963982B210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_524 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A7C20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963982C210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_387 /* PBXTargetDependency */ = { + OBJ_525 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A7D20B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963982D210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_452 /* PBXTargetDependency */ = { + OBJ_526 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; + targetProxy = 1963982E210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_527 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8120B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 1963982F210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_453 /* PBXTargetDependency */ = { + OBJ_528 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8320B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639830210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_454 /* PBXTargetDependency */ = { + OBJ_529 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A8420B8E9B8003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639831210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_477 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8220B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_509 /* PBXTargetDependency */ = { + OBJ_530 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9C20B8E9B9003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639832210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_527 /* PBXTargetDependency */ = { + OBJ_555 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "WeaverDI::WeaverDITests" /* WeaverDITests */; - targetProxy = 196C2A9D20B8E9B9003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639833210781F000E818FD /* PBXContainerItemProxy */; }; - OBJ_528 /* PBXTargetDependency */ = { + OBJ_557 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */; - targetProxy = 196C2A9E20B8E9B9003A4AC4 /* PBXContainerItemProxy */; + targetProxy = 19639834210781F000E818FD /* PBXContainerItemProxy */; + }; + OBJ_569 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "WeaverDI::WeaverDI" /* WeaverDI */; + targetProxy = 19639827210781EF00E818FD /* PBXContainerItemProxy */; + }; + OBJ_592 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 19639817210781EF00E818FD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - OBJ_196 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - OBJ_197 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - OBJ_202 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 3 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - OBJ_203 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 3 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; - OBJ_208 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - OBJ_209 /* Release */ = { + OBJ_221 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - OBJ_214 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; + DEFINES_MODULE = NO; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + ); + INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = CYaml; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + TARGET_NAME = CYaml; }; name = Debug; }; - OBJ_215 /* Release */ = { + OBJ_222 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; + DEFINES_MODULE = NO; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + ); + INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = CYaml; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + TARGET_NAME = CYaml; }; name = Release; }; - OBJ_220 /* Debug */ = { + OBJ_233 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = Commander; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; + TARGET_NAME = Commander; }; name = Debug; }; - OBJ_221 /* Release */ = { + OBJ_234 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = Commander; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; + TARGET_NAME = Commander; }; name = Release; }; - OBJ_226 /* Debug */ = { + OBJ_248 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; }; name = Debug; }; - OBJ_227 /* Release */ = { + OBJ_249 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; }; name = Release; }; - OBJ_232 /* Debug */ = { + OBJ_254 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = PathKit; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; + TARGET_NAME = PathKit; }; name = Debug; }; - OBJ_233 /* Release */ = { + OBJ_255 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = PathKit; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; + TARGET_NAME = PathKit; }; name = Release; }; - OBJ_238 /* Debug */ = { + OBJ_261 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; }; name = Debug; }; - OBJ_239 /* Release */ = { + OBJ_262 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode_9.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode_9.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - OBJ_244 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; - SWIFT_FORCE_STATIC_LINK_STDLIB = NO; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCommand; - }; - name = Debug; - }; - OBJ_245 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; - SWIFT_FORCE_STATIC_LINK_STDLIB = NO; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCommand; }; name = Release; }; - OBJ_282 /* Debug */ = { + OBJ_267 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2269,20 +2448,21 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Commander; + PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Commander; + TARGET_NAME = SWXMLHash; }; name = Debug; }; - OBJ_283 /* Release */ = { + OBJ_268 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2291,23 +2471,42 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Commander; + PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Commander; + TARGET_NAME = SWXMLHash; }; name = Release; }; - OBJ_297 /* Debug */ = { + OBJ_276 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_277 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + OBJ_282 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2319,19 +2518,24 @@ "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGenTests; + TARGET_NAME = SourceKittenFramework; }; name = Debug; }; - OBJ_298 /* Release */ = { + OBJ_283 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2343,12 +2547,17 @@ "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; + INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGenTests; + TARGET_NAME = SourceKittenFramework; }; name = Release; }; @@ -2374,7 +2583,25 @@ }; name = Debug; }; - OBJ_326 /* Debug */ = { + OBJ_332 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_333 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + OBJ_338 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2382,27 +2609,22 @@ "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = Spectre; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGen; + TARGET_NAME = Spectre; }; name = Debug; }; - OBJ_327 /* Release */ = { + OBJ_339 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2410,27 +2632,40 @@ "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; + OTHER_SWIFT_FLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = Spectre; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGen; + TARGET_NAME = Spectre; }; name = Release; }; - OBJ_361 /* Debug */ = { + OBJ_352 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_353 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + OBJ_358 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2440,7 +2675,8 @@ ); HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = Stencil; @@ -2452,7 +2688,7 @@ }; name = Debug; }; - OBJ_362 /* Release */ = { + OBJ_359 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2462,7 +2698,8 @@ ); HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = Stencil; @@ -2474,7 +2711,25 @@ }; name = Release; }; - OBJ_389 /* Debug */ = { + OBJ_387 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 3 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + OBJ_388 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 3 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + OBJ_393 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2483,20 +2738,21 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/StencilSwiftKit_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Spectre; + PRODUCT_BUNDLE_IDENTIFIER = StencilSwiftKit; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Spectre; + TARGET_NAME = StencilSwiftKit; }; name = Debug; }; - OBJ_390 /* Release */ = { + OBJ_394 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2505,16 +2761,17 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/StencilSwiftKit_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Spectre; + PRODUCT_BUNDLE_IDENTIFIER = StencilSwiftKit; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Spectre; + TARGET_NAME = StencilSwiftKit; }; name = Release; }; @@ -2538,51 +2795,25 @@ }; name = Release; }; - OBJ_402 /* Debug */ = { + OBJ_416 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = PathKit; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; - TARGET_NAME = PathKit; }; name = Debug; }; - OBJ_403 /* Release */ = { + OBJ_417 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = PathKit; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; SWIFT_VERSION = 4.0; - TARGET_NAME = PathKit; }; name = Release; }; - OBJ_408 /* Debug */ = { + OBJ_422 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2597,20 +2828,21 @@ "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; + PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = SourceKittenFramework; + TARGET_NAME = WeaverCodeGen; }; name = Debug; }; - OBJ_409 /* Release */ = { + OBJ_423 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2625,23 +2857,24 @@ "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; + PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = SourceKittenFramework; + TARGET_NAME = WeaverCodeGen; }; name = Release; }; - OBJ_456 /* Debug */ = { + OBJ_468 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ENABLE_TESTABILITY = YES; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2649,25 +2882,24 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = Yams; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Yams; + TARGET_NAME = WeaverCodeGenTests; }; name = Debug; }; - OBJ_457 /* Release */ = { + OBJ_469 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ENABLE_TESTABILITY = YES; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2675,26 +2907,23 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = Yams; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = Yams; + TARGET_NAME = WeaverCodeGenTests; }; name = Release; }; - OBJ_479 /* Debug */ = { + OBJ_502 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - DEFINES_MODULE = NO; - ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2702,24 +2931,25 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = CYaml; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGET_NAME = CYaml; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; + SWIFT_FORCE_STATIC_LINK_STDLIB = NO; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCommand; }; name = Debug; }; - OBJ_480 /* Release */ = { + OBJ_503 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - DEFINES_MODULE = NO; - ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -2727,20 +2957,23 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = CYaml; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGET_NAME = CYaml; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; + SWIFT_FORCE_STATIC_LINK_STDLIB = NO; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCommand; }; name = Release; }; - OBJ_490 /* Debug */ = { + OBJ_532 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2749,20 +2982,21 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; + PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = SWXMLHash; + TARGET_NAME = WeaverDI; }; name = Debug; }; - OBJ_491 /* Release */ = { + OBJ_533 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2771,20 +3005,51 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; + PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = SWXMLHash; + TARGET_NAME = WeaverDI; + }; + name = Release; + }; + OBJ_547 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_548 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + OBJ_553 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + OBJ_554 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { }; name = Release; }; - OBJ_499 /* Debug */ = { + OBJ_559 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2794,7 +3059,8 @@ ); HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDITests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; SWIFT_VERSION = 4.0; @@ -2802,7 +3068,7 @@ }; name = Debug; }; - OBJ_500 /* Release */ = { + OBJ_560 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2812,7 +3078,8 @@ ); HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDITests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited)"; SWIFT_VERSION = 4.0; @@ -2820,7 +3087,7 @@ }; name = Release; }; - OBJ_511 /* Debug */ = { + OBJ_571 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2828,21 +3095,26 @@ "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + ); + INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = Yams; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDI; + TARGET_NAME = Yams; }; name = Debug; }; - OBJ_512 /* Release */ = { + OBJ_572 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2850,241 +3122,270 @@ "$(inherited)", "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", + "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + ); + INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = Yams; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDI; + TARGET_NAME = Yams; }; name = Release; }; - OBJ_525 /* Debug */ = { + OBJ_595 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; }; name = Debug; }; - OBJ_526 /* Release */ = { + OBJ_596 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - OBJ_195 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */ = { + OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_196 /* Debug */, - OBJ_197 /* Release */, + OBJ_3 /* Debug */, + OBJ_4 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */ = { + OBJ_220 /* Build configuration list for PBXNativeTarget "CYaml" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_3 /* Debug */, - OBJ_4 /* Release */, + OBJ_221 /* Debug */, + OBJ_222 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_201 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { + OBJ_232 /* Build configuration list for PBXNativeTarget "Commander" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_202 /* Debug */, - OBJ_203 /* Release */, + OBJ_233 /* Debug */, + OBJ_234 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_207 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { + OBJ_247 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_208 /* Debug */, - OBJ_209 /* Release */, + OBJ_248 /* Debug */, + OBJ_249 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_213 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { + OBJ_253 /* Build configuration list for PBXNativeTarget "PathKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_214 /* Debug */, - OBJ_215 /* Release */, + OBJ_254 /* Debug */, + OBJ_255 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_219 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { + OBJ_260 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_220 /* Debug */, - OBJ_221 /* Release */, + OBJ_261 /* Debug */, + OBJ_262 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_225 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { + OBJ_266 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_226 /* Debug */, - OBJ_227 /* Release */, + OBJ_267 /* Debug */, + OBJ_268 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_231 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { + OBJ_275 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_232 /* Debug */, - OBJ_233 /* Release */, + OBJ_276 /* Debug */, + OBJ_277 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_237 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { + OBJ_281 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_238 /* Debug */, - OBJ_239 /* Release */, + OBJ_282 /* Debug */, + OBJ_283 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_243 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { + OBJ_331 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_244 /* Debug */, - OBJ_245 /* Release */, + OBJ_332 /* Debug */, + OBJ_333 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_281 /* Build configuration list for PBXNativeTarget "Commander" */ = { + OBJ_337 /* Build configuration list for PBXNativeTarget "Spectre" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_282 /* Debug */, - OBJ_283 /* Release */, + OBJ_338 /* Debug */, + OBJ_339 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_351 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_352 /* Debug */, + OBJ_353 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_357 /* Build configuration list for PBXNativeTarget "Stencil" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_358 /* Debug */, + OBJ_359 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_296 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { + OBJ_386 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_297 /* Debug */, - OBJ_298 /* Release */, + OBJ_387 /* Debug */, + OBJ_388 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_325 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { + OBJ_392 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_326 /* Debug */, - OBJ_327 /* Release */, + OBJ_393 /* Debug */, + OBJ_394 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_360 /* Build configuration list for PBXNativeTarget "Stencil" */ = { + OBJ_415 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_361 /* Debug */, - OBJ_362 /* Release */, + OBJ_416 /* Debug */, + OBJ_417 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_388 /* Build configuration list for PBXNativeTarget "Spectre" */ = { + OBJ_421 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_389 /* Debug */, - OBJ_390 /* Release */, + OBJ_422 /* Debug */, + OBJ_423 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_401 /* Build configuration list for PBXNativeTarget "PathKit" */ = { + OBJ_467 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_402 /* Debug */, - OBJ_403 /* Release */, + OBJ_468 /* Debug */, + OBJ_469 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_407 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { + OBJ_501 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_408 /* Debug */, - OBJ_409 /* Release */, + OBJ_502 /* Debug */, + OBJ_503 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_455 /* Build configuration list for PBXNativeTarget "Yams" */ = { + OBJ_531 /* Build configuration list for PBXNativeTarget "WeaverDI" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_456 /* Debug */, - OBJ_457 /* Release */, + OBJ_532 /* Debug */, + OBJ_533 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_478 /* Build configuration list for PBXNativeTarget "CYaml" */ = { + OBJ_546 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_479 /* Debug */, - OBJ_480 /* Release */, + OBJ_547 /* Debug */, + OBJ_548 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_489 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { + OBJ_552 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_490 /* Debug */, - OBJ_491 /* Release */, + OBJ_553 /* Debug */, + OBJ_554 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_498 /* Build configuration list for PBXNativeTarget "WeaverDITests" */ = { + OBJ_558 /* Build configuration list for PBXNativeTarget "WeaverDITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_499 /* Debug */, - OBJ_500 /* Release */, + OBJ_559 /* Debug */, + OBJ_560 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_510 /* Build configuration list for PBXNativeTarget "WeaverDI" */ = { + OBJ_570 /* Build configuration list for PBXNativeTarget "Yams" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_511 /* Debug */, - OBJ_512 /* Release */, + OBJ_571 /* Debug */, + OBJ_572 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; - OBJ_524 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */ = { + OBJ_594 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_525 /* Debug */, - OBJ_526 /* Release */, + OBJ_595 /* Debug */, + OBJ_596 /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme b/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme new file mode 100644 index 00000000..4592ad13 --- /dev/null +++ b/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b7b95442b93a369728ecc023b269a412dcff54a2 Mon Sep 17 00:00:00 2001 From: Theo Date: Tue, 24 Jul 2018 16:25:10 -0700 Subject: [PATCH 02/12] [#55] Removed most runtime classes --- Sample/Podfile.lock | 4 +- .../Pods/Local Podspecs/WeaverDI.podspec.json | 4 +- Sample/Pods/Manifest.lock | 4 +- Sample/Pods/Pods.xcodeproj/project.pbxproj | 142 +++++----- .../Target Support Files/WeaverDI/Info.plist | 2 +- Sources/WeaverCodeGen/Generator.swift | 76 +++--- Sources/WeaverDI/Builder.swift | 46 ---- Sources/WeaverDI/BuilderKey.swift | 46 ---- Sources/WeaverDI/BuilderStore.swift | 72 ------ Sources/WeaverDI/DependencyContainer.swift | 173 ------------- Sources/WeaverDI/DependencyResolver.swift | 21 -- Sources/WeaverDI/DependencyStore.swift | 21 -- Sources/WeaverDI/Instance.swift | 228 ----------------- Tests/WeaverDITests/BuilderKeyTests.swift | 32 --- Tests/WeaverDITests/BuilderStoreTests.swift | 94 ------- Tests/WeaverDITests/BuilderTests.swift | 94 ------- .../DependencyContainerTests.swift | 242 ------------------ Tests/WeaverDITests/Spies.swift | 47 ---- WeaverDI.xcodeproj/project.pbxproj | 52 +--- 19 files changed, 101 insertions(+), 1299 deletions(-) delete mode 100644 Sources/WeaverDI/Builder.swift delete mode 100644 Sources/WeaverDI/BuilderKey.swift delete mode 100644 Sources/WeaverDI/BuilderStore.swift delete mode 100644 Sources/WeaverDI/DependencyContainer.swift delete mode 100644 Sources/WeaverDI/DependencyResolver.swift delete mode 100644 Sources/WeaverDI/DependencyStore.swift delete mode 100644 Sources/WeaverDI/Instance.swift delete mode 100644 Tests/WeaverDITests/BuilderKeyTests.swift delete mode 100644 Tests/WeaverDITests/BuilderStoreTests.swift delete mode 100644 Tests/WeaverDITests/BuilderTests.swift delete mode 100644 Tests/WeaverDITests/DependencyContainerTests.swift delete mode 100644 Tests/WeaverDITests/Spies.swift diff --git a/Sample/Podfile.lock b/Sample/Podfile.lock index dafbdd9d..88be27bd 100644 --- a/Sample/Podfile.lock +++ b/Sample/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - WeaverDI (0.9.12) + - WeaverDI (0.9.13) DEPENDENCIES: - WeaverDI (from `../`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - WeaverDI: 0ce156aec29e0e3c9d8540f7659cb0271b3bac88 + WeaverDI: fe2a54650b36c52d35c3f6db9ea8f0f733669f59 PODFILE CHECKSUM: e107949e1ead67a0e72e8d74de679dc5d2c018b0 diff --git a/Sample/Pods/Local Podspecs/WeaverDI.podspec.json b/Sample/Pods/Local Podspecs/WeaverDI.podspec.json index 7cf5cfac..9dc8c8d1 100644 --- a/Sample/Pods/Local Podspecs/WeaverDI.podspec.json +++ b/Sample/Pods/Local Podspecs/WeaverDI.podspec.json @@ -1,6 +1,6 @@ { "name": "WeaverDI", - "version": "0.9.12", + "version": "0.9.13", "swift_version": "4.1", "summary": "Declarative, easy-to-use and safe Dependency Injection framework for Swift (iOS/macOS/Linux)", "homepage": "https://github.com/scribd/Weaver", @@ -13,7 +13,7 @@ }, "source": { "git": "https://github.com/scribd/Weaver.git", - "tag": "0.9.12" + "tag": "0.9.13" }, "platforms": { "ios": "9.0", diff --git a/Sample/Pods/Manifest.lock b/Sample/Pods/Manifest.lock index dafbdd9d..88be27bd 100644 --- a/Sample/Pods/Manifest.lock +++ b/Sample/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - WeaverDI (0.9.12) + - WeaverDI (0.9.13) DEPENDENCIES: - WeaverDI (from `../`) @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - WeaverDI: 0ce156aec29e0e3c9d8540f7659cb0271b3bac88 + WeaverDI: fe2a54650b36c52d35c3f6db9ea8f0f733669f59 PODFILE CHECKSUM: e107949e1ead67a0e72e8d74de679dc5d2c018b0 diff --git a/Sample/Pods/Pods.xcodeproj/project.pbxproj b/Sample/Pods/Pods.xcodeproj/project.pbxproj index d20a96a5..a4f4ba8e 100644 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Sample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,27 +7,20 @@ objects = { /* Begin PBXBuildFile section */ - 09CF2135D654F343123A26E42392FADD /* Builder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7091476726189F6F870D57855C6E5A2 /* Builder.swift */; }; - 2D50D0FF562EA69E64E16CC1518812B1 /* BuilderStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACCD7D2D0B85E5207530A30EE8A71DB7 /* BuilderStore.swift */; }; + 10F6D51E82D3BF5E4C363BF28B2C2F68 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */; }; 5B63061629AFA550AD38A56103897B9A /* Pods-Sample-API-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5CAFEE2BC14C03E6A835043C6FC75BE9 /* WeaverDI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C28BCB0A46483E21E53996182C9BBDA8 /* WeaverDI-dummy.m */; }; 64CF1B9380FA81C4203A34AF2228AF02 /* Pods-Sample-API-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */; }; 6EE9518448AE9EB982EDD42720EACACD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; + 785B49F45E5DFBF11B3FF06E4BD03CE4 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */; }; + 7DDE9BF9A3CCCDEAE94C08799A8B2621 /* WeaverDI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */; }; 83B4F2D14E8115DDB2B5B50B4C3600E7 /* Pods-Sample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 848A62154F2BABBF459EF5274411D94E /* Pods-Sample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */; }; - 8AC913103C2C79D8946BF2C0ED3C3C5B /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74827274FDB76474B3CD68F2244B5D1A /* Reference.swift */; }; - 8ACEDC11230296E691C0A27CDE750955 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B80BAF17A43D90D838EC101C6BE75F1 /* Instance.swift */; }; - 8C00E4B32CEC8B4942334B2D9354EDBB /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF8261E4B61E0CA0EABB32D4916AE372 /* Scope.swift */; }; 93A1AC96941AD508CF05C2163E2B214D /* Pods-APITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */; }; 9935D8506BDE4B1F9EA6B3C5994C8CF9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - 9F06027C2032684EC0B0465AAB07C96A /* DependencyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = F29B8ADFCE94C13689BC10F078A8540B /* DependencyStore.swift */; }; A1AC955987F50EB9BCB3E45A2969FB17 /* Pods-APITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0D9287573EE46550028867DA96D2333 /* DependencyResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B4F8C0FD98121B686E9FF4AF50105BA /* DependencyResolver.swift */; }; DB6288C36D418EFACB78792D2781D36F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - FC38655083661C7C067B4D261F990AB2 /* BuilderKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363CFA4B185311058DBAB02036F8ADFE /* BuilderKey.swift */; }; - FCE5526F9672C76116CD61D2F9F33C9B /* DependencyContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 667E837018B010653525A38C196AC4B6 /* DependencyContainer.swift */; }; FD1ED241C250A802502D2206ED85F3BB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 67BE3C8D6C5BC11C9B46E4BC9F5E3BEE /* WeaverDI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -66,17 +59,15 @@ 0423641EDDBE89835A2DC9645D9B086A /* Pods-Sample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-frameworks.sh"; sourceTree = ""; }; 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-API-dummy.m"; sourceTree = ""; }; 114A46BCC8C437864F62599DC4AEC6E8 /* Pods-Sample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-acknowledgements.plist"; sourceTree = ""; }; + 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scope.swift; path = Sources/WeaverDI/Scope.swift; sourceTree = ""; }; 148DEE0CE8A2A6E01E7D4B10989F03DE /* Pods-APITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-frameworks.sh"; sourceTree = ""; }; + 175656A61F4ABD38C2C6A8CEB3705E90 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; 18F501DA62F95D4FA338D7373EE5AF59 /* Pods-APITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-resources.sh"; sourceTree = ""; }; - 1B80BAF17A43D90D838EC101C6BE75F1 /* Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Instance.swift; path = Sources/WeaverDI/Instance.swift; sourceTree = ""; }; - 1E005AA6606C0BE3A1DBD9A395C7D8D4 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 27122AF041645967CDA2A4CC70F60E7C /* Pods-Sample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-resources.sh"; sourceTree = ""; }; 3150966CA6FEA592CB27065618E324EB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 350A1ADF92DAD13BDEC589245E7A20A0 /* Pods-Sample-API.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample-API.debug.xcconfig"; sourceTree = ""; }; 350D37C46659B87EC5B28735DB690775 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 363CFA4B185311058DBAB02036F8ADFE /* BuilderKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuilderKey.swift; path = Sources/WeaverDI/BuilderKey.swift; sourceTree = ""; }; 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-APITests-umbrella.h"; sourceTree = ""; }; - 4B4F8C0FD98121B686E9FF4AF50105BA /* DependencyResolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DependencyResolver.swift; path = Sources/WeaverDI/DependencyResolver.swift; sourceTree = ""; }; 4F77533A6CB82983C07DBBDABFAEB860 /* Pods-APITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-APITests.modulemap"; sourceTree = ""; }; 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-dummy.m"; sourceTree = ""; }; 5234E22A8E410A4FACEB5D7AD77D0226 /* Pods-APITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-APITests-acknowledgements.plist"; sourceTree = ""; }; @@ -84,37 +75,32 @@ 533EAB4214607159F018CB7FAC93F090 /* Pods-Sample-API-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-API-acknowledgements.plist"; sourceTree = ""; }; 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Sample-API-umbrella.h"; sourceTree = ""; }; + 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = WeaverDI.xcconfig; sourceTree = ""; }; 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample_API.framework; path = "Pods-Sample-API.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 667E837018B010653525A38C196AC4B6 /* DependencyContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DependencyContainer.swift; path = Sources/WeaverDI/DependencyContainer.swift; sourceTree = ""; }; - 67BE3C8D6C5BC11C9B46E4BC9F5E3BEE /* WeaverDI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-umbrella.h"; sourceTree = ""; }; + 67C034431416D80F5D6D23C922E9FE0A /* WeaverDI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-prefix.pch"; sourceTree = ""; }; 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample.framework; path = "Pods-Sample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 74827274FDB76474B3CD68F2244B5D1A /* Reference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reference.swift; path = Sources/WeaverDI/Reference.swift; sourceTree = ""; }; - 7ED04BEA6E8739A363E7EF6F9D3EB158 /* WeaverDI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-prefix.pch"; sourceTree = ""; }; 842499A5B807EFD3E78C59D5C6A4CD2F /* Pods-APITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.release.xcconfig"; sourceTree = ""; }; 8604F1FE8BC61033736D656833C1A784 /* Pods-Sample-API-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-API-resources.sh"; sourceTree = ""; }; 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_APITests.framework; path = "Pods-APITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 97AD5269E636665AD0FA34FB1F9A83A8 /* Pods-Sample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample.modulemap"; sourceTree = ""; }; + 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-umbrella.h"; sourceTree = ""; }; + A6C3DC30DDD07991B8E0E6E6212C3FCC /* WeaverDI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = WeaverDI.modulemap; sourceTree = ""; }; A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-APITests-dummy.m"; sourceTree = ""; }; A8B92042A3806B61ABA082CEE77B5DFC /* Pods-Sample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-acknowledgements.markdown"; sourceTree = ""; }; - ACCD7D2D0B85E5207530A30EE8A71DB7 /* BuilderStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BuilderStore.swift; path = Sources/WeaverDI/BuilderStore.swift; sourceTree = ""; }; - B1E43FA53ABFBC7F984030C648DE158F /* WeaverDI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = WeaverDI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "WeaverDI-dummy.m"; sourceTree = ""; }; B7CBBCDD3E4A9542DA85828DBC244337 /* Pods-APITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-APITests-acknowledgements.markdown"; sourceTree = ""; }; B85FBB61A428060576E2E596114F9D4B /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.release.xcconfig"; sourceTree = ""; }; - BD8D1E2C4E51292C6B45F8F079FEDD86 /* WeaverDI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = WeaverDI.modulemap; sourceTree = ""; }; - BF8261E4B61E0CA0EABB32D4916AE372 /* Scope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scope.swift; path = Sources/WeaverDI/Scope.swift; sourceTree = ""; }; - C28BCB0A46483E21E53996182C9BBDA8 /* WeaverDI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "WeaverDI-dummy.m"; sourceTree = ""; }; - CD397ABCA0A12A2CEF698BCCAA56064D /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - D2CAA6630059D6DA85F19FDA17AB63DE /* WeaverDI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = WeaverDI.xcconfig; sourceTree = ""; }; + B8C9E32F9EA8632F7D83717C03955E24 /* WeaverDI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = WeaverDI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BFFB41C2D471348C8B9FE82156C140E0 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reference.swift; path = Sources/WeaverDI/Reference.swift; sourceTree = ""; }; DBF53050CAE51EC86582A4737D71C8F9 /* Pods-Sample-API-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-API-acknowledgements.markdown"; sourceTree = ""; }; DD8A71C0AFBF2D5BCB73FB2DC7042B5B /* Pods-APITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.debug.xcconfig"; sourceTree = ""; }; E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = WeaverDI.framework; path = WeaverDI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E3E1EB734F01B09D7D4F64D07EE006D9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; E5F6A31D5424DC9BDACEFF1400381527 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.debug.xcconfig"; sourceTree = ""; }; - E7091476726189F6F870D57855C6E5A2 /* Builder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Builder.swift; path = Sources/WeaverDI/Builder.swift; sourceTree = ""; }; EBEDACC1575B2A45B9B9040A85F2EBA7 /* Pods-Sample-API.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample-API.modulemap"; sourceTree = ""; }; - F29B8ADFCE94C13689BC10F078A8540B /* DependencyStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DependencyStore.swift; path = Sources/WeaverDI/DependencyStore.swift; sourceTree = ""; }; - F6AD86ADA74FD4060F5D954AFDA418AA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F82094ED85E672888D42F4E5FBBC0395 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -153,14 +139,12 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08EB761B1C1C4AC3E86F9E2F1C32736F /* Pod */ = { + 05F19D4C46C34C417F6134D3D8F732A2 /* Development Pods */ = { isa = PBXGroup; children = ( - CD397ABCA0A12A2CEF698BCCAA56064D /* LICENSE */, - 1E005AA6606C0BE3A1DBD9A395C7D8D4 /* README.md */, - B1E43FA53ABFBC7F984030C648DE158F /* WeaverDI.podspec */, + B3B93E97177530D19C7940DF89125B4B /* WeaverDI */, ); - name = Pod; + name = "Development Pods"; sourceTree = ""; }; 15B703207E38013C26E1952D7F60759F /* Pods-Sample-API */ = { @@ -198,18 +182,14 @@ path = "Target Support Files/Pods-Sample"; sourceTree = ""; }; - 24799634569AF1BBF9FCB4A2A5DA0C65 /* Support Files */ = { + 5C5147D4A7E2139235436857A9C5944B /* Pod */ = { isa = PBXGroup; children = ( - F6AD86ADA74FD4060F5D954AFDA418AA /* Info.plist */, - BD8D1E2C4E51292C6B45F8F079FEDD86 /* WeaverDI.modulemap */, - D2CAA6630059D6DA85F19FDA17AB63DE /* WeaverDI.xcconfig */, - C28BCB0A46483E21E53996182C9BBDA8 /* WeaverDI-dummy.m */, - 7ED04BEA6E8739A363E7EF6F9D3EB158 /* WeaverDI-prefix.pch */, - 67BE3C8D6C5BC11C9B46E4BC9F5E3BEE /* WeaverDI-umbrella.h */, + 175656A61F4ABD38C2C6A8CEB3705E90 /* LICENSE */, + BFFB41C2D471348C8B9FE82156C140E0 /* README.md */, + B8C9E32F9EA8632F7D83717C03955E24 /* WeaverDI.podspec */, ); - name = "Support Files"; - path = "Sample/Pods/Target Support Files/WeaverDI"; + name = Pod; sourceTree = ""; }; 5E0D919E635D23B70123790B8308F8EF /* iOS */ = { @@ -224,13 +204,27 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - FA4C04D6293D82C2A239CEAA78016C94 /* Development Pods */, + 05F19D4C46C34C417F6134D3D8F732A2 /* Development Pods */, BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, F8D5999314950D4E734D711011013E47 /* Products */, B65A598E88CA1CF387DE7CA797C2EF72 /* Targets Support Files */, ); sourceTree = ""; }; + 83A273D72C1C8949E6C6C9B23001E36C /* Support Files */ = { + isa = PBXGroup; + children = ( + F82094ED85E672888D42F4E5FBBC0395 /* Info.plist */, + A6C3DC30DDD07991B8E0E6E6212C3FCC /* WeaverDI.modulemap */, + 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */, + AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */, + 67C034431416D80F5D6D23C922E9FE0A /* WeaverDI-prefix.pch */, + 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */, + ); + name = "Support Files"; + path = "Sample/Pods/Target Support Files/WeaverDI"; + sourceTree = ""; + }; AEF1168F29BB94317ECF0EEF52BD6A07 /* Pods-APITests */ = { isa = PBXGroup; children = ( @@ -249,6 +243,18 @@ path = "Target Support Files/Pods-APITests"; sourceTree = ""; }; + B3B93E97177530D19C7940DF89125B4B /* WeaverDI */ = { + isa = PBXGroup; + children = ( + CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */, + 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */, + 5C5147D4A7E2139235436857A9C5944B /* Pod */, + 83A273D72C1C8949E6C6C9B23001E36C /* Support Files */, + ); + name = WeaverDI; + path = ../..; + sourceTree = ""; + }; B65A598E88CA1CF387DE7CA797C2EF72 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -267,25 +273,6 @@ name = Frameworks; sourceTree = ""; }; - F4FA6473D6D5BB9DA0DA6A72ED1D9F44 /* WeaverDI */ = { - isa = PBXGroup; - children = ( - E7091476726189F6F870D57855C6E5A2 /* Builder.swift */, - 363CFA4B185311058DBAB02036F8ADFE /* BuilderKey.swift */, - ACCD7D2D0B85E5207530A30EE8A71DB7 /* BuilderStore.swift */, - 667E837018B010653525A38C196AC4B6 /* DependencyContainer.swift */, - 4B4F8C0FD98121B686E9FF4AF50105BA /* DependencyResolver.swift */, - F29B8ADFCE94C13689BC10F078A8540B /* DependencyStore.swift */, - 1B80BAF17A43D90D838EC101C6BE75F1 /* Instance.swift */, - 74827274FDB76474B3CD68F2244B5D1A /* Reference.swift */, - BF8261E4B61E0CA0EABB32D4916AE372 /* Scope.swift */, - 08EB761B1C1C4AC3E86F9E2F1C32736F /* Pod */, - 24799634569AF1BBF9FCB4A2A5DA0C65 /* Support Files */, - ); - name = WeaverDI; - path = ../..; - sourceTree = ""; - }; F8D5999314950D4E734D711011013E47 /* Products */ = { isa = PBXGroup; children = ( @@ -297,14 +284,6 @@ name = Products; sourceTree = ""; }; - FA4C04D6293D82C2A239CEAA78016C94 /* Development Pods */ = { - isa = PBXGroup; - children = ( - F4FA6473D6D5BB9DA0DA6A72ED1D9F44 /* WeaverDI */, - ); - name = "Development Pods"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -365,7 +344,7 @@ isa = PBXNativeTarget; buildConfigurationList = B07D795C8A3DD827822FD4EBDB4CF45D /* Build configuration list for PBXNativeTarget "WeaverDI" */; buildPhases = ( - 0DDD23FD0CA78638C5DBE99D46F80329 /* Sources */, + 44663A0B378AC03F71FB5DF63E212278 /* Sources */, 30C53E8FB4D8B4BD3FE41E73DBB10719 /* Frameworks */, FAF6C3CA91019EB3D8733D67C4959527 /* Headers */, ); @@ -453,20 +432,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 0DDD23FD0CA78638C5DBE99D46F80329 /* Sources */ = { + 44663A0B378AC03F71FB5DF63E212278 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 09CF2135D654F343123A26E42392FADD /* Builder.swift in Sources */, - FC38655083661C7C067B4D261F990AB2 /* BuilderKey.swift in Sources */, - 2D50D0FF562EA69E64E16CC1518812B1 /* BuilderStore.swift in Sources */, - FCE5526F9672C76116CD61D2F9F33C9B /* DependencyContainer.swift in Sources */, - B0D9287573EE46550028867DA96D2333 /* DependencyResolver.swift in Sources */, - 9F06027C2032684EC0B0465AAB07C96A /* DependencyStore.swift in Sources */, - 8ACEDC11230296E691C0A27CDE750955 /* Instance.swift in Sources */, - 8AC913103C2C79D8946BF2C0ED3C3C5B /* Reference.swift in Sources */, - 8C00E4B32CEC8B4942334B2D9354EDBB /* Scope.swift in Sources */, - 5CAFEE2BC14C03E6A835043C6FC75BE9 /* WeaverDI-dummy.m in Sources */, + 785B49F45E5DFBF11B3FF06E4BD03CE4 /* Reference.swift in Sources */, + 10F6D51E82D3BF5E4C363BF28B2C2F68 /* Scope.swift in Sources */, + 7DDE9BF9A3CCCDEAE94C08799A8B2621 /* WeaverDI-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -684,7 +656,7 @@ }; 475FE366B77DCA114451DECF88D04DAA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2CAA6630059D6DA85F19FDA17AB63DE /* WeaverDI.xcconfig */; + baseConfigurationReference = 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -887,7 +859,7 @@ }; FAE69F7A80BCB252D0672D00C9E0167F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2CAA6630059D6DA85F19FDA17AB63DE /* WeaverDI.xcconfig */; + baseConfigurationReference = 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; diff --git a/Sample/Pods/Target Support Files/WeaverDI/Info.plist b/Sample/Pods/Target Support Files/WeaverDI/Info.plist index b17caa33..91ffe138 100644 --- a/Sample/Pods/Target Support Files/WeaverDI/Info.plist +++ b/Sample/Pods/Target Support Files/WeaverDI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.12 + 0.9.13 CFBundleSignature ???? CFBundleVersion diff --git a/Sources/WeaverCodeGen/Generator.swift b/Sources/WeaverCodeGen/Generator.swift index 4822137e..b34896a5 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -136,7 +136,6 @@ private struct DependencyContainerViewModel { let isRoot: Bool let isPublic: Bool let doesSupportObjc: Bool - let isIsolated: Bool let injectableDependencies: [DependencyContainerViewModel]? @@ -145,45 +144,16 @@ private struct DependencyContainerViewModel { guard let type = dependencyContainer.type, dependencyContainer.hasDependencies else { return nil } - targetType = type - - registrations = dependencyContainer.registrations.orderedValues.map { - RegistrationViewModel($0, graph: graph) - } - - references = dependencyContainer.collectAllReferences().map { - DependencyViewModel($0, graph: graph) - } - - parameters = dependencyContainer.parameters.map { - DependencyViewModel($0, graph: graph) - } + targetType = type + registrations = dependencyContainer.registrations.orderedValues.map { RegistrationViewModel($0, graph: graph) } + references = dependencyContainer.allReferences.map { DependencyViewModel($0, graph: graph) } + parameters = dependencyContainer.parameters.map { DependencyViewModel($0, graph: graph)} enclosingTypes = dependencyContainer.enclosingTypes - - let hasNonCustomReferences = dependencyContainer.references.orderedValues.contains { - !$0.configuration.customRef - } - let hasParameters = !dependencyContainer.parameters.isEmpty - isRoot = !hasNonCustomReferences && !hasParameters - - switch dependencyContainer.accessLevel { - case .internal: - isPublic = false - case .public: - isPublic = true - } - + isRoot = dependencyContainer.isRoot + isPublic = dependencyContainer.isPublic doesSupportObjc = dependencyContainer.doesSupportObjc - isIsolated = dependencyContainer.configuration.isIsolated - - if depth == 0 { - injectableDependencies = dependencyContainer.registrations.orderedValues.compactMap { - DependencyContainerViewModel($0.target, graph: graph, depth: depth + 1) - } - } else { - injectableDependencies = nil - } + injectableDependencies = dependencyContainer.injectableDependencies(graph: graph, depth: depth) } } @@ -204,17 +174,17 @@ private extension DependencyContainer { return !registrations.orderedValues.isEmpty || !references.orderedValues.isEmpty || !parameters.isEmpty } - func collectAllReferences() -> [Reference] { + var allReferences: [Reference] { var visitedDependencyContainters = Set() - return collectIndirectReferences(&visitedDependencyContainters) + return collectAllReferences(&visitedDependencyContainters) } - private func collectIndirectReferences(_ visitedDependencyContainers: inout Set) -> [Reference] { + private func collectAllReferences(_ visitedDependencyContainers: inout Set) -> [Reference] { guard !visitedDependencyContainers.contains(self) else { return [] } visitedDependencyContainers.insert(self) let directReferences = references.orderedValues - let indirectReferences = registrations.orderedValues.flatMap { $0.target.collectIndirectReferences(&visitedDependencyContainers) } + let indirectReferences = registrations.orderedValues.flatMap { $0.target.collectAllReferences(&visitedDependencyContainers) } let referencesByName = OrderedDictionary() (directReferences + indirectReferences).forEach { @@ -226,5 +196,29 @@ private extension DependencyContainer { !registrationNames.contains($0.dependencyName) } } + + var isRoot: Bool { + let hasNonCustomReferences = references.orderedValues.contains { + !$0.configuration.customRef + } + let hasParameters = !parameters.isEmpty + return !hasNonCustomReferences && !hasParameters + } + + var isPublic: Bool { + switch accessLevel { + case .internal: + return false + case .public: + return true + } + } + + func injectableDependencies(graph: Graph, depth: Int) -> [DependencyContainerViewModel]? { + guard depth == 0 else { return nil } + return registrations.orderedValues.compactMap { + DependencyContainerViewModel($0.target, graph: graph, depth: depth + 1) + } + } } diff --git a/Sources/WeaverDI/Builder.swift b/Sources/WeaverDI/Builder.swift deleted file mode 100644 index cf3b9e88..00000000 --- a/Sources/WeaverDI/Builder.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// Builder.swift -// WeaverDI -// -// Created by Théophane Rupin on 6/7/18. -// - -import Foundation - -/// A representation of any builder. -protocol AnyBuilder { - - var scope: Scope { get } -} - -// MARK: - Builder - -/// A `Builder` is an object responsible for lazily building the instance of a service. -/// It is fully thread-safe. -/// - Parameters -/// - I: Instance type. -/// - P: Parameters type. Usually a tuple containing multiple parameters (eg. `(p1: Int, p2: String, ...)`) -final class Builder: AnyBuilder { - - typealias Body = (() -> P) -> I - - let scope: Scope - - private var instance: Instance - - /// Inits a builder. - /// - Parameters - /// - scope: Service's scope used to determine which building & storing strategy to use. - /// - body: Block responsible of calling the service's initializer (eg. `init(p1: Int, p2: String, ...)`). - init(scope: Scope, body: @escaping Body) { - self.scope = scope - instance = Instance(scope: scope, body: body) - } - - /// Makes the builder's body, which can then get called to build the service's instance, and store it. - func make() -> Body { - return { (parameters: () -> P) -> I in - return self.instance.getInstance(parameters: parameters) - } - } -} diff --git a/Sources/WeaverDI/BuilderKey.swift b/Sources/WeaverDI/BuilderKey.swift deleted file mode 100644 index e370dc5c..00000000 --- a/Sources/WeaverDI/BuilderKey.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// BuilderKey.swift -// Weaver -// -// Created by Théophane Rupin on 2/21/18. -// - -import Foundation - -struct BuilderKey: CustomStringConvertible { - - let description: String - - init(for serviceType: S.Type, name: String?) { - description = "\(name ?? "_"):\(S.self)" - } - - init(for serviceType: S.Type, name: String?, parameterType: P1.Type) { - description = "\(name ?? "_"):\(S.self)(\(P1.self))" - } - - init(for serviceType: S.Type, name: String?, parameterTypes p1: P1.Type, _ p2: P2.Type) { - description = "\(name ?? "_"):\(S.self)(\(P1.self),\(P2.self))" - } - - init(for serviceType: S.Type, name: String?, parameterTypes p1: P1.Type, _ p2: P2.Type, _ p3: P3.Type) { - description = "\(name ?? "_"):\(S.self)(\(P1.self),\(P2.self),\(P3.self))" - } - - init(for serviceType: S.Type, name: String?, parameterTypes p1: P1.Type, _ p2: P2.Type, _ p3: P3.Type, _ p4: P4.Type) { - description = "\(name ?? "_"):\(S.self)(\(P1.self),\(P2.self),\(P3.self),\(P4.self))" - } -} - -// MARK: - Hashable - -extension BuilderKey: Hashable { - - var hashValue: Int { - return description.hashValue - } - - static func ==(lhs: BuilderKey, rhs: BuilderKey) -> Bool { - return lhs.description == rhs.description - } -} diff --git a/Sources/WeaverDI/BuilderStore.swift b/Sources/WeaverDI/BuilderStore.swift deleted file mode 100644 index 6d14cc1a..00000000 --- a/Sources/WeaverDI/BuilderStore.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// BuilderStore.swift -// Weaver -// -// Created by Théophane Rupin on 2/21/18. -// - -import Foundation - -// MARK: - Storing - -protocol BuilderStoring: AnyObject { - - func contains(key: BuilderKey, isCalledFromAChild: Bool) -> Bool - - func get(for key: BuilderKey, isCalledFromAChild: Bool) -> Builder? - - func set(_ buidler: Builder, for key: BuilderKey) - - var parent: BuilderStoring? { get set } -} - -// MARK: - Default - -extension BuilderStoring { - - func get(for key: BuilderKey) -> Builder? { - return get(for: key, isCalledFromAChild: false) - } - - func set(scope: Scope, for key: BuilderKey, body: @escaping Builder.Body) { - set(Builder(scope: scope, body: body), for: key) - } -} - -// MARK: - Store - -final class BuilderStore: BuilderStoring { - - private var builders: [BuilderKey: AnyBuilder] = [:] - - weak var parent: BuilderStoring? - - func get(for key: BuilderKey, isCalledFromAChild: Bool) -> Builder? { - - guard let foundBuilder = builders[key] else { - return parent?.get(for: key, isCalledFromAChild: true) - } - - guard let builder = foundBuilder as? Builder else { - fatalError("Found a builder (\(foundBuilder.self)) with an incorrect type \(Builder.self).") - } - - if (isCalledFromAChild && builder.scope.allowsAccessFromChildren) || !isCalledFromAChild { - return builder - } - - return parent?.get(for: key, isCalledFromAChild: true) - } - - func set(_ builder: Builder, for key: BuilderKey) { - builders[key] = builder - } - - func contains(key: BuilderKey, isCalledFromAChild: Bool) -> Bool { - guard let builder = builders[key] else { - return false - } - - return (isCalledFromAChild && builder.scope.allowsAccessFromChildren) || !isCalledFromAChild - } -} diff --git a/Sources/WeaverDI/DependencyContainer.swift b/Sources/WeaverDI/DependencyContainer.swift deleted file mode 100644 index f121dd83..00000000 --- a/Sources/WeaverDI/DependencyContainer.swift +++ /dev/null @@ -1,173 +0,0 @@ -// -// DependencyContainer.swift -// Weaver -// -// Created by Théophane Rupin on 2/20/18. -// - -import Foundation - -open class DependencyContainer { - - private let builders: BuilderStoring - - private let parent: Reference? - - lazy var dependencies = InternalDependencyStore(builders) - - init(parent: Reference? = nil, - builders: BuilderStoring = BuilderStore()) { - - self.parent = parent - - builders.parent = parent?.value?.builders - self.builders = builders - - registerDependencies(in: dependencies) - } - - /// Parameters: - /// - parent: `DependencyContainer` from which the dependency is built. - public init(_ parent: Reference? = nil) { - - self.parent = parent - - builders = BuilderStore() - builders.parent = parent?.value?.builders - - registerDependencies(in: dependencies) - } - - open func registerDependencies(in store: DependencyStore) { - // No-op - } -} - -// MARK: - DependencyResolver - -extension DependencyContainer: DependencyResolver { - - public func resolve(_ serviceType: S.Type, name: String? = nil) -> S { - let key = BuilderKey(for: serviceType, name: name) - - guard let builder: Builder = builders.get(for: key) else { - fatalError("\(DependencyContainer.self): Could not resolve \(key).") - } - - return builder.make()({ self }) - } - - public func resolve(_ serviceType: S.Type, name: String? = nil, parameter: P1) -> S { - let key = BuilderKey(for: serviceType, name: name, parameterType: P1.self) - - guard let builder: Builder = builders.get(for: key) else { - fatalError("\(DependencyContainer.self): Could not resolve \(key).") - } - - return builder.make()({ (self, parameter) }) - } - - public func resolve(_ serviceType: S.Type, name: String? = nil, parameters p1: P1, _ p2: P2) -> S { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self) - - guard let builder: Builder = builders.get(for: key) else { - fatalError("\(DependencyContainer.self): Could not resolve \(key).") - } - - return builder.make()({ (self, p1, p2) }) - } - - public func resolve(_ serviceType: S.Type, name: String? = nil, parameters p1: P1, _ p2: P2, _ p3: P3) -> S { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self, P3.self) - - guard let builder: Builder = builders.get(for: key) else { - fatalError("\(DependencyContainer.self): Could not resolve \(key).") - } - - return builder.make()({ (self, p1, p2, p3) }) - } - - public func resolve(_ serviceType: S.Type, name: String? = nil, parameters p1: P1, _ p2: P2, _ p3: P3, _ p4: P4) -> S { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self, P3.self, P4.self) - - guard let builder: Builder = builders.get(for: key) else { - fatalError("\(DependencyContainer.self): Could not resolve \(key).") - } - - return builder.make()({ (self, p1, p2, p3, p4) }) - } -} - -// MARK: - DependencyStore - -extension DependencyContainer { - - final class InternalDependencyStore: DependencyStore { - - private let builders: BuilderStoring - - init(_ builders: BuilderStoring) { - self.builders = builders - } - - public func register(_ serviceType: S.Type, scope: Scope, name: String? = nil, builder: @escaping (DependencyContainer) -> S) { - let key = BuilderKey(for: serviceType, name: name) - - builders.set(scope: scope, for: key) { (parameter: () -> (DependencyContainer)) -> S in - let dependencyContainer = parameter().firstDependencyContainer(containing: key) - return builder(dependencyContainer) - } - } - - public func register(_ serviceType: S.Type, scope: Scope, name: String? = nil, builder: @escaping (DependencyContainer, P1) -> S) { - let key = BuilderKey(for: serviceType, name: name, parameterType: P1.self) - - builders.set(scope: scope, for: key) { (parameters: () -> (DependencyContainer, P1)) -> S in - let dependencyContainer = parameters().0.firstDependencyContainer(containing: key) - return builder(dependencyContainer, parameters().1) - } - } - - public func register(_ serviceType: S.Type, scope: Scope, name: String? = nil, builder: @escaping (DependencyContainer, P1, P2) -> S) { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self) - - builders.set(scope: scope, for: key) { (parameters: () -> (DependencyContainer, P1, P2)) -> S in - let dependencyContainer = parameters().0.firstDependencyContainer(containing: key) - return builder(dependencyContainer, parameters().1, parameters().2) - } - } - - public func register(_ serviceType: S.Type, scope: Scope, name: String? = nil, builder: @escaping (DependencyContainer, P1, P2, P3) -> S) { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self, P3.self) - - builders.set(scope: scope, for: key) { (parameters: () -> (DependencyContainer, P1, P2, P3)) -> S in - let dependencyContainer = parameters().0.firstDependencyContainer(containing: key) - return builder(dependencyContainer, parameters().1, parameters().2, parameters().3) - } - } - - public func register(_ serviceType: S.Type, scope: Scope, name: String? = nil, builder: @escaping (DependencyContainer, P1, P2, P3, P4) -> S) { - let key = BuilderKey(for: serviceType, name: name, parameterTypes: P1.self, P2.self, P3.self, P4.self) - - builders.set(scope: scope, for: key) { (parameters: () -> (DependencyContainer, P1, P2, P3, P4)) -> S in - let dependencyContainer = parameters().0.firstDependencyContainer(containing: key) - return builder(dependencyContainer, parameters().1, parameters().2, parameters().3, parameters().4) - } - } - } -} - -// MARK: - Utils - -private extension DependencyContainer { - - func firstDependencyContainer(containing key: BuilderKey, isCalledFromAChild: Bool = false) -> DependencyContainer { - if builders.contains(key: key, isCalledFromAChild: isCalledFromAChild) { - return self - } - guard let dependencyContainer = parent?.value?.firstDependencyContainer(containing: key, isCalledFromAChild: true) else { - fatalError("\(DependencyContainer.self): Could not resolve key \(key).") - } - return dependencyContainer - } -} diff --git a/Sources/WeaverDI/DependencyResolver.swift b/Sources/WeaverDI/DependencyResolver.swift deleted file mode 100644 index 0efdfcf4..00000000 --- a/Sources/WeaverDI/DependencyResolver.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// DependencyResolver.swift -// Weaver -// -// Created by Théophane Rupin on 2/20/18. -// - -import Foundation - -public protocol DependencyResolver { - - func resolve(_ serviceType: S.Type, name: String?) -> S - - func resolve(_ serviceType: S.Type, name: String?, parameter: P1) -> S - - func resolve(_ serviceType: S.Type, name: String?, parameters: P1, _: P2) -> S - - func resolve(_ serviceType: S.Type, name: String?, parameters: P1, _: P2, _: P3) -> S - - func resolve(_ serviceType: S.Type, name: String?, parameters: P1, _: P2, _: P3, _: P4) -> S -} diff --git a/Sources/WeaverDI/DependencyStore.swift b/Sources/WeaverDI/DependencyStore.swift deleted file mode 100644 index 2807ddc9..00000000 --- a/Sources/WeaverDI/DependencyStore.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// DependencyStore.swift -// Weaver -// -// Created by Théophane Rupin on 2/20/18. -// - -import Foundation - -public protocol DependencyStore { - - func register(_ serviceType: S.Type, scope: Scope, name: String?, builder: @escaping (DependencyContainer) -> S) - - func register(_ serviceType: S.Type, scope: Scope, name: String?, builder: @escaping (DependencyContainer, P1) -> S) - - func register(_ serviceType: S.Type, scope: Scope, name: String?, builder: @escaping (DependencyContainer, P1, P2) -> S) - - func register(_ serviceType: S.Type, scope: Scope, name: String?, builder: @escaping (DependencyContainer, P1, P2, P3) -> S) - - func register(_ serviceType: S.Type, scope: Scope, name: String?, builder: @escaping (DependencyContainer, P1, P2, P3, P4) -> S) -} diff --git a/Sources/WeaverDI/Instance.swift b/Sources/WeaverDI/Instance.swift deleted file mode 100644 index 701e365d..00000000 --- a/Sources/WeaverDI/Instance.swift +++ /dev/null @@ -1,228 +0,0 @@ -// -// Instance.swift -// WeaverDI -// -// Created by Théophane Rupin on 6/10/18. -// - -import Foundation - -extension Builder { - - /// Instantiation strategies enumeration. - enum Instance { - case transient(TransientInstance) - case weakLazy(WeakLazyInstance) - case strongLazy(StrongLazyInstance) - - init(scope: Scope, body: @escaping Body) { - if scope.isTransient { - self = .transient(.make(body)) - } else if scope.isWeak { - self = .weakLazy(.make(body)) - } else { - self = .strongLazy(.make(body)) - } - } - - func getInstance(parameters: () -> P) -> I { - switch self { - case .transient(let instance): - return instance.getInstance(parameters: parameters) - case .weakLazy(let instance): - return instance.getInstance(parameters: parameters) - case .strongLazy(let instance): - return instance.getInstance(parameters: parameters) - } - } - } -} - -// MARK: - TransientInstance - -extension Builder { - - /// A `TransientInstance` is an instance type which only builds without storing any reference. - final class TransientInstance { - - private let body: Body - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> TransientInstance { - return TransientInstance(body) - } - - func getInstance(parameters: () -> P) -> I { - return body(parameters) - } - } -} - -// MARK: - StrongLazyInstance - -extension Builder { - - /// A `StrongLazyInstance` is a thread-safe instance type which lazily builds - /// and stores a strong reference on the service. - /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 - class StrongLazyInstance { - - fileprivate let body: Body - - fileprivate var instance: I? - fileprivate var isLoaded = false - - private let instanceLocker = DispatchSemaphore(value: 1) - private let isLoadedDispatchQueue = DispatchQueue(label: "\(Builder.self).isLoadedDispatchQueue", attributes: .concurrent) - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> StrongLazyInstance { - if #available(OSX 10.12, *), #available(iOS 10.0, *) { - return StrongLazyInstance_OSX_10_12_iOS_10_0(body) - } else { - return StrongLazyInstance(body) - } - } - - private var syncIsLoaded: Bool { - set { - isLoadedDispatchQueue.async(flags: .barrier) { - self.isLoaded = newValue - } - } - get { - var isLoaded = false - isLoadedDispatchQueue.sync { - isLoaded = self.isLoaded - } - return isLoaded - } - } - - func getInstance(parameters: () -> P) -> I { - - if syncIsLoaded { - guard let instance = self.instance else { - fatalError("Instance is nil, you just found a race condition.") - } - return instance - } - - instanceLocker.wait() - - if syncIsLoaded { - guard let instance = self.instance else { - fatalError("Instance is nil, you just found a race condition.") - } - instanceLocker.signal() - return instance - } - - let instance = body(parameters) - self.instance = instance - - syncIsLoaded = true - instanceLocker.signal() - - return instance - } - } - - /// A `StrongLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds - /// and stores a strong reference on the service. - /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 - @available(OSX 10.12, *) - @available(iOS 10.0, *) - final class StrongLazyInstance_OSX_10_12_iOS_10_0: StrongLazyInstance { - - private var lock = os_unfair_lock() - - override func getInstance(parameters: () -> P) -> I { - - os_unfair_lock_lock(&lock) - defer { os_unfair_lock_unlock(&lock) } - - if let instance = self.instance { - return instance - } - - let instance = body(parameters) - self.instance = instance - - return instance - } - } -} - -// MARK: - WeakLazyInstance - -extension Builder { - - /// A `WeakLazyInstance` is a thread-safe instance type which lazily builds - /// and stores a weak reference on the service. - /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 - class WeakLazyInstance { - - fileprivate let body: Body - - fileprivate weak var instance: AnyObject? - - private let instanceLocker = DispatchSemaphore(value: 1) - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> WeakLazyInstance { - if #available(OSX 10.12, *), #available(iOS 10.0, *) { - return WeakLazyInstance_OSX_10_12_iOS_10_0(body) - } else { - return WeakLazyInstance(body) - } - } - - func getInstance(parameters: () -> P) -> I { - self.instanceLocker.wait() - defer { self.instanceLocker.signal() } - - if let instance = self.instance as? I { - return instance - } - - let instance = body(parameters) - self.instance = instance as AnyObject - - return instance - } - } - /// A `WeakLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds - /// and stores a weak reference on the service. - /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 - @available(OSX 10.12, *) - @available(iOS 10.0, *) - final class WeakLazyInstance_OSX_10_12_iOS_10_0: WeakLazyInstance { - - private var lock = os_unfair_lock() - - override func getInstance(parameters: () -> P) -> I { - - os_unfair_lock_lock(&lock) - defer { os_unfair_lock_unlock(&lock) } - - if let instance = self.instance as? I { - return instance - } - - let instance = body(parameters) - self.instance = instance as AnyObject - - return instance - } - } -} diff --git a/Tests/WeaverDITests/BuilderKeyTests.swift b/Tests/WeaverDITests/BuilderKeyTests.swift deleted file mode 100644 index 63f1cd41..00000000 --- a/Tests/WeaverDITests/BuilderKeyTests.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// BuilderKeyTests.swift -// WeaverTests -// -// Created by Théophane Rupin on 2/21/18. -// - -import Foundation -import XCTest - -@testable import WeaverDI - -final class BuilderKeyTests: XCTestCase { - - func test_instance_keys() { - - XCTAssertEqual(BuilderKey(for: Int.self, name: nil).description, "_:Int") - XCTAssertEqual(BuilderKey(for: Int.self, name: "test").description, "test:Int") - - XCTAssertEqual(BuilderKey(for: Int.self, name: nil, parameterType: String.self).description, "_:Int(String)") - XCTAssertEqual(BuilderKey(for: Int.self, name: "test", parameterType: String.self).description, "test:Int(String)") - - XCTAssertEqual(BuilderKey(for: Int.self, name: nil, parameterTypes: String.self, String.self).description, "_:Int(String,String)") - XCTAssertEqual(BuilderKey(for: Int.self, name: "test", parameterTypes: String.self, String.self).description, "test:Int(String,String)") - - XCTAssertEqual(BuilderKey(for: Int.self, name: nil, parameterTypes: String.self, String.self, String.self).description, "_:Int(String,String,String)") - XCTAssertEqual(BuilderKey(for: Int.self, name: "test", parameterTypes: String.self, String.self, String.self).description, "test:Int(String,String,String)") - - XCTAssertEqual(BuilderKey(for: Int.self, name: nil, parameterTypes: String.self, String.self, String.self, String.self).description, "_:Int(String,String,String,String)") - XCTAssertEqual(BuilderKey(for: Int.self, name: "test", parameterTypes: String.self, String.self, String.self, String.self).description, "test:Int(String,String,String,String)") - } -} diff --git a/Tests/WeaverDITests/BuilderStoreTests.swift b/Tests/WeaverDITests/BuilderStoreTests.swift deleted file mode 100644 index a4b27449..00000000 --- a/Tests/WeaverDITests/BuilderStoreTests.swift +++ /dev/null @@ -1,94 +0,0 @@ -// -// BuilderStoreTests.swift -// WeaverTests -// -// Created by Théophane Rupin on 2/21/18. -// - -import Foundation -import XCTest - -@testable import WeaverDI - -final class BuilderStoreTests: XCTestCase { - - var rootBuilderStore: BuilderStore! - var parentBuilderStore: BuilderStore! - var childBuilderStore: BuilderStore! - - let builderKey = BuilderKey(for: String.self, name: "test") - - func rootBuilder(_: Void) -> String { - return "root_builder" - } - - func parentBuilder(_: Void) -> String { - return "parent_builder" - } - - func childBuilder(_: Void) -> String { - return "child_builder" - } - - override func setUp() { - super.setUp() - - rootBuilderStore = BuilderStore() - - parentBuilderStore = BuilderStore() - parentBuilderStore.parent = rootBuilderStore - - childBuilderStore = BuilderStore() - childBuilderStore.parent = parentBuilderStore - } - - override func tearDown() { - defer { super.tearDown() } - - rootBuilderStore = nil - parentBuilderStore = nil - childBuilderStore = nil - } - - // MARK: - Set / Get through hierarchy - - func test_set_then_get_should_retrieve_the_builder_registered_in_the_child_first() { - - rootBuilderStore.set(scope: .container, for: builderKey) { self.rootBuilder($0()) } - parentBuilderStore.set(scope: .container, for: builderKey) { self.parentBuilder($0()) } - childBuilderStore.set(scope: .container, for: builderKey) { self.childBuilder($0()) } - - let builder: Builder? = childBuilderStore.get(for: builderKey) - - XCTAssertEqual(builder?.make()({()}), "child_builder") - } - - func test_set_then_get_should_retrieve_the_builder_registered_in_the_parent_when_its_child_has_not_it_set() { - - rootBuilderStore.set(scope: .container, for: builderKey) { self.rootBuilder($0()) } - parentBuilderStore.set(scope: .container, for: builderKey) { self.parentBuilder($0()) } - - let builder: Builder? = childBuilderStore.get(for: builderKey) - - XCTAssertEqual(builder?.make()({()}), "parent_builder") - } - - func test_set_then_get_should_retrieve_the_builder_registered_in_the_root_when_no_child_has_it_set_and_the_builder_is_not_shared_with_children() { - - rootBuilderStore.set(scope: .graph, for: builderKey) { self.rootBuilder($0()) } - - let builder: Builder? = childBuilderStore.get(for: builderKey) - - XCTAssertNil(builder) - } - - func test_set_then_get_should_retrieve_the_builder_registered_in_the_root_when_the_child_has_not_it_set_and_the_parent_has_it_set_but_not_shared_with_children() { - - rootBuilderStore.set(scope: .container, for: builderKey) { self.rootBuilder($0()) } - parentBuilderStore.set(scope: .graph, for: builderKey) { self.parentBuilder($0()) } - - let builder: Builder? = childBuilderStore.get(for: builderKey) - - XCTAssertEqual(builder?.make()({()}), "root_builder") - } -} diff --git a/Tests/WeaverDITests/BuilderTests.swift b/Tests/WeaverDITests/BuilderTests.swift deleted file mode 100644 index 7a0aede8..00000000 --- a/Tests/WeaverDITests/BuilderTests.swift +++ /dev/null @@ -1,94 +0,0 @@ -// -// BuilderTests.swift -// WeaverDITests -// -// Created by Théophane Rupin on 6/7/18. -// - -import Foundation -import XCTest - -@testable import WeaverDI - -final class BuilderTests: XCTestCase { - - func test_builder_should_create_a_weak_instance_when_scope_is_weak() { - - let builder = Builder(scope: .weak, body: { (_: () -> Void) -> NSObject in return NSObject() }) - - var strongInstance: NSObject? = builder.make()({()}) - weak var weakInstance: NSObject? = builder.make()({()}) - - XCTAssertEqual(strongInstance, weakInstance) - strongInstance = nil - XCTAssertNil(weakInstance) - } - - func test_builder_should_create_a_strong_instance_when_scope_is_container() { - - let builder = Builder(scope: .container, body: { (_: () -> Void) -> NSObject in return NSObject() }) - - var strongInstance: NSObject? = builder.make()({()}) - weak var weakInstance: NSObject? = builder.make()({()}) - - XCTAssertEqual(strongInstance, weakInstance) - strongInstance = nil - XCTAssertNotNil(weakInstance) - } - - func test_builder_should_create_a_strong_instance_when_scope_is_graph() { - - let builder = Builder(scope: .graph, body: { (_: () -> Void) -> NSObject in return NSObject() }) - - var strongInstance: NSObject? = builder.make()({()}) - weak var weakInstance: NSObject? = builder.make()({()}) - - XCTAssertEqual(strongInstance, weakInstance) - strongInstance = nil - XCTAssertNotNil(weakInstance) - } - - func test_builder_should_create_new_instances_when_scope_is_transient() { - - let builder = Builder(scope: .transient, body: { (_: () -> Void) -> NSObject in return NSObject() }) - - var strongInstance: NSObject? = builder.make()({()}) - weak var weakInstance: NSObject? = builder.make()({()}) - - XCTAssertNotEqual(strongInstance, weakInstance) - strongInstance = nil - XCTAssertNil(weakInstance) - } - - // The race condition being extremely unlikely, this test would need to run for at least one - // minute in order to "prove" the builder thread-safety. - // This is why the test is deactivated, but kept here since it can be handy to debug concurrency. - func xtest_builder_should_ensure_thread_safety_when_building_concurrently() { - - var instances = Set() - let lock = DispatchSemaphore(value: 1) - - let dispatchQueue = DispatchQueue(label: "\(DependencyContainerTests.self)", attributes: [.concurrent]) - - let expectations = (1...10000).flatMap { stepIndex -> [XCTestExpectation] in - let builder = Builder(scope: .container, body: { (_: () -> Void) -> NSObject in return NSObject() }) - - return (1...100).map { threadIndex -> XCTestExpectation in - let expectation = self.expectation(description: "concurrent_resolution_\(stepIndex)_\(threadIndex)") - dispatchQueue.async { - let instance = builder.make()({()}) - - lock.wait() - instances.insert(instance) - lock.signal() - expectation.fulfill() - } - return expectation - } - } - - wait(for: expectations, timeout: 10) - - XCTAssertEqual(instances.count, 10000) - } -} diff --git a/Tests/WeaverDITests/DependencyContainerTests.swift b/Tests/WeaverDITests/DependencyContainerTests.swift deleted file mode 100644 index 26822597..00000000 --- a/Tests/WeaverDITests/DependencyContainerTests.swift +++ /dev/null @@ -1,242 +0,0 @@ -// -// DependencyContainerTests.swift -// WeaverTests -// -// Created by Théophane Rupin on 2/20/18. -// - -import Foundation -import XCTest - -@testable import WeaverDI - -final class DependencyContainerTests: XCTestCase { - - var builderStoreSpy: BuilderStoreSpy! - var dependencyContainer: DependencyContainer! - - override func setUp() { - super.setUp() - - builderStoreSpy = BuilderStoreSpy() - dependencyContainer = DependencyContainer(builders: builderStoreSpy) - } - - override func tearDown() { - defer { super.tearDown() } - - builderStoreSpy = nil - dependencyContainer = nil - } - - // MARK: - Register / Resolve - - func test_register_then_resolve_with_no_parameter_should_build_the_dependency() { - - var builderCallCount = 0 - - dependencyContainer.dependencies.register(DependencyStub.self, scope: .graph, name: "test") { dependencies in - builderCallCount += 1 - return DependencyStub(dependencies: dependencies) - } - - let builderKey = BuilderKey(for: DependencyStub.self, name: "test") - builderStoreSpy.containsStubs[builderKey] = true - - _ = dependencyContainer.resolve(DependencyStub.self, name: "test") - - XCTAssertEqual(builderCallCount, 1) - XCTAssertEqual(builderStoreSpy.keyRecords.count, 3) - XCTAssertEqual(builderStoreSpy.keyRecords.last, builderKey) - XCTAssertEqual(builderStoreSpy.builderRecords.last?.scope, .graph) - } - - func test_register_then_resolve_with_one_parameter_should_build_the_dependency() { - - var builderCallCount = 0 - - dependencyContainer.dependencies.register(DependencyStub.self, scope: .graph, name: "test") { (dependencies: DependencyResolver, parameter1: Int) in - builderCallCount += 1 - return DependencyStub(dependencies: dependencies, parameter1: parameter1) - } - - let builderKey = BuilderKey(for: DependencyStub.self, name: "test", parameterType: Int.self) - builderStoreSpy.containsStubs[builderKey] = true - - let dependency = dependencyContainer.resolve(DependencyStub.self, name: "test", parameter: 42) - - XCTAssertEqual(builderCallCount, 1) - XCTAssertEqual(builderStoreSpy.keyRecords.count, 3) - XCTAssertEqual(builderStoreSpy.keyRecords.last, builderKey) - XCTAssertEqual(builderStoreSpy.builderRecords.last?.scope, .graph) - - XCTAssertEqual(dependency.parameter1, 42) - } - - func test_register_then_resolve_with_two_paramters_should_build_the_dependency() { - - var builderCallCount = 0 - - dependencyContainer.dependencies.register(DependencyStub.self, scope: .graph, name: "test") { (dependencies: DependencyResolver, parameter1: Int, parameter2: String) in - builderCallCount += 1 - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2) - } - - let builderKey = BuilderKey(for: DependencyStub.self, name: "test", parameterTypes: Int.self, String.self) - builderStoreSpy.containsStubs[builderKey] = true - - let dependency = dependencyContainer.resolve(DependencyStub.self, name: "test", parameters: 42, "43") - - XCTAssertEqual(builderCallCount, 1) - XCTAssertEqual(dependency.parameter1, 42) - XCTAssertEqual(dependency.parameter2, "43") - - XCTAssertEqual(builderStoreSpy.keyRecords.count, 3) - XCTAssertEqual(builderStoreSpy.keyRecords.last, builderKey) - XCTAssertEqual(builderStoreSpy.builderRecords.last?.scope, .graph) - } - - func test_register_then_resolve_with_three_paramters_should_build_the_dependency() { - - var builderCallCount = 0 - - dependencyContainer.dependencies.register(DependencyStub.self, scope: .graph, name: "test") { (dependencies: DependencyResolver, parameter1: Int, parameter2: String, parameter3: Double) in - builderCallCount += 1 - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2, parameter3: parameter3) - } - - let builderKey = BuilderKey(for: DependencyStub.self, name: "test", parameterTypes: Int.self, String.self, Double.self) - builderStoreSpy.containsStubs[builderKey] = true - - let dependency = dependencyContainer.resolve(DependencyStub.self, name: "test", parameters: 42, "43", 44.0) - - XCTAssertEqual(builderCallCount, 1) - XCTAssertEqual(dependency.parameter1, 42) - XCTAssertEqual(dependency.parameter2, "43") - XCTAssertEqual(dependency.parameter3, 44.0) - - XCTAssertEqual(builderStoreSpy.keyRecords.count, 3) - XCTAssertEqual(builderStoreSpy.keyRecords.last, builderKey) - XCTAssertEqual(builderStoreSpy.builderRecords.last?.scope, .graph) - } - - func test_register_then_resolve_with_four_paramters_should_build_the_dependency() { - - var builderCallCount = 0 - - dependencyContainer.dependencies.register(DependencyStub.self, scope: .graph, name: "test") { (dependencies: DependencyResolver, parameter1: Int, parameter2: String, parameter3: Double, parameter4: Float) in - builderCallCount += 1 - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2, parameter3: parameter3, parameter4: parameter4) - } - - let builderKey = BuilderKey(for: DependencyStub.self, name: "test", parameterTypes: Int.self, String.self, Double.self, Float.self) - builderStoreSpy.containsStubs[builderKey] = true - - let dependency = dependencyContainer.resolve(DependencyStub.self, name: "test", parameters: 42, "43", 44.0, 45 as Float) - - XCTAssertEqual(builderCallCount, 1) - XCTAssertEqual(dependency.parameter1, 42) - XCTAssertEqual(dependency.parameter2, "43") - XCTAssertEqual(dependency.parameter3, 44.0) - XCTAssertEqual(dependency.parameter4, 45 as Float) - - XCTAssertEqual(builderStoreSpy.keyRecords.count, 3) - XCTAssertEqual(builderStoreSpy.keyRecords.last, builderKey) - XCTAssertEqual(builderStoreSpy.builderRecords.last?.scope, .graph) - } - - // MARK: - Retain cycle - - func test_container_should_deallocate_after_calling_register_and_resolve_with_no_paramter() { - - dependencyContainer = DependencyContainer() - weak var weakDependencyContainer: DependencyContainer? = dependencyContainer - dependencyContainer.dependencies.register(DependencyStub.self, scope: .weak) { dependencies in - return DependencyStub(dependencies: dependencies) - } - _ = dependencyContainer.resolve(DependencyStub.self) - dependencyContainer = nil - - XCTAssertNil(weakDependencyContainer) - } - - func test_container_should_deallocate_after_calling_register_and_resolve_with_one_paramter() { - - dependencyContainer = DependencyContainer() - weak var weakDependencyContainer: DependencyContainer? = dependencyContainer - dependencyContainer.dependencies.register(DependencyStub.self, scope: .weak) { (dependencies: DependencyResolver, parameter1: Int) in - return DependencyStub(dependencies: dependencies, parameter1: parameter1) - } - _ = dependencyContainer.resolve(DependencyStub.self, parameter: 42) - dependencyContainer = nil - - XCTAssertNil(weakDependencyContainer) - } - - func test_container_should_deallocate_after_calling_refister_and_resolve_with_two_parameters() { - - dependencyContainer = DependencyContainer() - weak var weakDependencyContainer: DependencyContainer? = dependencyContainer - dependencyContainer.dependencies.register(DependencyStub.self, scope: .weak) { (dependencies: DependencyResolver, parameter1: Int, parameter2: String) in - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2) - } - _ = dependencyContainer.resolve(DependencyStub.self, parameters: 42, "43") - dependencyContainer = nil - - XCTAssertNil(weakDependencyContainer) - } - - func test_container_should_deallocate_after_calling_register_and_resolve_with_three_paramter() { - - dependencyContainer = DependencyContainer() - weak var weakDependencyContainer: DependencyContainer? = dependencyContainer - dependencyContainer.dependencies.register(DependencyStub.self, scope: .weak) { (dependencies: DependencyResolver, parameter1: Int, parameter2: String, parameter3: Double) in - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2, parameter3: parameter3) - } - _ = dependencyContainer.resolve(DependencyStub.self, parameters: 42, "43", 44.0) - dependencyContainer = nil - - XCTAssertNil(weakDependencyContainer) - } - - func test_container_should_deallocate_after_calling_register_and_resolve_with_four_paramters() { - - dependencyContainer = DependencyContainer() - weak var weakDependencyContainer: DependencyContainer? = dependencyContainer - dependencyContainer.dependencies.register(DependencyStub.self, scope: .weak) { (dependencies: DependencyResolver, parameter1: Int, parameter2: String, parameter3: Double, parameter4: Float) in - return DependencyStub(dependencies: dependencies, parameter1: parameter1, parameter2: parameter2, parameter3: parameter3, parameter4: parameter4) - } - _ = dependencyContainer.resolve(DependencyStub.self, parameters: 42, "43", 44.0, 45 as Float) - dependencyContainer = nil - - XCTAssertNil(weakDependencyContainer) - } -} - -// MARK: - Stubs - -private extension DependencyContainerTests { - - final class DependencyStub { - - let dependencies: DependencyResolver - - let parameter1: Int - let parameter2: String - let parameter3: Double - let parameter4: Float - - init(dependencies: DependencyResolver, - parameter1: Int = 0, - parameter2: String = "", - parameter3: Double = 0, - parameter4: Float = 0) { - - self.dependencies = dependencies - self.parameter1 = parameter1 - self.parameter2 = parameter2 - self.parameter3 = parameter3 - self.parameter4 = parameter4 - } - } -} diff --git a/Tests/WeaverDITests/Spies.swift b/Tests/WeaverDITests/Spies.swift deleted file mode 100644 index 9d94921b..00000000 --- a/Tests/WeaverDITests/Spies.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// Spies.swift -// WeaverTests -// -// Created by Théophane Rupin on 2/21/18. -// - -import Foundation - -@testable import WeaverDI - -final class BuilderStoreSpy: BuilderStoring { - - private(set) var getRecordsCallCount = 0 - - private(set) var setRecordsCallCount = 0 - - private(set) var keyRecords = [BuilderKey]() - - private(set) var isCalledFromAChildRecords = [Bool]() - - private(set) var builderRecords = [AnyBuilder]() - - var builderStubs = [BuilderKey: AnyBuilder]() - - var containsStubs = [BuilderKey: Bool]() - - weak var parent: BuilderStoring? - - func get(for key: BuilderKey, isCalledFromAChild: Bool) -> Builder? { - keyRecords.append(key) - isCalledFromAChildRecords.append(isCalledFromAChild) - return builderStubs[key] as? Builder - } - - func set(_ builder: Builder, for key: BuilderKey) { - builderRecords.append(builder) - keyRecords.append(key) - builderStubs[key] = builder - } - - func contains(key: BuilderKey, isCalledFromAChild: Bool) -> Bool { - keyRecords.append(key) - isCalledFromAChildRecords.append(isCalledFromAChild) - return containsStubs[key] ?? false - } -} diff --git a/WeaverDI.xcodeproj/project.pbxproj b/WeaverDI.xcodeproj/project.pbxproj index efad9a4b..22e91942 100644 --- a/WeaverDI.xcodeproj/project.pbxproj +++ b/WeaverDI.xcodeproj/project.pbxproj @@ -22,6 +22,7 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 196398372107EAE900E818FD /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* Scope.swift */; }; OBJ_224 /* api.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* api.c */; }; OBJ_225 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* emitter.c */; }; OBJ_226 /* parser.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* parser.c */; }; @@ -193,21 +194,8 @@ OBJ_517 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; OBJ_518 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; OBJ_519 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_535 /* Builder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* Builder.swift */; }; - OBJ_536 /* BuilderKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* BuilderKey.swift */; }; - OBJ_537 /* BuilderStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* BuilderStore.swift */; }; - OBJ_538 /* DependencyContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* DependencyContainer.swift */; }; - OBJ_539 /* DependencyResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* DependencyResolver.swift */; }; - OBJ_540 /* DependencyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* DependencyStore.swift */; }; - OBJ_541 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* Instance.swift */; }; OBJ_542 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Reference.swift */; }; - OBJ_543 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* Scope.swift */; }; OBJ_550 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_562 /* BuilderKeyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_55 /* BuilderKeyTests.swift */; }; - OBJ_563 /* BuilderStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_56 /* BuilderStoreTests.swift */; }; - OBJ_564 /* BuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_57 /* BuilderTests.swift */; }; - OBJ_565 /* DependencyContainerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* DependencyContainerTests.swift */; }; - OBJ_566 /* Spies.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* Spies.swift */; }; OBJ_568 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; OBJ_574 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Constructor.swift */; }; OBJ_575 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_183 /* Decoder.swift */; }; @@ -641,13 +629,6 @@ OBJ_31 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; OBJ_32 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; OBJ_33 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; - OBJ_35 /* Builder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Builder.swift; sourceTree = ""; }; - OBJ_36 /* BuilderKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKey.swift; sourceTree = ""; }; - OBJ_37 /* BuilderStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStore.swift; sourceTree = ""; }; - OBJ_38 /* DependencyContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainer.swift; sourceTree = ""; }; - OBJ_39 /* DependencyResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyResolver.swift; sourceTree = ""; }; - OBJ_40 /* DependencyStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyStore.swift; sourceTree = ""; }; - OBJ_41 /* Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Instance.swift; sourceTree = ""; }; OBJ_42 /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; OBJ_43 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; OBJ_46 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; @@ -658,11 +639,6 @@ OBJ_51 /* ParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTests.swift; sourceTree = ""; }; OBJ_52 /* SourceKitDeclarationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclarationTests.swift; sourceTree = ""; }; OBJ_53 /* TypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeTests.swift; sourceTree = ""; }; - OBJ_55 /* BuilderKeyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderKeyTests.swift; sourceTree = ""; }; - OBJ_56 /* BuilderStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderStoreTests.swift; sourceTree = ""; }; - OBJ_57 /* BuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderTests.swift; sourceTree = ""; }; - OBJ_58 /* DependencyContainerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainerTests.swift; sourceTree = ""; }; - OBJ_59 /* Spies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Spies.swift; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; OBJ_60 /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = SOURCE_ROOT; }; OBJ_61 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tools; sourceTree = SOURCE_ROOT; }; @@ -1114,13 +1090,6 @@ OBJ_34 /* WeaverDI */ = { isa = PBXGroup; children = ( - OBJ_35 /* Builder.swift */, - OBJ_36 /* BuilderKey.swift */, - OBJ_37 /* BuilderStore.swift */, - OBJ_38 /* DependencyContainer.swift */, - OBJ_39 /* DependencyResolver.swift */, - OBJ_40 /* DependencyStore.swift */, - OBJ_41 /* Instance.swift */, OBJ_42 /* Reference.swift */, OBJ_43 /* Scope.swift */, ); @@ -1173,11 +1142,6 @@ OBJ_54 /* WeaverDITests */ = { isa = PBXGroup; children = ( - OBJ_55 /* BuilderKeyTests.swift */, - OBJ_56 /* BuilderStoreTests.swift */, - OBJ_57 /* BuilderTests.swift */, - OBJ_58 /* DependencyContainerTests.swift */, - OBJ_59 /* Spies.swift */, ); name = WeaverDITests; path = Tests/WeaverDITests; @@ -1980,15 +1944,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_535 /* Builder.swift in Sources */, - OBJ_536 /* BuilderKey.swift in Sources */, - OBJ_537 /* BuilderStore.swift in Sources */, - OBJ_538 /* DependencyContainer.swift in Sources */, - OBJ_539 /* DependencyResolver.swift in Sources */, - OBJ_540 /* DependencyStore.swift in Sources */, - OBJ_541 /* Instance.swift in Sources */, + 196398372107EAE900E818FD /* Scope.swift in Sources */, OBJ_542 /* Reference.swift in Sources */, - OBJ_543 /* Scope.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2004,11 +1961,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_562 /* BuilderKeyTests.swift in Sources */, - OBJ_563 /* BuilderStoreTests.swift in Sources */, - OBJ_564 /* BuilderTests.swift in Sources */, - OBJ_565 /* DependencyContainerTests.swift in Sources */, - OBJ_566 /* Spies.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 946857bd841b71be85428fcaa90922fa87ea60cb Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 10:00:36 -0700 Subject: [PATCH 03/12] [#55] Restored thread safety --- Resources/dependency_resolver.stencil | 119 ++++++---- Sample/API/Generated/Weaver.API.swift | 14 +- .../API/Generated/Weaver.ImageManager.swift | 40 ++-- .../API/Generated/Weaver.MovieManager.swift | 26 +-- Sample/Pods/Pods.xcodeproj/project.pbxproj | 106 ++++----- .../Sample/Generated/Weaver.AppDelegate.swift | 84 +++---- .../Generated/Weaver.HomeViewController.swift | 21 +- .../Weaver.MovieViewController.swift | 21 +- .../Generated/Weaver.PersonManager.swift | 14 +- .../Generated/Weaver.ReviewManager.swift | 14 +- ...er.WSReviewViewController+Injectable.swift | 2 +- Sources/WeaverCodeGen/Generator.swift | 4 +- Sources/WeaverDI/Instance.swift | 216 ++++++++++++++++++ Sources/WeaverDI/Reference.swift | 34 --- WeaverDI.xcodeproj/project.pbxproj | 8 +- 15 files changed, 469 insertions(+), 254 deletions(-) create mode 100644 Sources/WeaverDI/Instance.swift delete mode 100644 Sources/WeaverDI/Reference.swift diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index f983ce1b..4b82ebbd 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -5,7 +5,7 @@ {% macro ParametersPassIn parameters %}{% for parameter in parameters %}{{parameter.name}}: {{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}{% endmacro %} {% macro ParametersPassInWithSeparator parameters %}{% if parameters %}, {% endif %}{% call ParametersPassIn parameters %}{% endmacro %} -{% macro ParameterAssign parameters %} +{% macro ParametersAssign parameters %} {% for parameter in parameters %} self.{{parameter.name}} = {{parameter.name}} {% endfor %} @@ -13,13 +13,9 @@ {% macro DependencyContainerBuilder dependency %}{{dependency.type.name}}DependencyContainer(injecting: self{% call ParametersPassInWithSeparator dependency.parameters %}){% endmacro %} -{% macro AttributesDecl dependencies %} -{% for dependency in dependencies %} - let {{dependency.name}}: {{dependency.abstractType}} -{% endfor %} -{% endmacro %} +{% macro Instance dependency %}Instance<{{dependency.abstractType}}>{% endmacro %} -{% macro DependencyResolverDecl dependencies %} +{% macro DependencyResolverDecls dependencies %} {% for dependency in dependencies %} {% if not dependency.customRef %} @@ -38,6 +34,26 @@ {% endfor %} {% endmacro %} +{% macro DependencyResolverImpl dependency %} + {% if not dependency.customRef %} + + {% if dependency.parameters %} + func {{dependency.name}}({% call ParametersDecl dependency.parameters %}) -> {{dependency.abstractType}} { + return {{dependency.name}}Ref({% call ParametersPassIn dependency.parameters %}).value + } + {% else %} + var {{dependency.name}}: {{dependency.abstractType}} { + return {{dependency.name}}Ref.value + } + {% endif %} + + {% else %}{# not dependency.customRef #} + var {{dependency.name}}: {{dependency.abstractType}} { + return {{dependency.name}}Ref.value + } + {% endif %}{# not dependency.customRef #} +{% endmacro %} + /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! @@ -51,81 +67,97 @@ import {{moduleName}} {% if dependencyContainer.references %} protocol {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% call DependencyResolverDecl dependencyContainer.references %} + {% for reference in dependencyContainer.references %} + + {% if not reference.customRef %} + + {% if reference.parameters %} + func {{reference.name}}({% call ParametersDecl reference.parameters %}) -> {{reference.abstractType}} + {% else %} + var {{reference.name}}: {{reference.abstractType}} { get } + {% endif %} + + {% else %}{# not reference.customRef #} + var {{reference.name}}: {{reference.abstractType}} { get } + {% endif %}{# not reference.customRef #} + + {% endfor %} } {% endif %} {% if dependencyContainer.doesSupportObjc %}@objc {% endif %}protocol {{dependencyContainer.targetType.name}}DependencyResolver { - {% call DependencyResolverDecl dependencyContainer.parameters %} + {% call DependencyResolverDecls dependencyContainer.parameters %} - {% call DependencyResolverDecl dependencyContainer.references %} + {% call DependencyResolverDecls dependencyContainer.references %} - {% call DependencyResolverDecl dependencyContainer.registrations %} + {% call DependencyResolverDecls dependencyContainer.registrations %} } final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}: {% if dependencyContainer.doesSupportObjc %}NSObject, {% endif %}{{dependencyContainer.targetType.name}}DependencyResolver { - {% call AttributesDecl dependencyContainer.parameters %} + {% for parameter in dependencyContainer.parameters %} + let {{parameter.name}}: {{parameter.abstractType}} + {% endfor %} - {% call AttributesDecl dependencyContainer.references %} + {% for reference in dependencyContainer.references %} + let {{reference.name}}: {{reference.abstractType}} + {% endfor %} {% for registration in dependencyContainer.registrations %} + {% if registration.isTransient %} - {% if not registration.isTransient %} - private var _{{registration.name}}: {{registration.abstractType}}? - {% endif %} - - {% if not registration.isTransient %} - var {{registration.name}}: {{registration.abstractType}} { - {% else %}{# not registration.isTransient #} + {% if not registration.customRef %} - {% if not registration.parameters %} - var {{registration.name}}: {{registration.abstractType}} { - {% else %} + {% if registration.parameters %} func {{registration.name}}({% call ParametersDecl registration.parameters %}) -> {{registration.abstractType}} { + {% else %} + var {{registration.name}}: {{registration.abstractType}} { {% endif %} - {% endif %}{# not registration.isTransient #} + {% else %}{# not registration.customRef #} + var {{registration.name}}: {{registration.abstractType}} { + {% endif %}{# not registration.customRef #} - {% if not registration.isTransient %} - if let value = _{{registration.name}} { return value } - {% endif %} + {% else %}{# registration.isTransient #} + {% call DependencyResolverImpl registration %} + private lazy var {{registration.name}}Ref = {% call Instance registration %}(scope: .{{registration.scope}}) { [unowned self] in + {% endif %} {% if not registration.customRef %} {% if registration.hasBuilder %} let dependencies = {% call DependencyContainerBuilder registration %} - let value = {{registration.type}}(injecting: dependencies) + return {{registration.type}}(injecting: dependencies) {% else %}{# registration.hasBuilder #} - let value = {{registration.type}}() + return {{registration.type}}() {% endif %}{# registration.hasBuilder #} {% else %}{# not registration.customRef #} - let value = {{registration.name}}CustomRef() + return self.{{registration.name}}CustomRef() {% endif %}{# not registration.customRef #} - - {% if not registration.isTransient %} - _{{registration.name}} = value - {% endif %} - - return value } {% endfor %}{# dependencyContainer.registrations #} init({% if dependencyContainer.references %}injecting dependencies: {{dependencyContainer.targetType.name}}InputDependencyResolver{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { - {% call ParameterAssign dependencyContainer.parameters %} + {% call ParametersAssign dependencyContainer.parameters %} {% for reference in dependencyContainer.references %} {% if reference.parameters %} - self.{{reference.name}} = dependencies.{{reference.nane}}({% call ParametersPassIn dependency.parameters %}) + {{reference.name}} = dependencies.{{reference.nane}}({% call ParametersPassIn dependency.parameters %}) {% else %} - self.{{reference.name}} = dependencies.{{reference.name}} + {{reference.name}} = dependencies.{{reference.name}} {% endif %} {% endfor %} {% if dependencyContainer.doesSupportObjc %}super.init(){% endif %} + + {% for registration in dependencyContainer.registrations %} + {% if not registration.isTransient %} + _ = {{registration.name}}Ref.value + {% endif %} + {% endfor %}{# dependencyContainer.registrations #} } } @@ -151,17 +183,22 @@ protocol {{dependencyContainer.targetType.name}}{% if dependencyContainer.doesSu {% if dependencyContainer.references %} final class {{dependencyContainer.targetType.name}}ShimDependencyContainer{{dependencyContainer.targetType.generics}}: {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% call AttributesDecl dependencyContainer.references %} + {% for reference in dependencyContainer.references %} + let {{reference.name}}: {{reference.abstractType}} + {% endfor %} init({% call ParametersDecl dependencyContainer.references %}) { - {% call ParameterAssign dependencyContainer.references %} + {% for reference in dependencyContainer.references %} + self.{{reference.name}} = {{reference.name}} + {% endfor %} } } {% endif %}{# dependencyContainer.references #} extension {{dependencyContainer.targetType.name}} { + public convenience init({% call ParametersDecl dependencyContainer.references %}{% if dependencyContainer.references %}{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { {% if dependencyContainer.references %} diff --git a/Sample/API/Generated/Weaver.API.swift b/Sample/API/Generated/Weaver.API.swift index f5cd2fbf..341301b4 100644 --- a/Sample/API/Generated/Weaver.API.swift +++ b/Sample/API/Generated/Weaver.API.swift @@ -12,15 +12,15 @@ protocol MovieAPIDependencyResolver { } final class MovieAPIDependencyContainer: MovieAPIDependencyResolver { let urlSession: URLSession - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() } init(injecting dependencies: MovieAPIInputDependencyResolver) { - self.urlSession = dependencies.urlSession + urlSession = dependencies.urlSession + _ = loggerRef.value } } protocol MovieAPIDependencyInjectable { diff --git a/Sample/API/Generated/Weaver.ImageManager.swift b/Sample/API/Generated/Weaver.ImageManager.swift index 0b91dbcb..f133de86 100644 --- a/Sample/API/Generated/Weaver.ImageManager.swift +++ b/Sample/API/Generated/Weaver.ImageManager.swift @@ -11,29 +11,29 @@ protocol ImageManagerDependencyResolver { var movieAPI: APIProtocol { get } } final class ImageManagerDependencyContainer: ImageManagerDependencyResolver { - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value - } - private var _urlSession: URLSession? - var urlSession: URLSession { - if let value = _urlSession { return value } - let value = urlSessionCustomRef() - _urlSession = value - return value - } - private var _movieAPI: APIProtocol? - var movieAPI: APIProtocol { - if let value = _movieAPI { return value } + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() + } + var urlSession: URLSession { + return urlSessionRef.value + } + private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in + return self.urlSessionCustomRef() + } + var movieAPI: APIProtocol { + return movieAPIRef.value + } + private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in let dependencies = MovieAPIDependencyContainer(injecting: self) - let value = MovieAPI(injecting: dependencies) - _movieAPI = value - return value + return MovieAPI(injecting: dependencies) } init() { + _ = loggerRef.value + _ = urlSessionRef.value + _ = movieAPIRef.value } } extension ImageManagerDependencyContainer: MovieAPIInputDependencyResolver {} diff --git a/Sample/API/Generated/Weaver.MovieManager.swift b/Sample/API/Generated/Weaver.MovieManager.swift index 9ebeff3e..2b92aaf3 100644 --- a/Sample/API/Generated/Weaver.MovieManager.swift +++ b/Sample/API/Generated/Weaver.MovieManager.swift @@ -16,24 +16,24 @@ protocol MovieManagerDependencyResolver { final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { let host: String? let logger: Logger - private var _urlSession: URLSession? - var urlSession: URLSession { - if let value = _urlSession { return value } - let value = urlSessionCustomRef() - _urlSession = value - return value + var urlSession: URLSession { + return urlSessionRef.value } - private var _movieAPI: APIProtocol? - var movieAPI: APIProtocol { - if let value = _movieAPI { return value } + private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in + return self.urlSessionCustomRef() + } + var movieAPI: APIProtocol { + return movieAPIRef.value + } + private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in let dependencies = MovieAPIDependencyContainer(injecting: self) - let value = MovieAPI(injecting: dependencies) - _movieAPI = value - return value + return MovieAPI(injecting: dependencies) } init(injecting dependencies: MovieManagerInputDependencyResolver, host: String?) { self.host = host - self.logger = dependencies.logger + logger = dependencies.logger + _ = urlSessionRef.value + _ = movieAPIRef.value } } extension MovieManagerDependencyContainer: MovieAPIInputDependencyResolver {} diff --git a/Sample/Pods/Pods.xcodeproj/project.pbxproj b/Sample/Pods/Pods.xcodeproj/project.pbxproj index a4f4ba8e..7cfc7c32 100644 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Sample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,20 +7,20 @@ objects = { /* Begin PBXBuildFile section */ - 10F6D51E82D3BF5E4C363BF28B2C2F68 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */; }; 5B63061629AFA550AD38A56103897B9A /* Pods-Sample-API-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 64CF1B9380FA81C4203A34AF2228AF02 /* Pods-Sample-API-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */; }; 6EE9518448AE9EB982EDD42720EACACD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - 785B49F45E5DFBF11B3FF06E4BD03CE4 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */; }; - 7DDE9BF9A3CCCDEAE94C08799A8B2621 /* WeaverDI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */; }; + 7B45094F548366445E7CA3D23EBC4FB9 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */; }; 83B4F2D14E8115DDB2B5B50B4C3600E7 /* Pods-Sample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 848A62154F2BABBF459EF5274411D94E /* Pods-Sample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */; }; 93A1AC96941AD508CF05C2163E2B214D /* Pods-APITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */; }; 9935D8506BDE4B1F9EA6B3C5994C8CF9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; A1AC955987F50EB9BCB3E45A2969FB17 /* Pods-APITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3B4E965D941415B4D3ABBF9D409C220 /* WeaverDI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */; }; DB6288C36D418EFACB78792D2781D36F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; + E8EF4708B8980A34E670D6600C9CA246 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */; }; FD1ED241C250A802502D2206ED85F3BB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -59,14 +59,16 @@ 0423641EDDBE89835A2DC9645D9B086A /* Pods-Sample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-frameworks.sh"; sourceTree = ""; }; 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-API-dummy.m"; sourceTree = ""; }; 114A46BCC8C437864F62599DC4AEC6E8 /* Pods-Sample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-acknowledgements.plist"; sourceTree = ""; }; - 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scope.swift; path = Sources/WeaverDI/Scope.swift; sourceTree = ""; }; + 13F35DB50FCA2AD19574CB00CF106ADE /* WeaverDI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = WeaverDI.modulemap; sourceTree = ""; }; 148DEE0CE8A2A6E01E7D4B10989F03DE /* Pods-APITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-frameworks.sh"; sourceTree = ""; }; - 175656A61F4ABD38C2C6A8CEB3705E90 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 182DE0EEE13129071222BD0DB3F1093A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 18F501DA62F95D4FA338D7373EE5AF59 /* Pods-APITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-resources.sh"; sourceTree = ""; }; 27122AF041645967CDA2A4CC70F60E7C /* Pods-Sample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-resources.sh"; sourceTree = ""; }; + 2D44A859D307B3795C8150C408F5EFA7 /* WeaverDI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-prefix.pch"; sourceTree = ""; }; 3150966CA6FEA592CB27065618E324EB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 350A1ADF92DAD13BDEC589245E7A20A0 /* Pods-Sample-API.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample-API.debug.xcconfig"; sourceTree = ""; }; 350D37C46659B87EC5B28735DB690775 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "WeaverDI-dummy.m"; sourceTree = ""; }; 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-APITests-umbrella.h"; sourceTree = ""; }; 4F77533A6CB82983C07DBBDABFAEB860 /* Pods-APITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-APITests.modulemap"; sourceTree = ""; }; 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-dummy.m"; sourceTree = ""; }; @@ -74,33 +76,31 @@ 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Sample-umbrella.h"; sourceTree = ""; }; 533EAB4214607159F018CB7FAC93F090 /* Pods-Sample-API-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-API-acknowledgements.plist"; sourceTree = ""; }; 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scope.swift; path = Sources/WeaverDI/Scope.swift; sourceTree = ""; }; 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Sample-API-umbrella.h"; sourceTree = ""; }; - 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = WeaverDI.xcconfig; sourceTree = ""; }; 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample_API.framework; path = "Pods-Sample-API.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 67C034431416D80F5D6D23C922E9FE0A /* WeaverDI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-prefix.pch"; sourceTree = ""; }; + 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-umbrella.h"; sourceTree = ""; }; 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample.framework; path = "Pods-Sample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 722BD3CFDF58BCB3D871EC77FA9A54F0 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 8087AF3F592D415D774E7DA1A93631D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 842499A5B807EFD3E78C59D5C6A4CD2F /* Pods-APITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.release.xcconfig"; sourceTree = ""; }; 8604F1FE8BC61033736D656833C1A784 /* Pods-Sample-API-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-API-resources.sh"; sourceTree = ""; }; + 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = WeaverDI.xcconfig; sourceTree = ""; }; 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_APITests.framework; path = "Pods-APITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 97AD5269E636665AD0FA34FB1F9A83A8 /* Pods-Sample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample.modulemap"; sourceTree = ""; }; - 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-umbrella.h"; sourceTree = ""; }; - A6C3DC30DDD07991B8E0E6E6212C3FCC /* WeaverDI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = WeaverDI.modulemap; sourceTree = ""; }; A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-APITests-dummy.m"; sourceTree = ""; }; A8B92042A3806B61ABA082CEE77B5DFC /* Pods-Sample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-acknowledgements.markdown"; sourceTree = ""; }; - AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "WeaverDI-dummy.m"; sourceTree = ""; }; + AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Instance.swift; path = Sources/WeaverDI/Instance.swift; sourceTree = ""; }; B7CBBCDD3E4A9542DA85828DBC244337 /* Pods-APITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-APITests-acknowledgements.markdown"; sourceTree = ""; }; B85FBB61A428060576E2E596114F9D4B /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.release.xcconfig"; sourceTree = ""; }; - B8C9E32F9EA8632F7D83717C03955E24 /* WeaverDI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = WeaverDI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - BFFB41C2D471348C8B9FE82156C140E0 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reference.swift; path = Sources/WeaverDI/Reference.swift; sourceTree = ""; }; DBF53050CAE51EC86582A4737D71C8F9 /* Pods-Sample-API-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-API-acknowledgements.markdown"; sourceTree = ""; }; DD8A71C0AFBF2D5BCB73FB2DC7042B5B /* Pods-APITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.debug.xcconfig"; sourceTree = ""; }; E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = WeaverDI.framework; path = WeaverDI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E26B21FED4FD48540A0AF5DAF6943FD6 /* WeaverDI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = WeaverDI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; E3E1EB734F01B09D7D4F64D07EE006D9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; E5F6A31D5424DC9BDACEFF1400381527 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.debug.xcconfig"; sourceTree = ""; }; EBEDACC1575B2A45B9B9040A85F2EBA7 /* Pods-Sample-API.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample-API.modulemap"; sourceTree = ""; }; - F82094ED85E672888D42F4E5FBBC0395 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -142,7 +142,7 @@ 05F19D4C46C34C417F6134D3D8F732A2 /* Development Pods */ = { isa = PBXGroup; children = ( - B3B93E97177530D19C7940DF89125B4B /* WeaverDI */, + 196201FF0CD30BEE31F39A30CDB92CAC /* WeaverDI */, ); name = "Development Pods"; sourceTree = ""; @@ -182,12 +182,24 @@ path = "Target Support Files/Pods-Sample"; sourceTree = ""; }; - 5C5147D4A7E2139235436857A9C5944B /* Pod */ = { + 196201FF0CD30BEE31F39A30CDB92CAC /* WeaverDI */ = { isa = PBXGroup; children = ( - 175656A61F4ABD38C2C6A8CEB3705E90 /* LICENSE */, - BFFB41C2D471348C8B9FE82156C140E0 /* README.md */, - B8C9E32F9EA8632F7D83717C03955E24 /* WeaverDI.podspec */, + AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */, + 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */, + 51BDF8E3E5A575D066954A7061563991 /* Pod */, + EE9C8ABECDA5812207A7FA5C5719DC70 /* Support Files */, + ); + name = WeaverDI; + path = ../..; + sourceTree = ""; + }; + 51BDF8E3E5A575D066954A7061563991 /* Pod */ = { + isa = PBXGroup; + children = ( + 722BD3CFDF58BCB3D871EC77FA9A54F0 /* LICENSE */, + 8087AF3F592D415D774E7DA1A93631D3 /* README.md */, + E26B21FED4FD48540A0AF5DAF6943FD6 /* WeaverDI.podspec */, ); name = Pod; sourceTree = ""; @@ -211,20 +223,6 @@ ); sourceTree = ""; }; - 83A273D72C1C8949E6C6C9B23001E36C /* Support Files */ = { - isa = PBXGroup; - children = ( - F82094ED85E672888D42F4E5FBBC0395 /* Info.plist */, - A6C3DC30DDD07991B8E0E6E6212C3FCC /* WeaverDI.modulemap */, - 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */, - AC694C705DD6EC19E5657D05A6210E88 /* WeaverDI-dummy.m */, - 67C034431416D80F5D6D23C922E9FE0A /* WeaverDI-prefix.pch */, - 990D95255BFE0401BC82F818B5F4F4D4 /* WeaverDI-umbrella.h */, - ); - name = "Support Files"; - path = "Sample/Pods/Target Support Files/WeaverDI"; - sourceTree = ""; - }; AEF1168F29BB94317ECF0EEF52BD6A07 /* Pods-APITests */ = { isa = PBXGroup; children = ( @@ -243,18 +241,6 @@ path = "Target Support Files/Pods-APITests"; sourceTree = ""; }; - B3B93E97177530D19C7940DF89125B4B /* WeaverDI */ = { - isa = PBXGroup; - children = ( - CCB6B0F7C7257F581756E4DC6D8506AC /* Reference.swift */, - 11C5639C66D9D7CAFD325830B217F650 /* Scope.swift */, - 5C5147D4A7E2139235436857A9C5944B /* Pod */, - 83A273D72C1C8949E6C6C9B23001E36C /* Support Files */, - ); - name = WeaverDI; - path = ../..; - sourceTree = ""; - }; B65A598E88CA1CF387DE7CA797C2EF72 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -273,6 +259,20 @@ name = Frameworks; sourceTree = ""; }; + EE9C8ABECDA5812207A7FA5C5719DC70 /* Support Files */ = { + isa = PBXGroup; + children = ( + 182DE0EEE13129071222BD0DB3F1093A /* Info.plist */, + 13F35DB50FCA2AD19574CB00CF106ADE /* WeaverDI.modulemap */, + 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */, + 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */, + 2D44A859D307B3795C8150C408F5EFA7 /* WeaverDI-prefix.pch */, + 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */, + ); + name = "Support Files"; + path = "Sample/Pods/Target Support Files/WeaverDI"; + sourceTree = ""; + }; F8D5999314950D4E734D711011013E47 /* Products */ = { isa = PBXGroup; children = ( @@ -344,7 +344,7 @@ isa = PBXNativeTarget; buildConfigurationList = B07D795C8A3DD827822FD4EBDB4CF45D /* Build configuration list for PBXNativeTarget "WeaverDI" */; buildPhases = ( - 44663A0B378AC03F71FB5DF63E212278 /* Sources */, + 525C453E6B1FA867943A002D2104BDA6 /* Sources */, 30C53E8FB4D8B4BD3FE41E73DBB10719 /* Frameworks */, FAF6C3CA91019EB3D8733D67C4959527 /* Headers */, ); @@ -432,13 +432,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 44663A0B378AC03F71FB5DF63E212278 /* Sources */ = { + 525C453E6B1FA867943A002D2104BDA6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 785B49F45E5DFBF11B3FF06E4BD03CE4 /* Reference.swift in Sources */, - 10F6D51E82D3BF5E4C363BF28B2C2F68 /* Scope.swift in Sources */, - 7DDE9BF9A3CCCDEAE94C08799A8B2621 /* WeaverDI-dummy.m in Sources */, + E8EF4708B8980A34E670D6600C9CA246 /* Instance.swift in Sources */, + 7B45094F548366445E7CA3D23EBC4FB9 /* Scope.swift in Sources */, + A3B4E965D941415B4D3ABBF9D409C220 /* WeaverDI-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -656,7 +656,7 @@ }; 475FE366B77DCA114451DECF88D04DAA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */; + baseConfigurationReference = 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -859,7 +859,7 @@ }; FAE69F7A80BCB252D0672D00C9E0167F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5E696F77E76CA6B87157D4D96DC44D66 /* WeaverDI.xcconfig */; + baseConfigurationReference = 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; diff --git a/Sample/Sample/Generated/Weaver.AppDelegate.swift b/Sample/Sample/Generated/Weaver.AppDelegate.swift index 9acd8aa3..d1d4b025 100644 --- a/Sample/Sample/Generated/Weaver.AppDelegate.swift +++ b/Sample/Sample/Generated/Weaver.AppDelegate.swift @@ -18,58 +18,58 @@ protocol AppDelegateDependencyResolver { var reviewManager: ReviewManaging { get } } final class AppDelegateDependencyContainer: AppDelegateDependencyResolver { - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value } - private var _urlSession: URLSession? - var urlSession: URLSession { - if let value = _urlSession { return value } - let value = urlSessionCustomRef() - _urlSession = value - return value + private lazy var loggerRef = Instance(scope: .container) { [unowned self] in + return Logger() } - private var _movieAPI: APIProtocol? - var movieAPI: APIProtocol { - if let value = _movieAPI { return value } - let value = movieAPICustomRef() - _movieAPI = value - return value + var urlSession: URLSession { + return urlSessionRef.value } - private var _imageManager: ImageManaging? - var imageManager: ImageManaging { - if let value = _imageManager { return value } - let value = imageManagerCustomRef() - _imageManager = value - return value + private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in + return self.urlSessionCustomRef() } - private var _movieManager: MovieManaging? - var movieManager: MovieManaging { - if let value = _movieManager { return value } - let value = movieManagerCustomRef() - _movieManager = value - return value + var movieAPI: APIProtocol { + return movieAPIRef.value } - private var _homeViewController: UIViewController? - var homeViewController: UIViewController { - if let value = _homeViewController { return value } + private lazy var movieAPIRef = Instance(scope: .container) { [unowned self] in + return self.movieAPICustomRef() + } + var imageManager: ImageManaging { + return imageManagerRef.value + } + private lazy var imageManagerRef = Instance(scope: .container) { [unowned self] in + return self.imageManagerCustomRef() + } + var movieManager: MovieManaging { + return movieManagerRef.value + } + private lazy var movieManagerRef = Instance(scope: .container) { [unowned self] in + return self.movieManagerCustomRef() + } + var homeViewController: UIViewController { + return homeViewControllerRef.value + } + private lazy var homeViewControllerRef = Instance(scope: .container) { [unowned self] in let dependencies = HomeViewControllerDependencyContainer(injecting: self) - let value = HomeViewController(injecting: dependencies) - _homeViewController = value - return value + return HomeViewController(injecting: dependencies) + } + var reviewManager: ReviewManaging { + return reviewManagerRef.value } - private var _reviewManager: ReviewManaging? - var reviewManager: ReviewManaging { - if let value = _reviewManager { return value } + private lazy var reviewManagerRef = Instance(scope: .container) { [unowned self] in let dependencies = ReviewManagerDependencyContainer(injecting: self) - let value = ReviewManager(injecting: dependencies) - _reviewManager = value - return value + return ReviewManager(injecting: dependencies) } init() { + _ = loggerRef.value + _ = urlSessionRef.value + _ = movieAPIRef.value + _ = imageManagerRef.value + _ = movieManagerRef.value + _ = homeViewControllerRef.value + _ = reviewManagerRef.value } } extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.HomeViewController.swift b/Sample/Sample/Generated/Weaver.HomeViewController.swift index 86bcf381..e7a08d77 100644 --- a/Sample/Sample/Generated/Weaver.HomeViewController.swift +++ b/Sample/Sample/Generated/Weaver.HomeViewController.swift @@ -21,22 +21,21 @@ final class HomeViewControllerDependencyContainer: HomeViewControllerDependencyR let movieManager: MovieManaging let imageManager: ImageManaging let reviewManager: ReviewManaging - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() } func movieController(movieID: UInt, title: String) -> UIViewController { let dependencies = MovieViewControllerDependencyContainer(injecting: self, movieID: movieID, title: title) - let value = MovieViewController(injecting: dependencies) - return value + return MovieViewController(injecting: dependencies) } init(injecting dependencies: HomeViewControllerInputDependencyResolver) { - self.movieManager = dependencies.movieManager - self.imageManager = dependencies.imageManager - self.reviewManager = dependencies.reviewManager + movieManager = dependencies.movieManager + imageManager = dependencies.imageManager + reviewManager = dependencies.reviewManager + _ = loggerRef.value } } extension HomeViewControllerDependencyContainer: MovieViewControllerInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.MovieViewController.swift b/Sample/Sample/Generated/Weaver.MovieViewController.swift index 46f3e476..2565cdd1 100644 --- a/Sample/Sample/Generated/Weaver.MovieViewController.swift +++ b/Sample/Sample/Generated/Weaver.MovieViewController.swift @@ -25,24 +25,23 @@ final class MovieViewControllerDependencyContainer: MovieViewControllerDependenc let movieManager: MovieManaging let imageManager: ImageManaging let reviewManager: ReviewManaging - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() } func reviewController(movieID: UInt) -> WSReviewViewController { let dependencies = WSReviewViewControllerDependencyContainer(injecting: self, movieID: movieID) - let value = WSReviewViewController(injecting: dependencies) - return value + return WSReviewViewController(injecting: dependencies) } init(injecting dependencies: MovieViewControllerInputDependencyResolver, movieID: UInt, title: String) { self.movieID = movieID self.title = title - self.movieManager = dependencies.movieManager - self.imageManager = dependencies.imageManager - self.reviewManager = dependencies.reviewManager + movieManager = dependencies.movieManager + imageManager = dependencies.imageManager + reviewManager = dependencies.reviewManager + _ = loggerRef.value } } extension MovieViewControllerDependencyContainer: WSReviewViewControllerInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.PersonManager.swift b/Sample/Sample/Generated/Weaver.PersonManager.swift index dc1d1c44..bb5ecf95 100644 --- a/Sample/Sample/Generated/Weaver.PersonManager.swift +++ b/Sample/Sample/Generated/Weaver.PersonManager.swift @@ -13,15 +13,15 @@ protocol PersonManagerDependencyResolver { } final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { let movieAPI: APIProtocol - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() } init(injecting dependencies: PersonManagerInputDependencyResolver) { - self.movieAPI = dependencies.movieAPI + movieAPI = dependencies.movieAPI + _ = loggerRef.value } } protocol PersonManagerDependencyInjectable { diff --git a/Sample/Sample/Generated/Weaver.ReviewManager.swift b/Sample/Sample/Generated/Weaver.ReviewManager.swift index 418222d6..61b0a4c3 100644 --- a/Sample/Sample/Generated/Weaver.ReviewManager.swift +++ b/Sample/Sample/Generated/Weaver.ReviewManager.swift @@ -13,15 +13,15 @@ protocol ReviewManagerDependencyResolver { } final class ReviewManagerDependencyContainer: ReviewManagerDependencyResolver { let movieAPI: APIProtocol - private var _logger: Logger? - var logger: Logger { - if let value = _logger { return value } - let value = Logger() - _logger = value - return value + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() } init(injecting dependencies: ReviewManagerInputDependencyResolver) { - self.movieAPI = dependencies.movieAPI + movieAPI = dependencies.movieAPI + _ = loggerRef.value } } protocol ReviewManagerDependencyInjectable { diff --git a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift index 848d1c09..b147df1f 100644 --- a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift +++ b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift @@ -15,7 +15,7 @@ final class WSReviewViewControllerDependencyContainer: NSObject, WSReviewViewCon let reviewManager: ReviewManaging init(injecting dependencies: WSReviewViewControllerInputDependencyResolver, movieID: UInt) { self.movieID = movieID - self.reviewManager = dependencies.reviewManager + reviewManager = dependencies.reviewManager super.init() } } diff --git a/Sources/WeaverCodeGen/Generator.swift b/Sources/WeaverCodeGen/Generator.swift index b34896a5..3ad4c2ab 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -50,7 +50,7 @@ public final class Generator { } } -// MARK: - Template Model +// MARK: - ViewModels private struct RegistrationViewModel { @@ -61,7 +61,6 @@ private struct RegistrationViewModel { let customRef: Bool let parameters: [DependencyViewModel] let hasBuilder: Bool - let isTransient: Bool init(_ dependency: Dependency, graph: Graph) { @@ -136,7 +135,6 @@ private struct DependencyContainerViewModel { let isRoot: Bool let isPublic: Bool let doesSupportObjc: Bool - let injectableDependencies: [DependencyContainerViewModel]? init?(_ dependencyContainer: DependencyContainer, graph: Graph, depth: Int = 0) { diff --git a/Sources/WeaverDI/Instance.swift b/Sources/WeaverDI/Instance.swift new file mode 100644 index 00000000..fbba3db1 --- /dev/null +++ b/Sources/WeaverDI/Instance.swift @@ -0,0 +1,216 @@ +// +// Instance.swift +// WeaverDI +// +// Created by Théophane Rupin on 7/17/18. +// + +import Foundation + +/// Instantiation strategies enumeration. +public enum Instance { + + public typealias Body = () -> I + + case transient(TransientInstance) + case weakLazy(WeakLazyInstance) + case strongLazy(StrongLazyInstance) + + public init(scope: Scope, body: @escaping Body) { + if scope.isTransient { + self = .transient(.make(body)) + } else if scope.isWeak { + self = .weakLazy(.make(body)) + } else { + self = .strongLazy(.make(body)) + } + } + + public var value: I { + switch self { + case .transient(let instance): + return instance.value + case .weakLazy(let instance): + return instance.value + case .strongLazy(let instance): + return instance.value + } + } +} + +extension Instance { + + /// A `TransientInstance` is an instance type which only builds without storing any reference. + public final class TransientInstance { + + private let body: Body + + init(_ body: @escaping Body) { + self.body = body + } + + static func make(_ body: @escaping Body) -> TransientInstance { + return TransientInstance(body) + } + + var value: I { + return body() + } + } + + /// A `StrongLazyInstance` is a thread-safe instance type which lazily builds + /// and stores a strong reference on the service. + /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 + public class StrongLazyInstance { + + fileprivate let body: Body + + fileprivate var instance: I? + fileprivate var isLoaded = false + + private let instanceLocker = DispatchSemaphore(value: 1) + private let isLoadedDispatchQueue = DispatchQueue(label: "\(StrongLazyInstance.self).isLoadedDispatchQueue", attributes: .concurrent) + + init(_ body: @escaping Body) { + self.body = body + } + + static func make(_ body: @escaping Body) -> StrongLazyInstance { + if #available(OSX 10.12, *), #available(iOS 10.0, *) { + return StrongLazyInstance_OSX_10_12_iOS_10_0(body) + } else { + return StrongLazyInstance(body) + } + } + + private var syncIsLoaded: Bool { + set { + isLoadedDispatchQueue.async(flags: .barrier) { + self.isLoaded = newValue + } + } + get { + var isLoaded = false + isLoadedDispatchQueue.sync { + isLoaded = self.isLoaded + } + return isLoaded + } + } + + var value: I { + + if syncIsLoaded { + guard let instance = self.instance else { + fatalError("Instance is nil, you just found a race condition.") + } + return instance + } + + instanceLocker.wait() + + if syncIsLoaded { + guard let instance = self.instance else { + fatalError("Instance is nil, you just found a race condition.") + } + instanceLocker.signal() + return instance + } + + let instance = body() + self.instance = instance + + syncIsLoaded = true + instanceLocker.signal() + + return instance + } + } + + /// A `StrongLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds + /// and stores a strong reference on the service. + /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 + @available(OSX 10.12, *) + @available(iOS 10.0, *) + final class StrongLazyInstance_OSX_10_12_iOS_10_0: StrongLazyInstance { + + private var lock = os_unfair_lock() + + override var value: I { + + os_unfair_lock_lock(&lock) + defer { os_unfair_lock_unlock(&lock) } + + if let instance = self.instance { + return instance + } + + let instance = body() + self.instance = instance + + return instance + } + } + + /// A `WeakLazyInstance` is a thread-safe instance type which lazily builds + /// and stores a weak reference on the service. + /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 + public class WeakLazyInstance { + + fileprivate let body: Body + + fileprivate weak var instance: AnyObject? + + private let instanceLocker = DispatchSemaphore(value: 1) + + init(_ body: @escaping Body) { + self.body = body + } + + static func make(_ body: @escaping Body) -> WeakLazyInstance { + if #available(OSX 10.12, *), #available(iOS 10.0, *) { + return WeakLazyInstance_OSX_10_12_iOS_10_0(body) + } else { + return WeakLazyInstance(body) + } + } + + var value: I { + self.instanceLocker.wait() + defer { self.instanceLocker.signal() } + + if let instance = self.instance as? I { + return instance + } + + let instance = body() + self.instance = instance as AnyObject + + return instance + } + } + /// A `WeakLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds + /// and stores a weak reference on the service. + /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 + @available(OSX 10.12, *) + @available(iOS 10.0, *) + final class WeakLazyInstance_OSX_10_12_iOS_10_0: WeakLazyInstance { + + private var lock = os_unfair_lock() + + override var value: I { + + os_unfair_lock_lock(&lock) + defer { os_unfair_lock_unlock(&lock) } + + if let instance = self.instance as? I { + return instance + } + + let instance = body() + self.instance = instance as AnyObject + + return instance + } + } +} diff --git a/Sources/WeaverDI/Reference.swift b/Sources/WeaverDI/Reference.swift deleted file mode 100644 index c0cff5e7..00000000 --- a/Sources/WeaverDI/Reference.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// Reference.swift -// WeaverDI -// -// Created by Théophane Rupin on 7/17/18. -// - -import Foundation - -public final class Reference { - - public enum ReferenceType { - case strong - case weak - } - - private weak var weakValue: T? - private let strongValue: T? - - public init(_ value: T, type: ReferenceType = .strong) { - switch type { - case .strong: - strongValue = value - weakValue = nil - case .weak: - weakValue = value - strongValue = nil - } - } - - var value: T? { - return weakValue ?? strongValue ?? nil - } -} diff --git a/WeaverDI.xcodeproj/project.pbxproj b/WeaverDI.xcodeproj/project.pbxproj index 22e91942..d62d5cbd 100644 --- a/WeaverDI.xcodeproj/project.pbxproj +++ b/WeaverDI.xcodeproj/project.pbxproj @@ -194,7 +194,7 @@ OBJ_517 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; OBJ_518 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; OBJ_519 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_542 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Reference.swift */; }; + OBJ_542 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Instance.swift */; }; OBJ_550 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; OBJ_568 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; OBJ_574 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Constructor.swift */; }; @@ -629,7 +629,7 @@ OBJ_31 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; OBJ_32 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; OBJ_33 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; - OBJ_42 /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; + OBJ_42 /* Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Instance.swift; sourceTree = ""; }; OBJ_43 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; OBJ_46 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; OBJ_47 /* ErrorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTests.swift; sourceTree = ""; }; @@ -1090,7 +1090,7 @@ OBJ_34 /* WeaverDI */ = { isa = PBXGroup; children = ( - OBJ_42 /* Reference.swift */, + OBJ_42 /* Instance.swift */, OBJ_43 /* Scope.swift */, ); name = WeaverDI; @@ -1945,7 +1945,7 @@ buildActionMask = 0; files = ( 196398372107EAE900E818FD /* Scope.swift in Sources */, - OBJ_542 /* Reference.swift in Sources */, + OBJ_542 /* Instance.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From ece2a238dea26847451fcfa663fbfb233499dc82 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 10:15:41 -0700 Subject: [PATCH 04/12] [#55] Fixed generator tests --- Resources/dependency_resolver.stencil | 6 +- Tests/WeaverCodeGenTests/GeneratorTests.swift | 429 +++++++++--------- 2 files changed, 205 insertions(+), 230 deletions(-) diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index 4b82ebbd..138d16d6 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -42,14 +42,14 @@ return {{dependency.name}}Ref({% call ParametersPassIn dependency.parameters %}).value } {% else %} - var {{dependency.name}}: {{dependency.abstractType}} { + var {{dependency.name}}: {{dependency.abstractType}} { return {{dependency.name}}Ref.value } {% endif %} {% else %}{# not dependency.customRef #} - var {{dependency.name}}: {{dependency.abstractType}} { - return {{dependency.name}}Ref.value + var {{dependency.name}}: {{dependency.abstractType}} { + return {{dependency.name}}Ref.value } {% endif %}{# not dependency.customRef #} {% endmacro %} diff --git a/Tests/WeaverCodeGenTests/GeneratorTests.swift b/Tests/WeaverCodeGenTests/GeneratorTests.swift index 53ebc545..39b41351 100644 --- a/Tests/WeaverCodeGenTests/GeneratorTests.swift +++ b/Tests/WeaverCodeGenTests/GeneratorTests.swift @@ -72,43 +72,36 @@ final class Manager { /// DO NOT EDIT! import WeaverDI // MARK: - Logger -final class LoggerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(LogEngine.self, scope: .graph, name: "logEngine", builder: { (dependencies) in - return LogEngine() - }) - } -} protocol LoggerDependencyResolver { var logEngine: LogEngine { get } } -extension LoggerDependencyContainer: LoggerDependencyResolver { +final class LoggerDependencyContainer: LoggerDependencyResolver { var logEngine: LogEngine { - return resolve(LogEngine.self, name: "logEngine") + return logEngineRef.value } -} -// MARK: - Manager -final class ManagerDependencyContainer: DependencyContainer { - init() { - super.init() + private lazy var logEngineRef = Instance(scope: .graph) { [unowned self] in + return LogEngine() } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) + init() { + _ = logEngineRef.value } } +// MARK: - Manager protocol ManagerDependencyResolver { var logger: Logger { get } } -extension ManagerDependencyContainer: ManagerDependencyResolver { +final class ManagerDependencyContainer: ManagerDependencyResolver { var logger: Logger { - return resolve(Logger.self, name: "logger") + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() + } + init() { + _ = loggerRef.value } } +extension ManagerDependencyContainer: LoggerInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) @@ -147,14 +140,29 @@ final class PersonManager: PersonManaging { /// DO NOT EDIT! import WeaverDI // MARK: - PersonManager +protocol PersonManagerInputDependencyResolver { + var movieAPI: APIProtocol { get } +} protocol PersonManagerDependencyResolver { - var logger: Logger { get } var movieAPI: APIProtocol { get } + var logger: Logger { get } +} +final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { + let movieAPI: APIProtocol + var logger: Logger { + return loggerRef.value + } + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + return Logger() + } + init(injecting dependencies: PersonManagerInputDependencyResolver) { + movieAPI = dependencies.movieAPI + _ = loggerRef.value + } } protocol PersonManagerDependencyInjectable { init(injecting dependencies: PersonManagerDependencyResolver) } -extension PersonManager: PersonManagerDependencyInjectable {} """ XCTAssertEqual(actual!, expected) @@ -189,23 +197,19 @@ final class PersonManager: PersonManaging { /// DO NOT EDIT! import WeaverDI // MARK: - PersonManager -final class PersonManagerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(APIProtocol.self, scope: .graph, name: "movieAPI", builder: { (dependencies) in - return self.movieAPICustomRef() - }) - } -} protocol PersonManagerDependencyResolver { var movieAPI: APIProtocol { get } func movieAPICustomRef() -> APIProtocol } -extension PersonManagerDependencyContainer: PersonManagerDependencyResolver { +final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { var movieAPI: APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI") + return movieAPIRef.value + } + private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in + return self.movieAPICustomRef() + } + init() { + _ = movieAPIRef.value } } """ @@ -246,50 +250,35 @@ final class PersonManager: PersonManaging { /// DO NOT EDIT! import WeaverDI // MARK: - MovieAPI -final class MovieAPIDependencyContainer: DependencyContainer { - let host: String - init(parent: Reference? = nil, host: String) { - self.host = host - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - } -} protocol MovieAPIDependencyResolver { var host: String { get } } -extension MovieAPIDependencyContainer: MovieAPIDependencyResolver { -} -extension MovieAPI { - static func makeMovieAPI(injecting parentDependencies: DependencyContainer, host: String) -> MovieAPI { - let dependencies = MovieAPIDependencyContainer(parent: Reference(parentDependencies), host: host) - return MovieAPI(injecting: dependencies) +final class MovieAPIDependencyContainer: MovieAPIDependencyResolver { + let host: String + init(host: String) { + self.host = host } } protocol MovieAPIDependencyInjectable { init(injecting dependencies: MovieAPIDependencyResolver) } -extension MovieAPI: MovieAPIDependencyInjectable {} // MARK: - PersonManager -final class PersonManagerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(APIProtocol.self, scope: .graph, name: "movieAPI", builder: { (dependencies, host: String) in - return self.movieAPICustomRef(host: host) - }) - } -} protocol PersonManagerDependencyResolver { - func movieAPI(host: String) -> APIProtocol - func movieAPICustomRef(host: String) -> APIProtocol + var movieAPI: APIProtocol { get } + func movieAPICustomRef() -> APIProtocol } -extension PersonManagerDependencyContainer: PersonManagerDependencyResolver { - func movieAPI(host: String) -> APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI", parameter: host) +final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { + var movieAPI: APIProtocol { + return movieAPIRef.value + } + private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in + return self.movieAPICustomRef() + } + init() { + _ = movieAPIRef.value } } +extension PersonManagerDependencyContainer: MovieAPIInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) @@ -329,41 +318,33 @@ final class MyService { /// DO NOT EDIT! import WeaverDI // MARK: - MyService -final class MyServiceDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Session.self, scope: .graph, name: "session", builder: { (dependencies) in - return Session() - }) - } -} protocol MyServiceDependencyResolver { var session: Session { get } } -extension MyServiceDependencyContainer: MyServiceDependencyResolver { +final class MyServiceDependencyContainer: MyServiceDependencyResolver { var session: Session { - return resolve(Session.self, name: "session") + return sessionRef.value } -} -// MARK: - MyEmbeddedService -final class MyEmbeddedServiceDependencyContainer: DependencyContainer { - init() { - super.init() + private lazy var sessionRef = Instance(scope: .graph) { [unowned self] in + return Session() } - override func registerDependencies(in store: DependencyStore) { - store.register(SessionProtocol?.self, scope: .container, name: "session", builder: { (dependencies) in - return Session() - }) + init() { + _ = sessionRef.value } } +// MARK: - MyEmbeddedService protocol MyEmbeddedServiceDependencyResolver { var session: SessionProtocol? { get } } -extension MyEmbeddedServiceDependencyContainer: MyEmbeddedServiceDependencyResolver { +final class MyEmbeddedServiceDependencyContainer: MyEmbeddedServiceDependencyResolver { var session: SessionProtocol? { - return resolve(SessionProtocol?.self, name: "session") + return sessionRef.value + } + private lazy var sessionRef = Instance(scope: .container) { [unowned self] in + return Session?() + } + init() { + _ = sessionRef.value } } """ @@ -402,71 +383,43 @@ public final class API { /// DO NOT EDIT! import WeaverDI // MARK: - API -final class APIDependencyContainer: DependencyContainer { - let host: String - init(parent: Reference? = nil, host: String) { - self.host = host - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - store.register(Session.self, scope: .graph, name: "session", builder: { (dependencies) in - return Session() - }) - } +protocol APIInputDependencyResolver { + var logger: Logger { get } } protocol APIDependencyResolver { var host: String { get } - var session: Session { get } var logger: Logger { get } + var session: Session { get } } -extension APIDependencyContainer: APIDependencyResolver { +final class APIDependencyContainer: APIDependencyResolver { + let host: String + let logger: Logger var session: Session { - return resolve(Session.self, name: "session") + return sessionRef.value } - var logger: Logger { - return resolve(Logger.self, name: "logger") + private lazy var sessionRef = Instance(scope: .graph) { [unowned self] in + return Session() } -} -extension API { - static func makeAPI(injecting parentDependencies: DependencyContainer, host: String) -> API { - let dependencies = APIDependencyContainer(parent: Reference(parentDependencies), host: host) - return API(injecting: dependencies) + init(injecting dependencies: APIInputDependencyResolver, host: String) { + self.host = host + logger = dependencies.logger + _ = sessionRef.value } } protocol APIDependencyInjectable { init(injecting dependencies: APIDependencyResolver) } -extension API: APIDependencyInjectable {} -// MARK: - APIShim -final class APIShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: APIDependencyContainer = { - return APIDependencyContainer(parent: Reference(self, type: .weak), host: self.host) - }() +final class APIShimDependencyContainer: APIInputDependencyResolver { let logger: Logger - let host: String - init(logger: Logger, host: String) { + init(logger: Logger) { self.logger = logger - self.host = host - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .weak, name: "logger", builder: { [weak self] _ in - guard let strongSelf = self else { - fatalError("Container was released too early. If you see this happen, please file a bug.") - } - return strongSelf.logger - }) - } -} -extension APIShimDependencyContainer: APIDependencyResolver { - var session: Session { - return internalDependencies.resolve(Session.self, name: "session") } } extension API { public convenience init(logger: Logger, host: String) { - let shim = APIShimDependencyContainer(logger: logger, host: host) - self.init(injecting: shim) + let shim = APIShimDependencyContainer(logger: logger) + let dependencies = APIDependencyContainer(injecting: shim, host: host) + self.init(injecting: dependencies) } } """ @@ -506,30 +459,18 @@ class AnotherService { /// DO NOT EDIT! import WeaverDI // MARK: - API -final class APIDependencyContainer: DependencyContainer { - let parameter: UInt - init(parent: Reference? = nil, parameter: UInt) { - self.parameter = parameter - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - } -} protocol APIDependencyResolver { var parameter: UInt { get } } -extension APIDependencyContainer: APIDependencyResolver { -} -extension API { - static func makeAPI(injecting parentDependencies: DependencyContainer, parameter: UInt) -> API { - let dependencies = APIDependencyContainer(parent: Reference(parentDependencies), parameter: parameter) - return API(injecting: dependencies) +final class APIDependencyContainer: APIDependencyResolver { + let parameter: UInt + init(parameter: UInt) { + self.parameter = parameter } } protocol APIDependencyInjectable { init(injecting dependencies: APIDependencyResolver) } -extension API: APIDependencyInjectable {} """ XCTAssertEqual(actual!, expected) exportDiff(actual: actual!, expected: expected) @@ -565,69 +506,39 @@ public final class MovieManager { /// DO NOT EDIT! import WeaverDI // MARK: - Logger -final class LoggerDependencyContainer: DependencyContainer { - let domain: String - init(parent: Reference? = nil, domain: String) { - self.domain = domain - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - } -} protocol LoggerDependencyResolver { var domain: String { get } } -extension LoggerDependencyContainer: LoggerDependencyResolver { -} -extension Logger { - static func makeLogger(injecting parentDependencies: DependencyContainer, domain: String) -> Logger { - let dependencies = LoggerDependencyContainer(parent: Reference(parentDependencies), domain: domain) - return Logger(injecting: dependencies) +final class LoggerDependencyContainer: LoggerDependencyResolver { + let domain: String + init(domain: String) { + self.domain = domain } } protocol LoggerDependencyInjectable { init(injecting dependencies: LoggerDependencyResolver) } -extension Logger: LoggerDependencyInjectable {} // MARK: - MovieManager -final class MovieManagerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies, domain: String) in - return Logger.makeLogger(injecting: dependencies, domain: domain) - }) - } -} protocol MovieManagerDependencyResolver { func logger(domain: String) -> Logger } -extension MovieManagerDependencyContainer: MovieManagerDependencyResolver { +final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { func logger(domain: String) -> Logger { - return resolve(Logger.self, name: "logger", parameter: domain) + return loggerRef(domain: domain).value } -} -// MARK: - MovieManagerShim -final class MovieManagerShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: MovieManagerDependencyContainer = { - return MovieManagerDependencyContainer() - }() - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { + private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) + return Logger(injecting: dependencies) } -} -extension MovieManagerShimDependencyContainer: MovieManagerDependencyResolver { - func logger(domain: String) -> Logger { - return internalDependencies.resolve(Logger.self, name: "logger", parameter: domain) + init() { + _ = loggerRef.value } } +extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} extension MovieManager { public convenience init() { - let shim = MovieManagerShimDependencyContainer() - self.init(injecting: shim) + let dependencies = MovieManagerDependencyContainer() + self.init(injecting: dependencies) } } """ @@ -666,51 +577,36 @@ final class Logger { /// DO NOT EDIT! import WeaverDI // MARK: - Logger -final class LoggerDependencyContainer: DependencyContainer { - let domain: String - init(parent: Reference? = nil, domain: String) { - self.domain = domain - super.init(parent) - } - override func registerDependencies(in store: DependencyStore) { - } -} protocol LoggerDependencyResolver { - associatedtype T var domain: String { get } } -extension LoggerDependencyContainer: LoggerDependencyResolver { -} -extension Logger { - static func makeLogger(injecting parentDependencies: DependencyContainer, domain: String) -> Logger { - let dependencies = LoggerDependencyContainer(parent: Reference(parentDependencies), domain: domain) - return Logger(injecting: dependencies) +final class LoggerDependencyContainer: LoggerDependencyResolver { + let domain: String + init(domain: String) { + self.domain = domain } } protocol LoggerDependencyInjectable { associatedtype T init(injecting dependencies: LoggerDependencyContainer) } -extension Logger: LoggerDependencyInjectable {} // MARK: - MovieManager -final class MovieManagerDependencyContainer: DependencyContainer { - init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies, domain: String) in - return Logger.makeLogger(injecting: dependencies, domain: domain) - }) - } -} protocol MovieManagerDependencyResolver { func logger(domain: String) -> Logger } -extension MovieManagerDependencyContainer: MovieManagerDependencyResolver { +final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { func logger(domain: String) -> Logger { - return resolve(Logger.self, name: "logger", parameter: domain) + return loggerRef(domain: domain).value + } + private lazy var loggerRef = Instance>(scope: .graph) { [unowned self] in + let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) + return Logger(injecting: dependencies) + } + init() { + _ = loggerRef.value } } +extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) @@ -757,7 +653,86 @@ final class ReviewViewController { let (_ , actual) = try generator.generate().first! let expected = """ - +/// This file is generated by Weaver 0.9.13 +/// DO NOT EDIT! +import WeaverDI +// MARK: - HomeViewController +protocol HomeViewControllerInputDependencyResolver { + var movieManager: MovieManager { get } +} +protocol HomeViewControllerDependencyResolver { + var movieManager: MovieManager { get } + var movieViewController: MovieViewController { get } +} +final class HomeViewControllerDependencyContainer: HomeViewControllerDependencyResolver { + let movieManager: MovieManager + var movieViewController: MovieViewController { + return MovieViewController() + } + init(injecting dependencies: HomeViewControllerInputDependencyResolver) { + movieManager = dependencies.movieManager + } +} +extension HomeViewControllerDependencyContainer: MovieViewControllerInputDependencyResolver {} +// MARK: - MovieViewController +protocol MovieViewControllerInputDependencyResolver { + var movieManager: MovieManager { get } +} +protocol MovieViewControllerDependencyResolver { + var movieManager: MovieManager { get } + var reviewViewController: ReviewViewController { get } +} +final class MovieViewControllerDependencyContainer: MovieViewControllerDependencyResolver { + let movieManager: MovieManager + var reviewViewController: ReviewViewController { + let dependencies = ReviewViewControllerDependencyContainer(injecting: self) + return ReviewViewController(injecting: dependencies) + } + init(injecting dependencies: MovieViewControllerInputDependencyResolver) { + movieManager = dependencies.movieManager + } +} +extension MovieViewControllerDependencyContainer: ReviewViewControllerInputDependencyResolver {} +// MARK: - ReviewViewController +protocol ReviewViewControllerInputDependencyResolver { + var movieManager: MovieManager { get } +} +protocol ReviewViewControllerDependencyResolver { + var movieManager: MovieManager { get } +} +final class ReviewViewControllerDependencyContainer: ReviewViewControllerDependencyResolver { + let movieManager: MovieManager + init(injecting dependencies: ReviewViewControllerInputDependencyResolver) { + movieManager = dependencies.movieManager + } +} +protocol ReviewViewControllerDependencyInjectable { + init(injecting dependencies: ReviewViewControllerDependencyResolver) +} +// MARK: - AppDelegate +protocol AppDelegateDependencyResolver { + var movieManager: MovieManager { get } + var homeViewController: HomeViewController { get } +} +final class AppDelegateDependencyContainer: AppDelegateDependencyResolver { + var movieManager: MovieManager { + return movieManagerRef.value + } + private lazy var movieManagerRef = Instance(scope: .container) { [unowned self] in + return MovieManager() + } + var homeViewController: HomeViewController { + return homeViewControllerRef.value + } + private lazy var homeViewControllerRef = Instance(scope: .graph) { [unowned self] in + return HomeViewController() + } + init() { + _ = movieManagerRef.value + _ = homeViewControllerRef.value + } +} +extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) From 833c8baac33c183f70baaff30234919a5da91bce Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 20:10:25 -0700 Subject: [PATCH 05/12] [#55] Improved instance loading --- Resources/dependency_resolver.stencil | 113 +++++++----------- Sample/API/Generated/Weaver.API.swift | 13 +- .../API/Generated/Weaver.ImageManager.swift | 43 +++---- .../API/Generated/Weaver.MovieManager.swift | 26 ++-- .../Sample/Generated/Weaver.AppDelegate.swift | 91 +++++++------- .../Generated/Weaver.HomeViewController.swift | 19 +-- .../Weaver.MovieViewController.swift | 22 ++-- .../Generated/Weaver.PersonManager.swift | 13 +- .../Generated/Weaver.ReviewManager.swift | 13 +- Sample/Sample/View/HomeViewController.swift | 2 +- Sample/Sample/View/MovieViewController.swift | 1 - Sources/WeaverCodeGen/Generator.swift | 2 + 12 files changed, 178 insertions(+), 180 deletions(-) diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index 138d16d6..7b5ad8fd 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -5,7 +5,7 @@ {% macro ParametersPassIn parameters %}{% for parameter in parameters %}{{parameter.name}}: {{parameter.name}}{% if not forloop.last %}, {% endif %}{% endfor %}{% endmacro %} {% macro ParametersPassInWithSeparator parameters %}{% if parameters %}, {% endif %}{% call ParametersPassIn parameters %}{% endmacro %} -{% macro ParametersAssign parameters %} +{% macro ParameterAssign parameters %} {% for parameter in parameters %} self.{{parameter.name}} = {{parameter.name}} {% endfor %} @@ -13,9 +13,13 @@ {% macro DependencyContainerBuilder dependency %}{{dependency.type.name}}DependencyContainer(injecting: self{% call ParametersPassInWithSeparator dependency.parameters %}){% endmacro %} -{% macro Instance dependency %}Instance<{{dependency.abstractType}}>{% endmacro %} +{% macro AttributesDecl dependencies %} +{% for dependency in dependencies %} + let {{dependency.name}}: {{dependency.abstractType}} +{% endfor %} +{% endmacro %} -{% macro DependencyResolverDecls dependencies %} +{% macro DependencyResolverDecl dependencies %} {% for dependency in dependencies %} {% if not dependency.customRef %} @@ -34,26 +38,6 @@ {% endfor %} {% endmacro %} -{% macro DependencyResolverImpl dependency %} - {% if not dependency.customRef %} - - {% if dependency.parameters %} - func {{dependency.name}}({% call ParametersDecl dependency.parameters %}) -> {{dependency.abstractType}} { - return {{dependency.name}}Ref({% call ParametersPassIn dependency.parameters %}).value - } - {% else %} - var {{dependency.name}}: {{dependency.abstractType}} { - return {{dependency.name}}Ref.value - } - {% endif %} - - {% else %}{# not dependency.customRef #} - var {{dependency.name}}: {{dependency.abstractType}} { - return {{dependency.name}}Ref.value - } - {% endif %}{# not dependency.customRef #} -{% endmacro %} - /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! @@ -67,47 +51,30 @@ import {{moduleName}} {% if dependencyContainer.references %} protocol {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% for reference in dependencyContainer.references %} - - {% if not reference.customRef %} - - {% if reference.parameters %} - func {{reference.name}}({% call ParametersDecl reference.parameters %}) -> {{reference.abstractType}} - {% else %} - var {{reference.name}}: {{reference.abstractType}} { get } - {% endif %} - - {% else %}{# not reference.customRef #} - var {{reference.name}}: {{reference.abstractType}} { get } - {% endif %}{# not reference.customRef #} - - {% endfor %} + {% call DependencyResolverDecl dependencyContainer.references %} } {% endif %} {% if dependencyContainer.doesSupportObjc %}@objc {% endif %}protocol {{dependencyContainer.targetType.name}}DependencyResolver { - {% call DependencyResolverDecls dependencyContainer.parameters %} + {% call DependencyResolverDecl dependencyContainer.parameters %} - {% call DependencyResolverDecls dependencyContainer.references %} + {% call DependencyResolverDecl dependencyContainer.references %} - {% call DependencyResolverDecls dependencyContainer.registrations %} + {% call DependencyResolverDecl dependencyContainer.registrations %} } final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}: {% if dependencyContainer.doesSupportObjc %}NSObject, {% endif %}{{dependencyContainer.targetType.name}}DependencyResolver { - {% for parameter in dependencyContainer.parameters %} - let {{parameter.name}}: {{parameter.abstractType}} - {% endfor %} + {% call AttributesDecl dependencyContainer.parameters %} - {% for reference in dependencyContainer.references %} - let {{reference.name}}: {{reference.abstractType}} - {% endfor %} + {% call AttributesDecl dependencyContainer.references %} {% for registration in dependencyContainer.registrations %} - {% if registration.isTransient %} - {% if not registration.customRef %} + {% if not registration.isTransient %} + private {% if registration.isWeak %}weak {% endif %}var _{{registration.name}}: {{registration.abstractType}}? + {% endif %} {% if registration.parameters %} func {{registration.name}}({% call ParametersDecl registration.parameters %}) -> {{registration.abstractType}} { @@ -115,33 +82,34 @@ final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependen var {{registration.name}}: {{registration.abstractType}} { {% endif %} - {% else %}{# not registration.customRef #} - var {{registration.name}}: {{registration.abstractType}} { - {% endif %}{# not registration.customRef #} - - {% else %}{# registration.isTransient #} - {% call DependencyResolverImpl registration %} - private lazy var {{registration.name}}Ref = {% call Instance registration %}(scope: .{{registration.scope}}) { [unowned self] in - {% endif %} + {% if not registration.isTransient %} + if let value = _{{registration.name}} { return value } + {% endif %} {% if not registration.customRef %} {% if registration.hasBuilder %} let dependencies = {% call DependencyContainerBuilder registration %} - return {{registration.type}}(injecting: dependencies) + let value = {{registration.type}}(injecting: dependencies) {% else %}{# registration.hasBuilder #} - return {{registration.type}}() + let value = {{registration.type}}() {% endif %}{# registration.hasBuilder #} {% else %}{# not registration.customRef #} - return self.{{registration.name}}CustomRef() + let value = {{registration.name}}CustomRef() {% endif %}{# not registration.customRef #} + + {% if not registration.isTransient %} + _{{registration.name}} = value + {% endif %} + + return value } {% endfor %}{# dependencyContainer.registrations #} init({% if dependencyContainer.references %}injecting dependencies: {{dependencyContainer.targetType.name}}InputDependencyResolver{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { - {% call ParametersAssign dependencyContainer.parameters %} + {% call ParameterAssign dependencyContainer.parameters %} {% for reference in dependencyContainer.references %} {% if reference.parameters %} @@ -154,10 +122,18 @@ final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependen {% if dependencyContainer.doesSupportObjc %}super.init(){% endif %} {% for registration in dependencyContainer.registrations %} + {% if not registration.isTransient %} - _ = {{registration.name}}Ref.value + {% if not registration.isWeak %} + {% if registration.parameters %} + _ = {{registration.name}}({% call ParametersPassIn registration.parameters %}) + {% else %} + _ = {{registration.name}} {% endif %} - {% endfor %}{# dependencyContainer.registrations #} + {% endif %} + {% endif %} + + {% endfor %} } } @@ -183,22 +159,17 @@ protocol {{dependencyContainer.targetType.name}}{% if dependencyContainer.doesSu {% if dependencyContainer.references %} final class {{dependencyContainer.targetType.name}}ShimDependencyContainer{{dependencyContainer.targetType.generics}}: {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% for reference in dependencyContainer.references %} - let {{reference.name}}: {{reference.abstractType}} - {% endfor %} + {% call AttributesDecl dependencyContainer.references %} init({% call ParametersDecl dependencyContainer.references %}) { - {% for reference in dependencyContainer.references %} - self.{{reference.name}} = {{reference.name}} - {% endfor %} + {% call ParameterAssign dependencyContainer.references %} } } {% endif %}{# dependencyContainer.references #} extension {{dependencyContainer.targetType.name}} { - public convenience init({% call ParametersDecl dependencyContainer.references %}{% if dependencyContainer.references %}{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { {% if dependencyContainer.references %} @@ -212,4 +183,4 @@ extension {{dependencyContainer.targetType.name}} { {% endif %}{# dependencyContainer.isPublic #} -{% endfor %}{# dependencyContainers #} +{% endfor %}{# dependencyContainers #} \ No newline at end of file diff --git a/Sample/API/Generated/Weaver.API.swift b/Sample/API/Generated/Weaver.API.swift index 341301b4..78ba7648 100644 --- a/Sample/API/Generated/Weaver.API.swift +++ b/Sample/API/Generated/Weaver.API.swift @@ -12,15 +12,16 @@ protocol MovieAPIDependencyResolver { } final class MovieAPIDependencyContainer: MovieAPIDependencyResolver { let urlSession: URLSession - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } init(injecting dependencies: MovieAPIInputDependencyResolver) { urlSession = dependencies.urlSession - _ = loggerRef.value + _ = logger } } protocol MovieAPIDependencyInjectable { diff --git a/Sample/API/Generated/Weaver.ImageManager.swift b/Sample/API/Generated/Weaver.ImageManager.swift index f133de86..9706ebb0 100644 --- a/Sample/API/Generated/Weaver.ImageManager.swift +++ b/Sample/API/Generated/Weaver.ImageManager.swift @@ -11,29 +11,32 @@ protocol ImageManagerDependencyResolver { var movieAPI: APIProtocol { get } } final class ImageManagerDependencyContainer: ImageManagerDependencyResolver { - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() - } - var urlSession: URLSession { - return urlSessionRef.value - } - private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in - return self.urlSessionCustomRef() - } - var movieAPI: APIProtocol { - return movieAPIRef.value - } - private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value + } + private var _urlSession: URLSession? + var urlSession: URLSession { + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value + } + private var _movieAPI: APIProtocol? + var movieAPI: APIProtocol { + if let value = _movieAPI { return value } let dependencies = MovieAPIDependencyContainer(injecting: self) - return MovieAPI(injecting: dependencies) + let value = MovieAPI(injecting: dependencies) + _movieAPI = value + return value } init() { - _ = loggerRef.value - _ = urlSessionRef.value - _ = movieAPIRef.value + _ = logger + _ = urlSession + _ = movieAPI } } extension ImageManagerDependencyContainer: MovieAPIInputDependencyResolver {} diff --git a/Sample/API/Generated/Weaver.MovieManager.swift b/Sample/API/Generated/Weaver.MovieManager.swift index 2b92aaf3..f0cb50bc 100644 --- a/Sample/API/Generated/Weaver.MovieManager.swift +++ b/Sample/API/Generated/Weaver.MovieManager.swift @@ -16,24 +16,26 @@ protocol MovieManagerDependencyResolver { final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { let host: String? let logger: Logger - var urlSession: URLSession { - return urlSessionRef.value + private var _urlSession: URLSession? + var urlSession: URLSession { + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value } - private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in - return self.urlSessionCustomRef() - } - var movieAPI: APIProtocol { - return movieAPIRef.value - } - private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in + private var _movieAPI: APIProtocol? + var movieAPI: APIProtocol { + if let value = _movieAPI { return value } let dependencies = MovieAPIDependencyContainer(injecting: self) - return MovieAPI(injecting: dependencies) + let value = MovieAPI(injecting: dependencies) + _movieAPI = value + return value } init(injecting dependencies: MovieManagerInputDependencyResolver, host: String?) { self.host = host logger = dependencies.logger - _ = urlSessionRef.value - _ = movieAPIRef.value + _ = urlSession + _ = movieAPI } } extension MovieManagerDependencyContainer: MovieAPIInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.AppDelegate.swift b/Sample/Sample/Generated/Weaver.AppDelegate.swift index d1d4b025..db1930d7 100644 --- a/Sample/Sample/Generated/Weaver.AppDelegate.swift +++ b/Sample/Sample/Generated/Weaver.AppDelegate.swift @@ -18,58 +18,65 @@ protocol AppDelegateDependencyResolver { var reviewManager: ReviewManaging { get } } final class AppDelegateDependencyContainer: AppDelegateDependencyResolver { - var logger: Logger { - return loggerRef.value + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } - private lazy var loggerRef = Instance(scope: .container) { [unowned self] in - return Logger() + private var _urlSession: URLSession? + var urlSession: URLSession { + if let value = _urlSession { return value } + let value = urlSessionCustomRef() + _urlSession = value + return value } - var urlSession: URLSession { - return urlSessionRef.value + private var _movieAPI: APIProtocol? + var movieAPI: APIProtocol { + if let value = _movieAPI { return value } + let value = movieAPICustomRef() + _movieAPI = value + return value } - private lazy var urlSessionRef = Instance(scope: .container) { [unowned self] in - return self.urlSessionCustomRef() + private var _imageManager: ImageManaging? + var imageManager: ImageManaging { + if let value = _imageManager { return value } + let value = imageManagerCustomRef() + _imageManager = value + return value } - var movieAPI: APIProtocol { - return movieAPIRef.value + private var _movieManager: MovieManaging? + var movieManager: MovieManaging { + if let value = _movieManager { return value } + let value = movieManagerCustomRef() + _movieManager = value + return value } - private lazy var movieAPIRef = Instance(scope: .container) { [unowned self] in - return self.movieAPICustomRef() - } - var imageManager: ImageManaging { - return imageManagerRef.value - } - private lazy var imageManagerRef = Instance(scope: .container) { [unowned self] in - return self.imageManagerCustomRef() - } - var movieManager: MovieManaging { - return movieManagerRef.value - } - private lazy var movieManagerRef = Instance(scope: .container) { [unowned self] in - return self.movieManagerCustomRef() - } - var homeViewController: UIViewController { - return homeViewControllerRef.value - } - private lazy var homeViewControllerRef = Instance(scope: .container) { [unowned self] in + private var _homeViewController: UIViewController? + var homeViewController: UIViewController { + if let value = _homeViewController { return value } let dependencies = HomeViewControllerDependencyContainer(injecting: self) - return HomeViewController(injecting: dependencies) - } - var reviewManager: ReviewManaging { - return reviewManagerRef.value + let value = HomeViewController(injecting: dependencies) + _homeViewController = value + return value } - private lazy var reviewManagerRef = Instance(scope: .container) { [unowned self] in + private var _reviewManager: ReviewManaging? + var reviewManager: ReviewManaging { + if let value = _reviewManager { return value } let dependencies = ReviewManagerDependencyContainer(injecting: self) - return ReviewManager(injecting: dependencies) + let value = ReviewManager(injecting: dependencies) + _reviewManager = value + return value } init() { - _ = loggerRef.value - _ = urlSessionRef.value - _ = movieAPIRef.value - _ = imageManagerRef.value - _ = movieManagerRef.value - _ = homeViewControllerRef.value - _ = reviewManagerRef.value + _ = logger + _ = urlSession + _ = movieAPI + _ = imageManager + _ = movieManager + _ = homeViewController + _ = reviewManager } } extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.HomeViewController.swift b/Sample/Sample/Generated/Weaver.HomeViewController.swift index e7a08d77..76953e74 100644 --- a/Sample/Sample/Generated/Weaver.HomeViewController.swift +++ b/Sample/Sample/Generated/Weaver.HomeViewController.swift @@ -21,21 +21,26 @@ final class HomeViewControllerDependencyContainer: HomeViewControllerDependencyR let movieManager: MovieManaging let imageManager: ImageManaging let reviewManager: ReviewManaging - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } + private weak var _movieController: UIViewController? func movieController(movieID: UInt, title: String) -> UIViewController { + if let value = _movieController { return value } let dependencies = MovieViewControllerDependencyContainer(injecting: self, movieID: movieID, title: title) - return MovieViewController(injecting: dependencies) + let value = MovieViewController(injecting: dependencies) + _movieController = value + return value } init(injecting dependencies: HomeViewControllerInputDependencyResolver) { movieManager = dependencies.movieManager imageManager = dependencies.imageManager reviewManager = dependencies.reviewManager - _ = loggerRef.value + _ = logger } } extension HomeViewControllerDependencyContainer: MovieViewControllerInputDependencyResolver {} diff --git a/Sample/Sample/Generated/Weaver.MovieViewController.swift b/Sample/Sample/Generated/Weaver.MovieViewController.swift index 2565cdd1..e848d0dd 100644 --- a/Sample/Sample/Generated/Weaver.MovieViewController.swift +++ b/Sample/Sample/Generated/Weaver.MovieViewController.swift @@ -25,15 +25,20 @@ final class MovieViewControllerDependencyContainer: MovieViewControllerDependenc let movieManager: MovieManaging let imageManager: ImageManaging let reviewManager: ReviewManaging - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } + private var _reviewController: WSReviewViewController? func reviewController(movieID: UInt) -> WSReviewViewController { + if let value = _reviewController { return value } let dependencies = WSReviewViewControllerDependencyContainer(injecting: self, movieID: movieID) - return WSReviewViewController(injecting: dependencies) + let value = WSReviewViewController(injecting: dependencies) + _reviewController = value + return value } init(injecting dependencies: MovieViewControllerInputDependencyResolver, movieID: UInt, title: String) { self.movieID = movieID @@ -41,10 +46,11 @@ final class MovieViewControllerDependencyContainer: MovieViewControllerDependenc movieManager = dependencies.movieManager imageManager = dependencies.imageManager reviewManager = dependencies.reviewManager - _ = loggerRef.value + _ = logger + _ = reviewController(movieID: movieID) } } extension MovieViewControllerDependencyContainer: WSReviewViewControllerInputDependencyResolver {} protocol MovieViewControllerDependencyInjectable { init(injecting dependencies: MovieViewControllerDependencyResolver) -} \ No newline at end of file +} diff --git a/Sample/Sample/Generated/Weaver.PersonManager.swift b/Sample/Sample/Generated/Weaver.PersonManager.swift index bb5ecf95..50c899c6 100644 --- a/Sample/Sample/Generated/Weaver.PersonManager.swift +++ b/Sample/Sample/Generated/Weaver.PersonManager.swift @@ -13,15 +13,16 @@ protocol PersonManagerDependencyResolver { } final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { let movieAPI: APIProtocol - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } init(injecting dependencies: PersonManagerInputDependencyResolver) { movieAPI = dependencies.movieAPI - _ = loggerRef.value + _ = logger } } protocol PersonManagerDependencyInjectable { diff --git a/Sample/Sample/Generated/Weaver.ReviewManager.swift b/Sample/Sample/Generated/Weaver.ReviewManager.swift index 61b0a4c3..9d7f34c4 100644 --- a/Sample/Sample/Generated/Weaver.ReviewManager.swift +++ b/Sample/Sample/Generated/Weaver.ReviewManager.swift @@ -13,15 +13,16 @@ protocol ReviewManagerDependencyResolver { } final class ReviewManagerDependencyContainer: ReviewManagerDependencyResolver { let movieAPI: APIProtocol - var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + private var _logger: Logger? + var logger: Logger { + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } init(injecting dependencies: ReviewManagerInputDependencyResolver) { movieAPI = dependencies.movieAPI - _ = loggerRef.value + _ = logger } } protocol ReviewManagerDependencyInjectable { diff --git a/Sample/Sample/View/HomeViewController.swift b/Sample/Sample/View/HomeViewController.swift index 19c100b8..e6231458 100644 --- a/Sample/Sample/View/HomeViewController.swift +++ b/Sample/Sample/View/HomeViewController.swift @@ -23,7 +23,7 @@ final class HomeViewController: UIViewController { // weaver: movieManager <- MovieManaging // weaver: movieController = MovieViewController <- UIViewController - // weaver: movieController.scope = .transient + // weaver: movieController.scope = .weak private lazy var tableView: UITableView = { let tableView = UITableView() diff --git a/Sample/Sample/View/MovieViewController.swift b/Sample/Sample/View/MovieViewController.swift index 6f551f28..60eef253 100644 --- a/Sample/Sample/View/MovieViewController.swift +++ b/Sample/Sample/View/MovieViewController.swift @@ -28,7 +28,6 @@ final class MovieViewController: UIViewController { // weaver: imageManager <- ImageManaging // weaver: reviewController = WSReviewViewController - // weaver: reviewController.scope = .transient private var originalBarStyle: UIBarStyle? diff --git a/Sources/WeaverCodeGen/Generator.swift b/Sources/WeaverCodeGen/Generator.swift index 3ad4c2ab..f300611c 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -62,6 +62,7 @@ private struct RegistrationViewModel { let parameters: [DependencyViewModel] let hasBuilder: Bool let isTransient: Bool + let isWeak: Bool init(_ dependency: Dependency, graph: Graph) { name = dependency.dependencyName @@ -82,6 +83,7 @@ private struct RegistrationViewModel { } isTransient = dependency.scope == .transient + isWeak = dependency.scope == .weak } } From bf7c6b3e4473a3ef8c52acd1f47548cb49018ad9 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 20:37:14 -0700 Subject: [PATCH 06/12] [#55] Removed WeaverDI & renamed the project to Weaver --- .codecov.yml | 1 - .travis.yml | 2 - Makefile | 2 +- Package.swift | 9 +- Sample/API/Generated/Weaver.API.swift | 1 - .../API/Generated/Weaver.ImageManager.swift | 1 - .../API/Generated/Weaver.MovieManager.swift | 1 - Sample/API/Manager/API.swift | 1 - Sample/API/Manager/ImageManager.swift | 1 - Sample/API/Manager/MovieManager.swift | 1 - Sample/Podfile | 18 - Sample/Podfile.lock | 16 - .../Pods/Local Podspecs/WeaverDI.podspec.json | 23 - Sample/Pods/Manifest.lock | 16 - Sample/Pods/Pods.xcodeproj/project.pbxproj | 944 ------ .../Pods-APITests/Info.plist | 26 - .../Pods-APITests-acknowledgements.markdown | 28 - .../Pods-APITests-acknowledgements.plist | 60 - .../Pods-APITests/Pods-APITests-dummy.m | 5 - .../Pods-APITests/Pods-APITests-frameworks.sh | 153 - .../Pods-APITests/Pods-APITests-resources.sh | 118 - .../Pods-APITests/Pods-APITests-umbrella.h | 16 - .../Pods-APITests.debug.xcconfig | 11 - .../Pods-APITests/Pods-APITests.modulemap | 6 - .../Pods-APITests.release.xcconfig | 11 - .../Pods-Sample-API/Info.plist | 26 - .../Pods-Sample-API-acknowledgements.markdown | 28 - .../Pods-Sample-API-acknowledgements.plist | 60 - .../Pods-Sample-API/Pods-Sample-API-dummy.m | 5 - .../Pods-Sample-API-resources.sh | 118 - .../Pods-Sample-API-umbrella.h | 16 - .../Pods-Sample-API.debug.xcconfig | 10 - .../Pods-Sample-API/Pods-Sample-API.modulemap | 6 - .../Pods-Sample-API.release.xcconfig | 10 - .../Pods-Sample/Info.plist | 26 - .../Pods-Sample-acknowledgements.markdown | 28 - .../Pods-Sample-acknowledgements.plist | 60 - .../Pods-Sample/Pods-Sample-dummy.m | 5 - .../Pods-Sample/Pods-Sample-frameworks.sh | 153 - .../Pods-Sample/Pods-Sample-resources.sh | 118 - .../Pods-Sample/Pods-Sample-umbrella.h | 16 - .../Pods-Sample/Pods-Sample.debug.xcconfig | 11 - .../Pods-Sample/Pods-Sample.modulemap | 6 - .../Pods-Sample/Pods-Sample.release.xcconfig | 11 - .../Target Support Files/WeaverDI/Info.plist | 26 - .../WeaverDI/WeaverDI-dummy.m | 5 - .../WeaverDI/WeaverDI-prefix.pch | 12 - .../WeaverDI/WeaverDI-umbrella.h | 16 - .../WeaverDI/WeaverDI.modulemap | 6 - .../WeaverDI/WeaverDI.xcconfig | 9 - Sample/Sample.xcodeproj/project.pbxproj | 141 - .../contents.xcworkspacedata | 10 - Sample/Sample/AppDelegate.swift | 1 - .../Sample/Generated/Weaver.AppDelegate.swift | 1 - .../Generated/Weaver.HomeViewController.swift | 1 - .../Weaver.MovieViewController.swift | 3 +- .../Generated/Weaver.PersonManager.swift | 1 - .../Generated/Weaver.ReviewManager.swift | 1 - ...er.WSReviewViewController+Injectable.swift | 1 - Sources/WeaverCodeGen/Error.swift | 1 - Sources/WeaverCodeGen/Generator.swift | 1 - Sources/WeaverCodeGen/Graph.swift | 1 - Sources/WeaverCodeGen/Inspector.swift | 1 - Sources/WeaverCodeGen/Parser.swift | 2 +- Sources/WeaverCodeGen/Scope.swift | 62 +- Sources/WeaverCodeGen/Token.swift | 1 - Sources/WeaverDI/BeaverDI.h | 19 - Sources/WeaverDI/Info.plist | 24 - Sources/WeaverDI/Instance.swift | 216 -- Sources/WeaverDI/Scope.swift | 64 - Tests/WeaverCodeGenTests/ParserTests.swift | 26 +- Tests/WeaverDITests/Info.plist | 22 - .../CYaml_Info.plist | 0 .../Commander_Info.plist | 0 .../GeneratedModuleMap/CYaml/module.modulemap | 0 .../PathKit_Info.plist | 0 .../SWXMLHash_Info.plist | 0 .../SourceKittenFramework_Info.plist | 0 .../Spectre_Info.plist | 0 .../StencilSwiftKit_Info.plist | 0 .../Stencil_Info.plist | 0 .../WeaverCodeGenTests_Info.plist | 0 .../WeaverCodeGen_Info.plist | 0 .../WeaverDITests_Info.plist | 0 .../WeaverDI_Info.plist | 0 .../Yams_Info.plist | 0 .../project.pbxproj | 2705 ++++++++--------- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/WeaverCodeGen.xcscheme | 44 +- .../xcschemes/xcschememanagement.plist | 2 +- WeaverDI.podspec | 15 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Tests.xcscheme | 117 - .../xcschemes/WeaverDI-Package.xcscheme | 245 -- tools/bump_version.sh | 6 +- tools/check_carthage.sh | 13 - 97 files changed, 1319 insertions(+), 4694 deletions(-) delete mode 100644 Sample/Podfile delete mode 100644 Sample/Podfile.lock delete mode 100644 Sample/Pods/Local Podspecs/WeaverDI.podspec.json delete mode 100644 Sample/Pods/Manifest.lock delete mode 100644 Sample/Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.markdown delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-dummy.m delete mode 100755 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh delete mode 100755 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-resources.sh delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.debug.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.modulemap delete mode 100644 Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.release.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.markdown delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-dummy.m delete mode 100755 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-resources.sh delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.debug.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.release.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.markdown delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-dummy.m delete mode 100755 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh delete mode 100755 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-resources.sh delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.modulemap delete mode 100644 Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/Info.plist delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/WeaverDI-dummy.m delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/WeaverDI-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/WeaverDI-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/WeaverDI.modulemap delete mode 100644 Sample/Pods/Target Support Files/WeaverDI/WeaverDI.xcconfig delete mode 100644 Sample/Sample.xcworkspace/contents.xcworkspacedata delete mode 100644 Sources/WeaverDI/BeaverDI.h delete mode 100644 Sources/WeaverDI/Info.plist delete mode 100644 Sources/WeaverDI/Instance.swift delete mode 100644 Sources/WeaverDI/Scope.swift delete mode 100644 Tests/WeaverDITests/Info.plist rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/CYaml_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/Commander_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/GeneratedModuleMap/CYaml/module.modulemap (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/PathKit_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/SWXMLHash_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/SourceKittenFramework_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/Spectre_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/StencilSwiftKit_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/Stencil_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/WeaverCodeGenTests_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/WeaverCodeGen_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/WeaverDITests_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/WeaverDI_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/Yams_Info.plist (100%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/project.pbxproj (50%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {Sample/Sample.xcworkspace => Weaver.xcodeproj/project.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) rename WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI.xcscheme => Weaver.xcodeproj/xcshareddata/xcschemes/WeaverCodeGen.xcscheme (68%) rename {WeaverDI.xcodeproj => Weaver.xcodeproj}/xcshareddata/xcschemes/xcschememanagement.plist (83%) delete mode 100644 WeaverDI.podspec delete mode 100644 WeaverDI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 WeaverDI.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme delete mode 100644 WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme delete mode 100755 tools/check_carthage.sh diff --git a/.codecov.yml b/.codecov.yml index 9e59e535..efdc4faf 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -2,7 +2,6 @@ coverage: ignore: - Sources/WeaverCommand - "Sources/WeaverCodeGen/*.generated.swift" - - Sources/WeaverDI/Instance.swift - Tests status: patch: false diff --git a/.travis.yml b/.travis.yml index 181f2e11..2f532984 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,5 +12,3 @@ script: - swift test - make install - bash -c "cd Sample && fastlane test" - - ./tools/check_carthage.sh - - pod lib lint \ No newline at end of file diff --git a/Makefile b/Makefile index c548594a..90fb133b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := $(shell /usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" WeaverDI.xcodeproj/WeaverCodeGen_Info.plist) +VERSION := $(shell /usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Weaver.xcodeproj/WeaverCodeGen_Info.plist) PREFIX=/usr/local SWIFT_BUILD_FLAGS=--configuration release diff --git a/Package.swift b/Package.swift index 58e0e7ac..6875e64f 100644 --- a/Package.swift +++ b/Package.swift @@ -2,10 +2,7 @@ import PackageDescription let package = Package( - name: "WeaverDI", - products: [ - .library(name: "WeaverDI", targets: ["WeaverDI"]) - ], + name: "Weaver", dependencies: [ .package(url: "https://github.com/jpsim/SourceKitten.git", from: "0.21.0"), .package(url: "https://github.com/kylef/Commander.git", from: "0.6.0"), @@ -13,9 +10,7 @@ let package = Package( .package(url: "https://github.com/SwiftGen/StencilSwiftKit.git", from: "2.4.0") ], targets: [ - .target(name: "WeaverDI"), - .testTarget(name: "WeaverDITests", dependencies: ["WeaverDI"]), - .target(name: "WeaverCodeGen", dependencies: ["SourceKittenFramework", "Stencil", "StencilSwiftKit", "WeaverDI"]), + .target(name: "WeaverCodeGen", dependencies: ["SourceKittenFramework", "Stencil", "StencilSwiftKit"]), .testTarget(name: "WeaverCodeGenTests", dependencies: ["WeaverCodeGen"]), .target(name: "WeaverCommand", dependencies: ["Commander", "WeaverCodeGen"]) ] diff --git a/Sample/API/Generated/Weaver.API.swift b/Sample/API/Generated/Weaver.API.swift index 78ba7648..a379be7d 100644 --- a/Sample/API/Generated/Weaver.API.swift +++ b/Sample/API/Generated/Weaver.API.swift @@ -1,7 +1,6 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! import Foundation -import WeaverDI // MARK: - MovieAPI protocol MovieAPIInputDependencyResolver { var urlSession: URLSession { get } diff --git a/Sample/API/Generated/Weaver.ImageManager.swift b/Sample/API/Generated/Weaver.ImageManager.swift index 9706ebb0..2c973a7a 100644 --- a/Sample/API/Generated/Weaver.ImageManager.swift +++ b/Sample/API/Generated/Weaver.ImageManager.swift @@ -2,7 +2,6 @@ /// DO NOT EDIT! import Foundation import UIKit -import WeaverDI // MARK: - ImageManager protocol ImageManagerDependencyResolver { var logger: Logger { get } diff --git a/Sample/API/Generated/Weaver.MovieManager.swift b/Sample/API/Generated/Weaver.MovieManager.swift index f0cb50bc..c88a80f2 100644 --- a/Sample/API/Generated/Weaver.MovieManager.swift +++ b/Sample/API/Generated/Weaver.MovieManager.swift @@ -1,7 +1,6 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! import Foundation -import WeaverDI // MARK: - MovieManager protocol MovieManagerInputDependencyResolver { var logger: Logger { get } diff --git a/Sample/API/Manager/API.swift b/Sample/API/Manager/API.swift index 509622b7..45579756 100644 --- a/Sample/API/Manager/API.swift +++ b/Sample/API/Manager/API.swift @@ -7,7 +7,6 @@ // import Foundation -import WeaverDI // MARK: - Error diff --git a/Sample/API/Manager/ImageManager.swift b/Sample/API/Manager/ImageManager.swift index 22100992..c19e3b1e 100644 --- a/Sample/API/Manager/ImageManager.swift +++ b/Sample/API/Manager/ImageManager.swift @@ -8,7 +8,6 @@ import Foundation import UIKit -import WeaverDI public enum ImageManagerError: Error { case oops diff --git a/Sample/API/Manager/MovieManager.swift b/Sample/API/Manager/MovieManager.swift index 07086a86..3aa8e838 100644 --- a/Sample/API/Manager/MovieManager.swift +++ b/Sample/API/Manager/MovieManager.swift @@ -7,7 +7,6 @@ // import Foundation -import WeaverDI // MARK: - Error diff --git a/Sample/Podfile b/Sample/Podfile deleted file mode 100644 index 916a94f3..00000000 --- a/Sample/Podfile +++ /dev/null @@ -1,18 +0,0 @@ -# Uncomment the next line to define a global platform for your project -# platform :ios, '9.0' - -target 'Sample' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for Sample - pod 'WeaverDI', :path => '../' - - target 'API' do - target 'APITests' do - inherit! :search_paths - # Pods for testing - end - end - -end diff --git a/Sample/Podfile.lock b/Sample/Podfile.lock deleted file mode 100644 index 88be27bd..00000000 --- a/Sample/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - WeaverDI (0.9.13) - -DEPENDENCIES: - - WeaverDI (from `../`) - -EXTERNAL SOURCES: - WeaverDI: - :path: "../" - -SPEC CHECKSUMS: - WeaverDI: fe2a54650b36c52d35c3f6db9ea8f0f733669f59 - -PODFILE CHECKSUM: e107949e1ead67a0e72e8d74de679dc5d2c018b0 - -COCOAPODS: 1.5.0 diff --git a/Sample/Pods/Local Podspecs/WeaverDI.podspec.json b/Sample/Pods/Local Podspecs/WeaverDI.podspec.json deleted file mode 100644 index 9dc8c8d1..00000000 --- a/Sample/Pods/Local Podspecs/WeaverDI.podspec.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "WeaverDI", - "version": "0.9.13", - "swift_version": "4.1", - "summary": "Declarative, easy-to-use and safe Dependency Injection framework for Swift (iOS/macOS/Linux)", - "homepage": "https://github.com/scribd/Weaver", - "license": { - "type": "MIT", - "file": "LICENSE" - }, - "authors": { - "Theophane Rupin": "theo@scribd.com" - }, - "source": { - "git": "https://github.com/scribd/Weaver.git", - "tag": "0.9.13" - }, - "platforms": { - "ios": "9.0", - "osx": "10.10" - }, - "source_files": "Sources/WeaverDI/**/*.swift" -} diff --git a/Sample/Pods/Manifest.lock b/Sample/Pods/Manifest.lock deleted file mode 100644 index 88be27bd..00000000 --- a/Sample/Pods/Manifest.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - WeaverDI (0.9.13) - -DEPENDENCIES: - - WeaverDI (from `../`) - -EXTERNAL SOURCES: - WeaverDI: - :path: "../" - -SPEC CHECKSUMS: - WeaverDI: fe2a54650b36c52d35c3f6db9ea8f0f733669f59 - -PODFILE CHECKSUM: e107949e1ead67a0e72e8d74de679dc5d2c018b0 - -COCOAPODS: 1.5.0 diff --git a/Sample/Pods/Pods.xcodeproj/project.pbxproj b/Sample/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 7cfc7c32..00000000 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,944 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - objects = { - -/* Begin PBXBuildFile section */ - 5B63061629AFA550AD38A56103897B9A /* Pods-Sample-API-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64CF1B9380FA81C4203A34AF2228AF02 /* Pods-Sample-API-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */; }; - 6EE9518448AE9EB982EDD42720EACACD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - 7B45094F548366445E7CA3D23EBC4FB9 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */; }; - 83B4F2D14E8115DDB2B5B50B4C3600E7 /* Pods-Sample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 848A62154F2BABBF459EF5274411D94E /* Pods-Sample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */; }; - 93A1AC96941AD508CF05C2163E2B214D /* Pods-APITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */; }; - 9935D8506BDE4B1F9EA6B3C5994C8CF9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - A1AC955987F50EB9BCB3E45A2969FB17 /* Pods-APITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3B4E965D941415B4D3ABBF9D409C220 /* WeaverDI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */; }; - DB6288C36D418EFACB78792D2781D36F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - E8EF4708B8980A34E670D6600C9CA246 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */; }; - FD1ED241C250A802502D2206ED85F3BB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; - FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 23D43CEF9DA38712EAC51102F4D2B1A3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = CE0B50C2723CEEB1EF14A1793E777979; - remoteInfo = WeaverDI; - }; - 3D9FFF3576F1C7902B0A1E4BB00465D5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = CE0B50C2723CEEB1EF14A1793E777979; - remoteInfo = WeaverDI; - }; - 48D5306E374D42A5F21D88315ECA1DAD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = A08C8CEF23F39B9E76DE83111ED8F9C5; - remoteInfo = "Pods-Sample-API"; - }; - C09FA1C3A5BE7F7638BA935C8335496F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = CE0B50C2723CEEB1EF14A1793E777979; - remoteInfo = WeaverDI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 03B5F75FC64A3FD53151F93170EA2BAC /* Pods-Sample-API.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample-API.release.xcconfig"; sourceTree = ""; }; - 0423641EDDBE89835A2DC9645D9B086A /* Pods-Sample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-frameworks.sh"; sourceTree = ""; }; - 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-API-dummy.m"; sourceTree = ""; }; - 114A46BCC8C437864F62599DC4AEC6E8 /* Pods-Sample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-acknowledgements.plist"; sourceTree = ""; }; - 13F35DB50FCA2AD19574CB00CF106ADE /* WeaverDI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = WeaverDI.modulemap; sourceTree = ""; }; - 148DEE0CE8A2A6E01E7D4B10989F03DE /* Pods-APITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-frameworks.sh"; sourceTree = ""; }; - 182DE0EEE13129071222BD0DB3F1093A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 18F501DA62F95D4FA338D7373EE5AF59 /* Pods-APITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-resources.sh"; sourceTree = ""; }; - 27122AF041645967CDA2A4CC70F60E7C /* Pods-Sample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-resources.sh"; sourceTree = ""; }; - 2D44A859D307B3795C8150C408F5EFA7 /* WeaverDI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-prefix.pch"; sourceTree = ""; }; - 3150966CA6FEA592CB27065618E324EB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 350A1ADF92DAD13BDEC589245E7A20A0 /* Pods-Sample-API.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample-API.debug.xcconfig"; sourceTree = ""; }; - 350D37C46659B87EC5B28735DB690775 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "WeaverDI-dummy.m"; sourceTree = ""; }; - 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-APITests-umbrella.h"; sourceTree = ""; }; - 4F77533A6CB82983C07DBBDABFAEB860 /* Pods-APITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-APITests.modulemap"; sourceTree = ""; }; - 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Sample-dummy.m"; sourceTree = ""; }; - 5234E22A8E410A4FACEB5D7AD77D0226 /* Pods-APITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-APITests-acknowledgements.plist"; sourceTree = ""; }; - 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Sample-umbrella.h"; sourceTree = ""; }; - 533EAB4214607159F018CB7FAC93F090 /* Pods-Sample-API-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Sample-API-acknowledgements.plist"; sourceTree = ""; }; - 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scope.swift; path = Sources/WeaverDI/Scope.swift; sourceTree = ""; }; - 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Sample-API-umbrella.h"; sourceTree = ""; }; - 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample_API.framework; path = "Pods-Sample-API.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "WeaverDI-umbrella.h"; sourceTree = ""; }; - 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Sample.framework; path = "Pods-Sample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 722BD3CFDF58BCB3D871EC77FA9A54F0 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 8087AF3F592D415D774E7DA1A93631D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 842499A5B807EFD3E78C59D5C6A4CD2F /* Pods-APITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.release.xcconfig"; sourceTree = ""; }; - 8604F1FE8BC61033736D656833C1A784 /* Pods-Sample-API-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Sample-API-resources.sh"; sourceTree = ""; }; - 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = WeaverDI.xcconfig; sourceTree = ""; }; - 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_APITests.framework; path = "Pods-APITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 97AD5269E636665AD0FA34FB1F9A83A8 /* Pods-Sample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample.modulemap"; sourceTree = ""; }; - A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-APITests-dummy.m"; sourceTree = ""; }; - A8B92042A3806B61ABA082CEE77B5DFC /* Pods-Sample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-acknowledgements.markdown"; sourceTree = ""; }; - AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Instance.swift; path = Sources/WeaverDI/Instance.swift; sourceTree = ""; }; - B7CBBCDD3E4A9542DA85828DBC244337 /* Pods-APITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-APITests-acknowledgements.markdown"; sourceTree = ""; }; - B85FBB61A428060576E2E596114F9D4B /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.release.xcconfig"; sourceTree = ""; }; - DBF53050CAE51EC86582A4737D71C8F9 /* Pods-Sample-API-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Sample-API-acknowledgements.markdown"; sourceTree = ""; }; - DD8A71C0AFBF2D5BCB73FB2DC7042B5B /* Pods-APITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-APITests.debug.xcconfig"; sourceTree = ""; }; - E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = WeaverDI.framework; path = WeaverDI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E26B21FED4FD48540A0AF5DAF6943FD6 /* WeaverDI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = WeaverDI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - E3E1EB734F01B09D7D4F64D07EE006D9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E5F6A31D5424DC9BDACEFF1400381527 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Sample.debug.xcconfig"; sourceTree = ""; }; - EBEDACC1575B2A45B9B9040A85F2EBA7 /* Pods-Sample-API.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Sample-API.modulemap"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 30C53E8FB4D8B4BD3FE41E73DBB10719 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DB6288C36D418EFACB78792D2781D36F /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 36CB3DC0AEBA0AE0512BA64019DE6920 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6EE9518448AE9EB982EDD42720EACACD /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F3D78DF439728B45C03CEC9964FE818 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FD1ED241C250A802502D2206ED85F3BB /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 69C96408C76BA982DB576B3AC64939D8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9935D8506BDE4B1F9EA6B3C5994C8CF9 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 05F19D4C46C34C417F6134D3D8F732A2 /* Development Pods */ = { - isa = PBXGroup; - children = ( - 196201FF0CD30BEE31F39A30CDB92CAC /* WeaverDI */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 15B703207E38013C26E1952D7F60759F /* Pods-Sample-API */ = { - isa = PBXGroup; - children = ( - 3150966CA6FEA592CB27065618E324EB /* Info.plist */, - EBEDACC1575B2A45B9B9040A85F2EBA7 /* Pods-Sample-API.modulemap */, - DBF53050CAE51EC86582A4737D71C8F9 /* Pods-Sample-API-acknowledgements.markdown */, - 533EAB4214607159F018CB7FAC93F090 /* Pods-Sample-API-acknowledgements.plist */, - 0E5C80E48FDC59A4E948DF527BC7C799 /* Pods-Sample-API-dummy.m */, - 8604F1FE8BC61033736D656833C1A784 /* Pods-Sample-API-resources.sh */, - 5B41D1BBD2441EFB4F33B2643DB0ECB4 /* Pods-Sample-API-umbrella.h */, - 350A1ADF92DAD13BDEC589245E7A20A0 /* Pods-Sample-API.debug.xcconfig */, - 03B5F75FC64A3FD53151F93170EA2BAC /* Pods-Sample-API.release.xcconfig */, - ); - name = "Pods-Sample-API"; - path = "Target Support Files/Pods-Sample-API"; - sourceTree = ""; - }; - 16E6B61EC323CB67397FECE9457A6016 /* Pods-Sample */ = { - isa = PBXGroup; - children = ( - E3E1EB734F01B09D7D4F64D07EE006D9 /* Info.plist */, - 97AD5269E636665AD0FA34FB1F9A83A8 /* Pods-Sample.modulemap */, - A8B92042A3806B61ABA082CEE77B5DFC /* Pods-Sample-acknowledgements.markdown */, - 114A46BCC8C437864F62599DC4AEC6E8 /* Pods-Sample-acknowledgements.plist */, - 50D11CB21C9729A31424532F02856704 /* Pods-Sample-dummy.m */, - 0423641EDDBE89835A2DC9645D9B086A /* Pods-Sample-frameworks.sh */, - 27122AF041645967CDA2A4CC70F60E7C /* Pods-Sample-resources.sh */, - 5262625CCC917000876A0A601EB0E4E9 /* Pods-Sample-umbrella.h */, - E5F6A31D5424DC9BDACEFF1400381527 /* Pods-Sample.debug.xcconfig */, - B85FBB61A428060576E2E596114F9D4B /* Pods-Sample.release.xcconfig */, - ); - name = "Pods-Sample"; - path = "Target Support Files/Pods-Sample"; - sourceTree = ""; - }; - 196201FF0CD30BEE31F39A30CDB92CAC /* WeaverDI */ = { - isa = PBXGroup; - children = ( - AA00C82DAE5AD5DACC32A0498AEFADEF /* Instance.swift */, - 5A2BAC169EFD481F3642090BF56BC17C /* Scope.swift */, - 51BDF8E3E5A575D066954A7061563991 /* Pod */, - EE9C8ABECDA5812207A7FA5C5719DC70 /* Support Files */, - ); - name = WeaverDI; - path = ../..; - sourceTree = ""; - }; - 51BDF8E3E5A575D066954A7061563991 /* Pod */ = { - isa = PBXGroup; - children = ( - 722BD3CFDF58BCB3D871EC77FA9A54F0 /* LICENSE */, - 8087AF3F592D415D774E7DA1A93631D3 /* README.md */, - E26B21FED4FD48540A0AF5DAF6943FD6 /* WeaverDI.podspec */, - ); - name = Pod; - sourceTree = ""; - }; - 5E0D919E635D23B70123790B8308F8EF /* iOS */ = { - isa = PBXGroup; - children = ( - 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 05F19D4C46C34C417F6134D3D8F732A2 /* Development Pods */, - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - F8D5999314950D4E734D711011013E47 /* Products */, - B65A598E88CA1CF387DE7CA797C2EF72 /* Targets Support Files */, - ); - sourceTree = ""; - }; - AEF1168F29BB94317ECF0EEF52BD6A07 /* Pods-APITests */ = { - isa = PBXGroup; - children = ( - 350D37C46659B87EC5B28735DB690775 /* Info.plist */, - 4F77533A6CB82983C07DBBDABFAEB860 /* Pods-APITests.modulemap */, - B7CBBCDD3E4A9542DA85828DBC244337 /* Pods-APITests-acknowledgements.markdown */, - 5234E22A8E410A4FACEB5D7AD77D0226 /* Pods-APITests-acknowledgements.plist */, - A890A8CABCD291B6E18E58026E9CA471 /* Pods-APITests-dummy.m */, - 148DEE0CE8A2A6E01E7D4B10989F03DE /* Pods-APITests-frameworks.sh */, - 18F501DA62F95D4FA338D7373EE5AF59 /* Pods-APITests-resources.sh */, - 48C6EBA246E6CB381D6BD5C11C5B26B6 /* Pods-APITests-umbrella.h */, - DD8A71C0AFBF2D5BCB73FB2DC7042B5B /* Pods-APITests.debug.xcconfig */, - 842499A5B807EFD3E78C59D5C6A4CD2F /* Pods-APITests.release.xcconfig */, - ); - name = "Pods-APITests"; - path = "Target Support Files/Pods-APITests"; - sourceTree = ""; - }; - B65A598E88CA1CF387DE7CA797C2EF72 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - AEF1168F29BB94317ECF0EEF52BD6A07 /* Pods-APITests */, - 16E6B61EC323CB67397FECE9457A6016 /* Pods-Sample */, - 15B703207E38013C26E1952D7F60759F /* Pods-Sample-API */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { - isa = PBXGroup; - children = ( - 5E0D919E635D23B70123790B8308F8EF /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - EE9C8ABECDA5812207A7FA5C5719DC70 /* Support Files */ = { - isa = PBXGroup; - children = ( - 182DE0EEE13129071222BD0DB3F1093A /* Info.plist */, - 13F35DB50FCA2AD19574CB00CF106ADE /* WeaverDI.modulemap */, - 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */, - 4042DC28DBABA1B0E1BA6092ED21A3F1 /* WeaverDI-dummy.m */, - 2D44A859D307B3795C8150C408F5EFA7 /* WeaverDI-prefix.pch */, - 6921BBC5A37890EDA67DB79D15154D8A /* WeaverDI-umbrella.h */, - ); - name = "Support Files"; - path = "Sample/Pods/Target Support Files/WeaverDI"; - sourceTree = ""; - }; - F8D5999314950D4E734D711011013E47 /* Products */ = { - isa = PBXGroup; - children = ( - 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */, - 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */, - 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */, - E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 7C2418612BDEFFB54A94F6DD1E5D6A73 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A1AC955987F50EB9BCB3E45A2969FB17 /* Pods-APITests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7FF90C9907EC2D1763157C30EF1DA269 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 83B4F2D14E8115DDB2B5B50B4C3600E7 /* Pods-Sample-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E0AD849A409AE701700FF613680876E4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5B63061629AFA550AD38A56103897B9A /* Pods-Sample-API-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FAF6C3CA91019EB3D8733D67C4959527 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FE1BB30EC20682191B8F3F807C978876 /* WeaverDI-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - A08C8CEF23F39B9E76DE83111ED8F9C5 /* Pods-Sample-API */ = { - isa = PBXNativeTarget; - buildConfigurationList = ED1FD2D6801BF3E63C1773A72F50CE57 /* Build configuration list for PBXNativeTarget "Pods-Sample-API" */; - buildPhases = ( - BA2B3E69218AA94C924ADF7FD9A5832B /* Sources */, - 69C96408C76BA982DB576B3AC64939D8 /* Frameworks */, - E0AD849A409AE701700FF613680876E4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 03100784CC6B43526C062F47A515AEEE /* PBXTargetDependency */, - ); - name = "Pods-Sample-API"; - productName = "Pods-Sample-API"; - productReference = 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */; - productType = "com.apple.product-type.framework"; - }; - CE0B50C2723CEEB1EF14A1793E777979 /* WeaverDI */ = { - isa = PBXNativeTarget; - buildConfigurationList = B07D795C8A3DD827822FD4EBDB4CF45D /* Build configuration list for PBXNativeTarget "WeaverDI" */; - buildPhases = ( - 525C453E6B1FA867943A002D2104BDA6 /* Sources */, - 30C53E8FB4D8B4BD3FE41E73DBB10719 /* Frameworks */, - FAF6C3CA91019EB3D8733D67C4959527 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WeaverDI; - productName = WeaverDI; - productReference = E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */; - productType = "com.apple.product-type.framework"; - }; - E6F41C320059283CB84A81896F036B82 /* Pods-Sample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 036BC09113295280DAF5F87189FFF70D /* Build configuration list for PBXNativeTarget "Pods-Sample" */; - buildPhases = ( - B7A8379511A57BA049A1D67977B87072 /* Sources */, - 36CB3DC0AEBA0AE0512BA64019DE6920 /* Frameworks */, - 7FF90C9907EC2D1763157C30EF1DA269 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - F095ED7153322C13C46BCDB850FA1F46 /* PBXTargetDependency */, - ); - name = "Pods-Sample"; - productName = "Pods-Sample"; - productReference = 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */; - productType = "com.apple.product-type.framework"; - }; - FFFEE1F76EC652470A9E7BD007C27D8C /* Pods-APITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 14F479D2780719B92B7DA15615A19339 /* Build configuration list for PBXNativeTarget "Pods-APITests" */; - buildPhases = ( - 0087727E6A82AF9D308E0E4DA32BC53A /* Sources */, - 4F3D78DF439728B45C03CEC9964FE818 /* Frameworks */, - 7C2418612BDEFFB54A94F6DD1E5D6A73 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 0454C69AA404EE31C2C5CCB9AB9F1683 /* PBXTargetDependency */, - 02BA7B31344F91E6586B045520F1D173 /* PBXTargetDependency */, - ); - name = "Pods-APITests"; - productName = "Pods-APITests"; - productReference = 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 0930; - }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = F8D5999314950D4E734D711011013E47 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - FFFEE1F76EC652470A9E7BD007C27D8C /* Pods-APITests */, - E6F41C320059283CB84A81896F036B82 /* Pods-Sample */, - A08C8CEF23F39B9E76DE83111ED8F9C5 /* Pods-Sample-API */, - CE0B50C2723CEEB1EF14A1793E777979 /* WeaverDI */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 0087727E6A82AF9D308E0E4DA32BC53A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 93A1AC96941AD508CF05C2163E2B214D /* Pods-APITests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 525C453E6B1FA867943A002D2104BDA6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E8EF4708B8980A34E670D6600C9CA246 /* Instance.swift in Sources */, - 7B45094F548366445E7CA3D23EBC4FB9 /* Scope.swift in Sources */, - A3B4E965D941415B4D3ABBF9D409C220 /* WeaverDI-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B7A8379511A57BA049A1D67977B87072 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 848A62154F2BABBF459EF5274411D94E /* Pods-Sample-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BA2B3E69218AA94C924ADF7FD9A5832B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 64CF1B9380FA81C4203A34AF2228AF02 /* Pods-Sample-API-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 02BA7B31344F91E6586B045520F1D173 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = WeaverDI; - target = CE0B50C2723CEEB1EF14A1793E777979 /* WeaverDI */; - targetProxy = 23D43CEF9DA38712EAC51102F4D2B1A3 /* PBXContainerItemProxy */; - }; - 03100784CC6B43526C062F47A515AEEE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = WeaverDI; - target = CE0B50C2723CEEB1EF14A1793E777979 /* WeaverDI */; - targetProxy = C09FA1C3A5BE7F7638BA935C8335496F /* PBXContainerItemProxy */; - }; - 0454C69AA404EE31C2C5CCB9AB9F1683 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-Sample-API"; - target = A08C8CEF23F39B9E76DE83111ED8F9C5 /* Pods-Sample-API */; - targetProxy = 48D5306E374D42A5F21D88315ECA1DAD /* PBXContainerItemProxy */; - }; - F095ED7153322C13C46BCDB850FA1F46 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = WeaverDI; - target = CE0B50C2723CEEB1EF14A1793E777979 /* WeaverDI */; - targetProxy = 3D9FFF3576F1C7902B0A1E4BB00465D5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 093EBD49C732A898CC1AFD328F5B6C48 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B85FBB61A428060576E2E596114F9D4B /* Pods-Sample.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Sample/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Sample/Pods-Sample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 1426B008B7EADFCCF36A88C2176120C1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 03B5F75FC64A3FD53151F93170EA2BAC /* Pods-Sample-API.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Sample-API/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 197714EF94CD7D577250D3A0D34C0266 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E5F6A31D5424DC9BDACEFF1400381527 /* Pods-Sample.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Sample/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Sample/Pods-Sample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 30D948AE62C04225F8DEF8734A4C5A26 /* 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_ENABLE_OBJC_WEAK = 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; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - 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_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - 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; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 475FE366B77DCA114451DECF88D04DAA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/WeaverDI/WeaverDI-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/WeaverDI/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/WeaverDI/WeaverDI.modulemap"; - PRODUCT_MODULE_NAME = WeaverDI; - PRODUCT_NAME = WeaverDI; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 9E28B0761945DE3592E658175E154EC9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DD8A71C0AFBF2D5BCB73FB2DC7042B5B /* Pods-APITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-APITests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-APITests/Pods-APITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 9E88537B08ED4D6EB44DBA7BC8D56A35 /* 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_ENABLE_OBJC_WEAK = 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; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - 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 = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - 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; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - AECA3128F86A8705ECA83E98113EB601 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 350A1ADF92DAD13BDEC589245E7A20A0 /* Pods-Sample-API.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Sample-API/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D164A76248D2DACCA1A8E8A60FF67217 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 842499A5B807EFD3E78C59D5C6A4CD2F /* Pods-APITests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-APITests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-APITests/Pods-APITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - FAE69F7A80BCB252D0672D00C9E0167F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 88929C3982BB0C7D601201EA21776F0B /* WeaverDI.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/WeaverDI/WeaverDI-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/WeaverDI/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/WeaverDI/WeaverDI.modulemap"; - PRODUCT_MODULE_NAME = WeaverDI; - PRODUCT_NAME = WeaverDI; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.1; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 036BC09113295280DAF5F87189FFF70D /* Build configuration list for PBXNativeTarget "Pods-Sample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 197714EF94CD7D577250D3A0D34C0266 /* Debug */, - 093EBD49C732A898CC1AFD328F5B6C48 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 14F479D2780719B92B7DA15615A19339 /* Build configuration list for PBXNativeTarget "Pods-APITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9E28B0761945DE3592E658175E154EC9 /* Debug */, - D164A76248D2DACCA1A8E8A60FF67217 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9E88537B08ED4D6EB44DBA7BC8D56A35 /* Debug */, - 30D948AE62C04225F8DEF8734A4C5A26 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B07D795C8A3DD827822FD4EBDB4CF45D /* Build configuration list for PBXNativeTarget "WeaverDI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 475FE366B77DCA114451DECF88D04DAA /* Debug */, - FAE69F7A80BCB252D0672D00C9E0167F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - ED1FD2D6801BF3E63C1773A72F50CE57 /* Build configuration list for PBXNativeTarget "Pods-Sample-API" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AECA3128F86A8705ECA83E98113EB601 /* Debug */, - 1426B008B7EADFCCF36A88C2176120C1 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; -} diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Info.plist b/Sample/Pods/Target Support Files/Pods-APITests/Info.plist deleted file mode 100644 index 2243fe6e..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.markdown b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.markdown deleted file mode 100644 index 5d9fefbd..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.markdown +++ /dev/null @@ -1,28 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## WeaverDI - -MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.plist b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.plist deleted file mode 100644 index 4967d552..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-acknowledgements.plist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - WeaverDI - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-dummy.m b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-dummy.m deleted file mode 100644 index dd45675f..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_APITests : NSObject -@end -@implementation PodsDummy_Pods_APITests -@end diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh deleted file mode 100755 index 66d8cfca..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework" -fi -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-resources.sh b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-resources.sh deleted file mode 100755 index fe3f9c72..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_BUILD_DIR}/assetcatalog_generated_info.plist" - fi -fi diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-umbrella.h b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-umbrella.h deleted file mode 100644 index 36f41c5e..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_APITestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_APITestsVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.debug.xcconfig b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.debug.xcconfig deleted file mode 100644 index 522e9b2e..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.debug.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.modulemap b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.modulemap deleted file mode 100644 index d27c5fe0..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_APITests { - umbrella header "Pods-APITests-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.release.xcconfig b/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.release.xcconfig deleted file mode 100644 index 522e9b2e..00000000 --- a/Sample/Pods/Target Support Files/Pods-APITests/Pods-APITests.release.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Info.plist b/Sample/Pods/Target Support Files/Pods-Sample-API/Info.plist deleted file mode 100644 index 2243fe6e..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.markdown b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.markdown deleted file mode 100644 index 5d9fefbd..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.markdown +++ /dev/null @@ -1,28 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## WeaverDI - -MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.plist b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.plist deleted file mode 100644 index 4967d552..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-acknowledgements.plist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - WeaverDI - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-dummy.m b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-dummy.m deleted file mode 100644 index a7ef6ca1..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Sample_API : NSObject -@end -@implementation PodsDummy_Pods_Sample_API -@end diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-resources.sh b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-resources.sh deleted file mode 100755 index fe3f9c72..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_BUILD_DIR}/assetcatalog_generated_info.plist" - fi -fi diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-umbrella.h b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-umbrella.h deleted file mode 100644 index f22230dd..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_Sample_APIVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_Sample_APIVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.debug.xcconfig b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.debug.xcconfig deleted file mode 100644 index a51bbc10..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap deleted file mode 100644 index d6468adc..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_Sample_API { - umbrella header "Pods-Sample-API-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.release.xcconfig b/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.release.xcconfig deleted file mode 100644 index a51bbc10..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Info.plist b/Sample/Pods/Target Support Files/Pods-Sample/Info.plist deleted file mode 100644 index 2243fe6e..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.markdown b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.markdown deleted file mode 100644 index 5d9fefbd..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.markdown +++ /dev/null @@ -1,28 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## WeaverDI - -MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.plist b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.plist deleted file mode 100644 index 4967d552..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-acknowledgements.plist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - MIT License - -Copyright (c) 2018 Scribd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - WeaverDI - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-dummy.m b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-dummy.m deleted file mode 100644 index b5ca68a1..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Sample : NSObject -@end -@implementation PodsDummy_Pods_Sample -@end diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh deleted file mode 100755 index 66d8cfca..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework" -fi -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-resources.sh b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-resources.sh deleted file mode 100755 index fe3f9c72..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_BUILD_DIR}/assetcatalog_generated_info.plist" - fi -fi diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-umbrella.h b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-umbrella.h deleted file mode 100644 index da08d36e..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_SampleVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_SampleVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig deleted file mode 100644 index 522e9b2e..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.modulemap b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.modulemap deleted file mode 100644 index 224cd980..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_Sample { - umbrella header "Pods-Sample-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig b/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig deleted file mode 100644 index 522e9b2e..00000000 --- a/Sample/Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI/WeaverDI.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "WeaverDI" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/Sample/Pods/Target Support Files/WeaverDI/Info.plist b/Sample/Pods/Target Support Files/WeaverDI/Info.plist deleted file mode 100644 index 91ffe138..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.9.13 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-dummy.m b/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-dummy.m deleted file mode 100644 index 7b689f47..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_WeaverDI : NSObject -@end -@implementation PodsDummy_WeaverDI -@end diff --git a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-prefix.pch b/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-prefix.pch deleted file mode 100644 index beb2a244..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-umbrella.h b/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-umbrella.h deleted file mode 100644 index 031b0007..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double WeaverDIVersionNumber; -FOUNDATION_EXPORT const unsigned char WeaverDIVersionString[]; - diff --git a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.modulemap b/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.modulemap deleted file mode 100644 index 27cc729c..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module WeaverDI { - umbrella header "WeaverDI-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.xcconfig b/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.xcconfig deleted file mode 100644 index 30298cf3..00000000 --- a/Sample/Pods/Target Support Files/WeaverDI/WeaverDI.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/WeaverDI -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Sample/Sample.xcodeproj/project.pbxproj b/Sample/Sample.xcodeproj/project.pbxproj index e18b29dd..e1b5388f 100644 --- a/Sample/Sample.xcodeproj/project.pbxproj +++ b/Sample/Sample.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 021DB343C7B56C46069CEBF1 /* Pods_Sample_API.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EC06D6CC58139C642122E64 /* Pods_Sample_API.framework */; }; 193A55A22097E38600319C18 /* Weaver.AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 193A559C2097E38600319C18 /* Weaver.AppDelegate.swift */; }; 194F90E220CFB78B00F594F5 /* API.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 194F90D920CFB78B00F594F5 /* API.framework */; }; 194F90EB20CFB78B00F594F5 /* API.h in Headers */ = {isa = PBXBuildFile; fileRef = 194F90DB20CFB78B00F594F5 /* API.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -48,8 +47,6 @@ 19FCF54520D33A0300AB142E /* Movie.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F5475620A8F001006F40DF /* Movie.swift */; }; 19FCF54720D33A4A00AB142E /* Weaver.MovieViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F5474620A79BE8006F40DF /* Weaver.MovieViewController.swift */; }; 19FCF54A20D33D2400AB142E /* Weaver.MovieManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19FCF54920D33D2300AB142E /* Weaver.MovieManager.swift */; }; - A611B9EC56E6C7DFD93D1932 /* Pods_APITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAB7512AFF1F2954964FDB2F /* Pods_APITests.framework */; }; - BF91DC467A0950C84BC5E6F0 /* Pods_Sample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C18B36A6C658BD7BA51E4CB4 /* Pods_Sample.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -91,8 +88,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 02587A588182CD9ECEA567A6 /* Pods-Sample-API.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample-API.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.debug.xcconfig"; sourceTree = ""; }; - 0D95A5C4D573A11D66037248 /* Pods-APITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-APITests/Pods-APITests.release.xcconfig"; sourceTree = ""; }; 193A559C2097E38600319C18 /* Weaver.AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Weaver.AppDelegate.swift; sourceTree = ""; }; 193EEF88207690C300BFE706 /* MovieManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovieManager.swift; sourceTree = ""; }; 193EEF8A2076911D00BFE706 /* Page.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Page.swift; sourceTree = ""; }; @@ -138,13 +133,6 @@ 19F5475620A8F001006F40DF /* Movie.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Movie.swift; sourceTree = ""; }; 19FCF54220D3388F00AB142E /* Weaver.ImageManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Weaver.ImageManager.swift; sourceTree = ""; }; 19FCF54920D33D2300AB142E /* Weaver.MovieManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Weaver.MovieManager.swift; sourceTree = ""; }; - 1E0077773A14ADCB72E93B04 /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig"; sourceTree = ""; }; - 61E4C0319D9A9D45A02316D8 /* Pods-APITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-APITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-APITests/Pods-APITests.debug.xcconfig"; sourceTree = ""; }; - 7EC06D6CC58139C642122E64 /* Pods_Sample_API.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Sample_API.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C18B36A6C658BD7BA51E4CB4 /* Pods_Sample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Sample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CAB7512AFF1F2954964FDB2F /* Pods_APITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_APITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB6A1D19FE6F74DBECA496A4 /* Pods-Sample-API.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample-API.release.xcconfig"; path = "Pods/Target Support Files/Pods-Sample-API/Pods-Sample-API.release.xcconfig"; sourceTree = ""; }; - E9E88E34E18A351F4D8E2087 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -152,7 +140,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 021DB343C7B56C46069CEBF1 /* Pods_Sample_API.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -161,7 +148,6 @@ buildActionMask = 2147483647; files = ( 194F90E220CFB78B00F594F5 /* API.framework in Frameworks */, - A611B9EC56E6C7DFD93D1932 /* Pods_APITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -170,7 +156,6 @@ buildActionMask = 2147483647; files = ( 194F90EE20CFB78B00F594F5 /* API.framework in Frameworks */, - BF91DC467A0950C84BC5E6F0 /* Pods_Sample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -217,8 +202,6 @@ 194F90DA20CFB78B00F594F5 /* API */, 194F90E720CFB78B00F594F5 /* APITests */, 19956DF2206B4F0A00751B70 /* Products */, - B5161A284913BCB313889A18 /* Pods */, - 86DB5737000B1E1FAD1F65BC /* Frameworks */, ); sourceTree = ""; }; @@ -326,29 +309,6 @@ path = Manager; sourceTree = ""; }; - 86DB5737000B1E1FAD1F65BC /* Frameworks */ = { - isa = PBXGroup; - children = ( - CAB7512AFF1F2954964FDB2F /* Pods_APITests.framework */, - C18B36A6C658BD7BA51E4CB4 /* Pods_Sample.framework */, - 7EC06D6CC58139C642122E64 /* Pods_Sample_API.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - B5161A284913BCB313889A18 /* Pods */ = { - isa = PBXGroup; - children = ( - 61E4C0319D9A9D45A02316D8 /* Pods-APITests.debug.xcconfig */, - 0D95A5C4D573A11D66037248 /* Pods-APITests.release.xcconfig */, - E9E88E34E18A351F4D8E2087 /* Pods-Sample.debug.xcconfig */, - 1E0077773A14ADCB72E93B04 /* Pods-Sample.release.xcconfig */, - 02587A588182CD9ECEA567A6 /* Pods-Sample-API.debug.xcconfig */, - DB6A1D19FE6F74DBECA496A4 /* Pods-Sample-API.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -367,7 +327,6 @@ isa = PBXNativeTarget; buildConfigurationList = 194F90F120CFB78B00F594F5 /* Build configuration list for PBXNativeTarget "API" */; buildPhases = ( - 568C6E0A47498DBF5CF2EC69 /* [CP] Check Pods Manifest.lock */, 194F90F920CFB90D00F594F5 /* Weaver */, 194F90D420CFB78B00F594F5 /* Sources */, 194F90D520CFB78B00F594F5 /* Frameworks */, @@ -387,11 +346,9 @@ isa = PBXNativeTarget; buildConfigurationList = 194F90F420CFB78B00F594F5 /* Build configuration list for PBXNativeTarget "APITests" */; buildPhases = ( - 99F76A6A2225F8A81FF84A96 /* [CP] Check Pods Manifest.lock */, 194F90DD20CFB78B00F594F5 /* Sources */, 194F90DE20CFB78B00F594F5 /* Frameworks */, 194F90DF20CFB78B00F594F5 /* Resources */, - 0F60C6C82036F8D15480F009 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -408,13 +365,11 @@ isa = PBXNativeTarget; buildConfigurationList = 19956E0E206B4F0A00751B70 /* Build configuration list for PBXNativeTarget "Sample" */; buildPhases = ( - 3EBF3857A6B93CCD307F9086 /* [CP] Check Pods Manifest.lock */, 19956E1F206BFAFD00751B70 /* Weaver */, 19956DED206B4F0A00751B70 /* Sources */, 19956DEE206B4F0A00751B70 /* Frameworks */, 19956DEF206B4F0A00751B70 /* Resources */, 194F90EF20CFB78B00F594F5 /* Embed Frameworks */, - 9786F5DF83E6FA8A1A9EB5ED /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -500,24 +455,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0F60C6C82036F8D15480F009 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WeaverDI.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-APITests/Pods-APITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 194F90F920CFB90D00F594F5 /* Weaver */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -546,78 +483,6 @@ shellPath = /bin/sh; shellScript = "weaver --output_path ${SOURCE_ROOT}/Sample/Generated/ `find ${SOURCE_ROOT}/Sample -name '*.swift' | xargs -0`"; }; - 3EBF3857A6B93CCD307F9086 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Sample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 568C6E0A47498DBF5CF2EC69 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Sample-API-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9786F5DF83E6FA8A1A9EB5ED /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/WeaverDI/WeaverDI.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WeaverDI.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Sample/Pods-Sample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 99F76A6A2225F8A81FF84A96 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-APITests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -710,7 +575,6 @@ /* Begin XCBuildConfiguration section */ 194F90F220CFB78B00F594F5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02587A588182CD9ECEA567A6 /* Pods-Sample-API.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -740,7 +604,6 @@ }; 194F90F320CFB78B00F594F5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DB6A1D19FE6F74DBECA496A4 /* Pods-Sample-API.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -769,7 +632,6 @@ }; 194F90F520CFB78B00F594F5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 61E4C0319D9A9D45A02316D8 /* Pods-APITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -789,7 +651,6 @@ }; 194F90F620CFB78B00F594F5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0D95A5C4D573A11D66037248 /* Pods-APITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -916,7 +777,6 @@ }; 19956E0F206B4F0A00751B70 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E9E88E34E18A351F4D8E2087 /* Pods-Sample.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -935,7 +795,6 @@ }; 19956E10206B4F0A00751B70 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1E0077773A14ADCB72E93B04 /* Pods-Sample.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; diff --git a/Sample/Sample.xcworkspace/contents.xcworkspacedata b/Sample/Sample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7b5a2f30..00000000 --- a/Sample/Sample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Sample/Sample/AppDelegate.swift b/Sample/Sample/AppDelegate.swift index 4175a88e..934f3235 100644 --- a/Sample/Sample/AppDelegate.swift +++ b/Sample/Sample/AppDelegate.swift @@ -7,7 +7,6 @@ // import UIKit -import WeaverDI import API @UIApplicationMain diff --git a/Sample/Sample/Generated/Weaver.AppDelegate.swift b/Sample/Sample/Generated/Weaver.AppDelegate.swift index db1930d7..7fb4ec72 100644 --- a/Sample/Sample/Generated/Weaver.AppDelegate.swift +++ b/Sample/Sample/Generated/Weaver.AppDelegate.swift @@ -2,7 +2,6 @@ /// DO NOT EDIT! import API import UIKit -import WeaverDI // MARK: - AppDelegate protocol AppDelegateDependencyResolver { var logger: Logger { get } diff --git a/Sample/Sample/Generated/Weaver.HomeViewController.swift b/Sample/Sample/Generated/Weaver.HomeViewController.swift index 76953e74..da2ab425 100644 --- a/Sample/Sample/Generated/Weaver.HomeViewController.swift +++ b/Sample/Sample/Generated/Weaver.HomeViewController.swift @@ -3,7 +3,6 @@ import API import Foundation import UIKit -import WeaverDI // MARK: - HomeViewController protocol HomeViewControllerInputDependencyResolver { var movieManager: MovieManaging { get } diff --git a/Sample/Sample/Generated/Weaver.MovieViewController.swift b/Sample/Sample/Generated/Weaver.MovieViewController.swift index e848d0dd..44c299bd 100644 --- a/Sample/Sample/Generated/Weaver.MovieViewController.swift +++ b/Sample/Sample/Generated/Weaver.MovieViewController.swift @@ -3,7 +3,6 @@ import API import Foundation import UIKit -import WeaverDI // MARK: - MovieViewController protocol MovieViewControllerInputDependencyResolver { var movieManager: MovieManaging { get } @@ -53,4 +52,4 @@ final class MovieViewControllerDependencyContainer: MovieViewControllerDependenc extension MovieViewControllerDependencyContainer: WSReviewViewControllerInputDependencyResolver {} protocol MovieViewControllerDependencyInjectable { init(injecting dependencies: MovieViewControllerDependencyResolver) -} +} \ No newline at end of file diff --git a/Sample/Sample/Generated/Weaver.PersonManager.swift b/Sample/Sample/Generated/Weaver.PersonManager.swift index 50c899c6..98ae8f0a 100644 --- a/Sample/Sample/Generated/Weaver.PersonManager.swift +++ b/Sample/Sample/Generated/Weaver.PersonManager.swift @@ -2,7 +2,6 @@ /// DO NOT EDIT! import API import Foundation -import WeaverDI // MARK: - PersonManager protocol PersonManagerInputDependencyResolver { var movieAPI: APIProtocol { get } diff --git a/Sample/Sample/Generated/Weaver.ReviewManager.swift b/Sample/Sample/Generated/Weaver.ReviewManager.swift index 9d7f34c4..9513de68 100644 --- a/Sample/Sample/Generated/Weaver.ReviewManager.swift +++ b/Sample/Sample/Generated/Weaver.ReviewManager.swift @@ -2,7 +2,6 @@ /// DO NOT EDIT! import API import Foundation -import WeaverDI // MARK: - ReviewManager protocol ReviewManagerInputDependencyResolver { var movieAPI: APIProtocol { get } diff --git a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift index b147df1f..ace59587 100644 --- a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift +++ b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift @@ -1,7 +1,6 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! import Foundation -import WeaverDI // MARK: - WSReviewViewController protocol WSReviewViewControllerInputDependencyResolver { var reviewManager: ReviewManaging { get } diff --git a/Sources/WeaverCodeGen/Error.swift b/Sources/WeaverCodeGen/Error.swift index 0310c918..ad344bed 100644 --- a/Sources/WeaverCodeGen/Error.swift +++ b/Sources/WeaverCodeGen/Error.swift @@ -6,7 +6,6 @@ // import Foundation -import WeaverDI enum TokenError: Error, AutoEquatable { case invalidAnnotation(String) diff --git a/Sources/WeaverCodeGen/Generator.swift b/Sources/WeaverCodeGen/Generator.swift index f300611c..40a628ee 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -9,7 +9,6 @@ import Foundation import Stencil import StencilSwiftKit import PathKit -import WeaverDI public final class Generator { diff --git a/Sources/WeaverCodeGen/Graph.swift b/Sources/WeaverCodeGen/Graph.swift index 41f0ef42..541a2152 100644 --- a/Sources/WeaverCodeGen/Graph.swift +++ b/Sources/WeaverCodeGen/Graph.swift @@ -6,7 +6,6 @@ // import Foundation -import WeaverDI public final class Graph { diff --git a/Sources/WeaverCodeGen/Inspector.swift b/Sources/WeaverCodeGen/Inspector.swift index 866f1aa4..d55ae61f 100644 --- a/Sources/WeaverCodeGen/Inspector.swift +++ b/Sources/WeaverCodeGen/Inspector.swift @@ -6,7 +6,6 @@ // import Foundation -import WeaverDI // MARK: - Inspector diff --git a/Sources/WeaverCodeGen/Parser.swift b/Sources/WeaverCodeGen/Parser.swift index f7ffa98e..c4d3e168 100644 --- a/Sources/WeaverCodeGen/Parser.swift +++ b/Sources/WeaverCodeGen/Parser.swift @@ -179,7 +179,7 @@ private extension Parser { func parseFile() throws -> Expr { var types = [Expr]() - var imports = Set(["WeaverDI"]) + var imports = Set() while true { parseAnyDeclarations() diff --git a/Sources/WeaverCodeGen/Scope.swift b/Sources/WeaverCodeGen/Scope.swift index 849cf5ef..e87fa486 100644 --- a/Sources/WeaverCodeGen/Scope.swift +++ b/Sources/WeaverCodeGen/Scope.swift @@ -1,15 +1,69 @@ // // Scope.swift -// WeaverCodeGen +// Weaver // -// Created by Théophane Rupin on 3/14/18. +// Created by Théophane Rupin on 2/20/18. // import Foundation -import WeaverDI -// MARK: - Conversion +/// Enum representing the scope of an instance. +/// +/// Possible cases: +/// - transient: the store always creates a new instance when the type is resolved. +/// - graph: a new instance is created when resolved the first time and then lives for the time the store object lives. +/// - weak: a new instance is created when resolved the first time and then lives for the time its strong references are living and shared with children. +/// - container: like graph, but shared with children. +enum Scope { + case transient + case graph + case weak + case container + + static var `default`: Scope { + return .graph + } +} + +// MARK: Rules +extension Scope { + + var isWeak: Bool { + switch self { + case .weak: + return true + case .transient, + .graph, + .container: + return false + } + } + + var isTransient: Bool { + switch self { + case .transient: + return true + case .graph, + .weak, + .container: + return false + } + } + + public var allowsAccessFromChildren: Bool { + switch self { + case .weak, + .container: + return true + case .transient, + .graph: + return false + } + } +} + +// MARK: - Conversion extension Scope { init?(_ string: String) { diff --git a/Sources/WeaverCodeGen/Token.swift b/Sources/WeaverCodeGen/Token.swift index fdbd95d2..54d9269a 100644 --- a/Sources/WeaverCodeGen/Token.swift +++ b/Sources/WeaverCodeGen/Token.swift @@ -7,7 +7,6 @@ import Foundation import SourceKittenFramework -import WeaverDI // MARK: - Token diff --git a/Sources/WeaverDI/BeaverDI.h b/Sources/WeaverDI/BeaverDI.h deleted file mode 100644 index e152f9b8..00000000 --- a/Sources/WeaverDI/BeaverDI.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// BeaverDI.h -// BeaverDI -// -// Created by Théophane Rupin on 2/20/18. -// Copyright © 2018 Scribd. All rights reserved. -// - -#import - -//! Project version number for BeaverDI. -FOUNDATION_EXPORT double BeaverDIVersionNumber; - -//! Project version string for BeaverDI. -FOUNDATION_EXPORT const unsigned char BeaverDIVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/Sources/WeaverDI/Info.plist b/Sources/WeaverDI/Info.plist deleted file mode 100644 index 1007fd9d..00000000 --- a/Sources/WeaverDI/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Sources/WeaverDI/Instance.swift b/Sources/WeaverDI/Instance.swift deleted file mode 100644 index fbba3db1..00000000 --- a/Sources/WeaverDI/Instance.swift +++ /dev/null @@ -1,216 +0,0 @@ -// -// Instance.swift -// WeaverDI -// -// Created by Théophane Rupin on 7/17/18. -// - -import Foundation - -/// Instantiation strategies enumeration. -public enum Instance { - - public typealias Body = () -> I - - case transient(TransientInstance) - case weakLazy(WeakLazyInstance) - case strongLazy(StrongLazyInstance) - - public init(scope: Scope, body: @escaping Body) { - if scope.isTransient { - self = .transient(.make(body)) - } else if scope.isWeak { - self = .weakLazy(.make(body)) - } else { - self = .strongLazy(.make(body)) - } - } - - public var value: I { - switch self { - case .transient(let instance): - return instance.value - case .weakLazy(let instance): - return instance.value - case .strongLazy(let instance): - return instance.value - } - } -} - -extension Instance { - - /// A `TransientInstance` is an instance type which only builds without storing any reference. - public final class TransientInstance { - - private let body: Body - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> TransientInstance { - return TransientInstance(body) - } - - var value: I { - return body() - } - } - - /// A `StrongLazyInstance` is a thread-safe instance type which lazily builds - /// and stores a strong reference on the service. - /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 - public class StrongLazyInstance { - - fileprivate let body: Body - - fileprivate var instance: I? - fileprivate var isLoaded = false - - private let instanceLocker = DispatchSemaphore(value: 1) - private let isLoadedDispatchQueue = DispatchQueue(label: "\(StrongLazyInstance.self).isLoadedDispatchQueue", attributes: .concurrent) - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> StrongLazyInstance { - if #available(OSX 10.12, *), #available(iOS 10.0, *) { - return StrongLazyInstance_OSX_10_12_iOS_10_0(body) - } else { - return StrongLazyInstance(body) - } - } - - private var syncIsLoaded: Bool { - set { - isLoadedDispatchQueue.async(flags: .barrier) { - self.isLoaded = newValue - } - } - get { - var isLoaded = false - isLoadedDispatchQueue.sync { - isLoaded = self.isLoaded - } - return isLoaded - } - } - - var value: I { - - if syncIsLoaded { - guard let instance = self.instance else { - fatalError("Instance is nil, you just found a race condition.") - } - return instance - } - - instanceLocker.wait() - - if syncIsLoaded { - guard let instance = self.instance else { - fatalError("Instance is nil, you just found a race condition.") - } - instanceLocker.signal() - return instance - } - - let instance = body() - self.instance = instance - - syncIsLoaded = true - instanceLocker.signal() - - return instance - } - } - - /// A `StrongLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds - /// and stores a strong reference on the service. - /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 - @available(OSX 10.12, *) - @available(iOS 10.0, *) - final class StrongLazyInstance_OSX_10_12_iOS_10_0: StrongLazyInstance { - - private var lock = os_unfair_lock() - - override var value: I { - - os_unfair_lock_lock(&lock) - defer { os_unfair_lock_unlock(&lock) } - - if let instance = self.instance { - return instance - } - - let instance = body() - self.instance = instance - - return instance - } - } - - /// A `WeakLazyInstance` is a thread-safe instance type which lazily builds - /// and stores a weak reference on the service. - /// This version is optimized for any os lower than OSX 10.12 or iOS 10.0 - public class WeakLazyInstance { - - fileprivate let body: Body - - fileprivate weak var instance: AnyObject? - - private let instanceLocker = DispatchSemaphore(value: 1) - - init(_ body: @escaping Body) { - self.body = body - } - - static func make(_ body: @escaping Body) -> WeakLazyInstance { - if #available(OSX 10.12, *), #available(iOS 10.0, *) { - return WeakLazyInstance_OSX_10_12_iOS_10_0(body) - } else { - return WeakLazyInstance(body) - } - } - - var value: I { - self.instanceLocker.wait() - defer { self.instanceLocker.signal() } - - if let instance = self.instance as? I { - return instance - } - - let instance = body() - self.instance = instance as AnyObject - - return instance - } - } - /// A `WeakLazyInstance_OSX_10_12_iOS_10_0` is a thread-safe instance type which lazily builds - /// and stores a weak reference on the service. - /// This version is optimized for any os greater than OSX 10.12 or iOS 10.0 - @available(OSX 10.12, *) - @available(iOS 10.0, *) - final class WeakLazyInstance_OSX_10_12_iOS_10_0: WeakLazyInstance { - - private var lock = os_unfair_lock() - - override var value: I { - - os_unfair_lock_lock(&lock) - defer { os_unfair_lock_unlock(&lock) } - - if let instance = self.instance as? I { - return instance - } - - let instance = body() - self.instance = instance as AnyObject - - return instance - } - } -} diff --git a/Sources/WeaverDI/Scope.swift b/Sources/WeaverDI/Scope.swift deleted file mode 100644 index 8fa87e1a..00000000 --- a/Sources/WeaverDI/Scope.swift +++ /dev/null @@ -1,64 +0,0 @@ -// -// Scope.swift -// Weaver -// -// Created by Théophane Rupin on 2/20/18. -// - -import Foundation - -/// Enum representing the scope of an instance. -/// -/// Possible cases: -/// - transient: the store always creates a new instance when the type is resolved. -/// - graph: a new instance is created when resolved the first time and then lives for the time the store object lives. -/// - weak: a new instance is created when resolved the first time and then lives for the time its strong references are living and shared with children. -/// - container: like graph, but shared with children. -public enum Scope { - case transient - case graph - case weak - case container - - public static var `default`: Scope { - return .graph - } -} - -// MARK: Rules - -extension Scope { - - var isWeak: Bool { - switch self { - case .weak: - return true - case .transient, - .graph, - .container: - return false - } - } - - var isTransient: Bool { - switch self { - case .transient: - return true - case .graph, - .weak, - .container: - return false - } - } - - public var allowsAccessFromChildren: Bool { - switch self { - case .weak, - .container: - return true - case .transient, - .graph: - return false - } - } -} diff --git a/Tests/WeaverCodeGenTests/ParserTests.swift b/Tests/WeaverCodeGenTests/ParserTests.swift index 3c41fca1..7ef9d249 100644 --- a/Tests/WeaverCodeGenTests/ParserTests.swift +++ b/Tests/WeaverCodeGenTests/ParserTests.swift @@ -32,7 +32,7 @@ final class MyService { children: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyEmbeddedService"), accessLevel: .default), offset: 32, length: 81, line: 1), children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "session", type: Type(name: "Session"), protocolType: Type(name: "SessionProtocol")), offset: 62, length: 48, line: 2))])])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -58,7 +58,7 @@ final class MyService { children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "api", type: Type(name: "API"), protocolType: Type(name: "APIProtocol")), offset: 26, length: 36, line: 1)), .scopeAnnotation(TokenBox(value: ScopeAnnotation(name: "api", scope: .graph), offset: 64, length: 30, line: 2))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -82,7 +82,7 @@ final class MyService { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyService")), offset: 6, length: 58, line: 0), children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "api", type: Type(name: "API"), protocolType: Type(name: "APIProtocol", isOptional: true)), offset: 26, length: 37, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -106,7 +106,7 @@ final class MyService { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyService")), offset: 6, length: 57, line: 0), children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "api", type: Type(name: "API"), protocolType: Type(name: "APIProtocol")), offset: 26, length: 36, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -130,7 +130,7 @@ final class MyService { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyService")), offset: 6, length: 42, line: 0), children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "api", type: Type(name: "API"), protocolType: nil), offset: 26, length: 21, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -154,7 +154,7 @@ final class MyService { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyService")), offset: 6, length: 51, line: 0), children: [.referenceAnnotation(TokenBox(value: ReferenceAnnotation(name: "api", type: Type(name: "APIProtocol")), offset: 26, length: 30, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -225,7 +225,7 @@ final class MyService { children: [.referenceAnnotation(TokenBox(value: ReferenceAnnotation(name: "api", type: Type(name: "APIProtocol")), offset: 26, length: 30, line: 1)), .configurationAnnotation(TokenBox(value: ConfigurationAnnotation(attribute: .customRef(value: true), target: .dependency(name: "api")), offset: 58, length: 32, line: 2))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -251,7 +251,7 @@ final class MyService { children: [.registerAnnotation(TokenBox(value: RegisterAnnotation(name: "api", type: Type(name: "API"), protocolType: Type(name: "APIProtocol")), offset: 26, length: 36, line: 1)), .configurationAnnotation(TokenBox(value: ConfigurationAnnotation(attribute: .customRef(value: true), target: .dependency(name: "api")), offset: 64, length: 32, line: 2))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -297,7 +297,7 @@ class Test { let syntaxTree = try parser.parse() - XCTAssertEqual(syntaxTree, .file(types: [], name: "test.swift", imports: ["WeaverDI"])) + XCTAssertEqual(syntaxTree, .file(types: [], name: "test.swift", imports: [])) } catch { XCTFail("Unexpected error: \(error)") } @@ -324,7 +324,7 @@ class Test { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MyService")), offset: 6, length: 51, line: 0), children: [.referenceAnnotation(TokenBox(value: ReferenceAnnotation(name: "api", type: Type(name: "APIProtocol")), offset: 26, length: 30, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -342,7 +342,7 @@ class Test { let parser = Parser(tokens, fileName: "test.swift") let syntaxTree = try parser.parse() - XCTAssertEqual(syntaxTree, .file(types: [], name: "test.swift", imports: ["WeaverDI"])) + XCTAssertEqual(syntaxTree, .file(types: [], name: "test.swift", imports: [])) } catch { XCTFail("Unexpected error: \(error).") } @@ -432,7 +432,7 @@ final class MovieManager { let expected = Expr.file(types: [.typeDeclaration(TokenBox(value: InjectableType(type: Type(name: "MovieManager")), offset: 6, length: 52, line: 0), children: [.parameterAnnotation(TokenBox(value: ParameterAnnotation(name: "movieID", type: Type(name: "UInt", isOptional: true)), offset: 29, length: 28, line: 1))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { @@ -533,7 +533,7 @@ final class MyService { children: [.referenceAnnotation(TokenBox(value: ReferenceAnnotation(name: "api", type: Type(name: "APIProtocol")), offset: 26, length: 30, line: 1)), .configurationAnnotation(TokenBox(value: ConfigurationAnnotation(attribute: .isIsolated(value: true), target: .`self`), offset: 58, length: 34, line: 2))])], name: "test.swift", - imports: ["WeaverDI"]) + imports: []) XCTAssertEqual(syntaxTree, expected) } catch { diff --git a/Tests/WeaverDITests/Info.plist b/Tests/WeaverDITests/Info.plist deleted file mode 100644 index 6c40a6cd..00000000 --- a/Tests/WeaverDITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/WeaverDI.xcodeproj/CYaml_Info.plist b/Weaver.xcodeproj/CYaml_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/CYaml_Info.plist rename to Weaver.xcodeproj/CYaml_Info.plist diff --git a/WeaverDI.xcodeproj/Commander_Info.plist b/Weaver.xcodeproj/Commander_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Commander_Info.plist rename to Weaver.xcodeproj/Commander_Info.plist diff --git a/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap b/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap similarity index 100% rename from WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap rename to Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap diff --git a/WeaverDI.xcodeproj/PathKit_Info.plist b/Weaver.xcodeproj/PathKit_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/PathKit_Info.plist rename to Weaver.xcodeproj/PathKit_Info.plist diff --git a/WeaverDI.xcodeproj/SWXMLHash_Info.plist b/Weaver.xcodeproj/SWXMLHash_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/SWXMLHash_Info.plist rename to Weaver.xcodeproj/SWXMLHash_Info.plist diff --git a/WeaverDI.xcodeproj/SourceKittenFramework_Info.plist b/Weaver.xcodeproj/SourceKittenFramework_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/SourceKittenFramework_Info.plist rename to Weaver.xcodeproj/SourceKittenFramework_Info.plist diff --git a/WeaverDI.xcodeproj/Spectre_Info.plist b/Weaver.xcodeproj/Spectre_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Spectre_Info.plist rename to Weaver.xcodeproj/Spectre_Info.plist diff --git a/WeaverDI.xcodeproj/StencilSwiftKit_Info.plist b/Weaver.xcodeproj/StencilSwiftKit_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/StencilSwiftKit_Info.plist rename to Weaver.xcodeproj/StencilSwiftKit_Info.plist diff --git a/WeaverDI.xcodeproj/Stencil_Info.plist b/Weaver.xcodeproj/Stencil_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Stencil_Info.plist rename to Weaver.xcodeproj/Stencil_Info.plist diff --git a/WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist b/Weaver.xcodeproj/WeaverCodeGenTests_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist rename to Weaver.xcodeproj/WeaverCodeGenTests_Info.plist diff --git a/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist b/Weaver.xcodeproj/WeaverCodeGen_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/WeaverCodeGen_Info.plist rename to Weaver.xcodeproj/WeaverCodeGen_Info.plist diff --git a/WeaverDI.xcodeproj/WeaverDITests_Info.plist b/Weaver.xcodeproj/WeaverDITests_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/WeaverDITests_Info.plist rename to Weaver.xcodeproj/WeaverDITests_Info.plist diff --git a/WeaverDI.xcodeproj/WeaverDI_Info.plist b/Weaver.xcodeproj/WeaverDI_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/WeaverDI_Info.plist rename to Weaver.xcodeproj/WeaverDI_Info.plist diff --git a/WeaverDI.xcodeproj/Yams_Info.plist b/Weaver.xcodeproj/Yams_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Yams_Info.plist rename to Weaver.xcodeproj/Yams_Info.plist diff --git a/WeaverDI.xcodeproj/project.pbxproj b/Weaver.xcodeproj/project.pbxproj similarity index 50% rename from WeaverDI.xcodeproj/project.pbxproj rename to Weaver.xcodeproj/project.pbxproj index d62d5cbd..3b6fd924 100644 --- a/WeaverDI.xcodeproj/project.pbxproj +++ b/Weaver.xcodeproj/project.pbxproj @@ -7,934 +7,805 @@ objects = { /* Begin PBXAggregateTarget section */ - "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */ = { + "Weaver::WeaverPackageTests::ProductTarget" /* WeaverPackageTests */ = { isa = PBXAggregateTarget; - buildConfigurationList = OBJ_552 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */; + buildConfigurationList = OBJ_513 /* Build configuration list for PBXAggregateTarget "WeaverPackageTests" */; buildPhases = ( ); dependencies = ( - OBJ_555 /* PBXTargetDependency */, - OBJ_557 /* PBXTargetDependency */, + OBJ_516 /* PBXTargetDependency */, ); - name = WeaverDIPackageTests; - productName = WeaverDIPackageTests; + name = WeaverPackageTests; + productName = WeaverPackageTests; }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 196398372107EAE900E818FD /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* Scope.swift */; }; - OBJ_224 /* api.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* api.c */; }; - OBJ_225 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* emitter.c */; }; - OBJ_226 /* parser.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* parser.c */; }; - OBJ_227 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* reader.c */; }; - OBJ_228 /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_175 /* scanner.c */; }; - OBJ_229 /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* writer.c */; }; - OBJ_236 /* ArgumentConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* ArgumentConvertible.swift */; }; - OBJ_237 /* ArgumentDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* ArgumentDescription.swift */; }; - OBJ_238 /* ArgumentParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* ArgumentParser.swift */; }; - OBJ_239 /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Command.swift */; }; - OBJ_240 /* CommandRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* CommandRunner.swift */; }; - OBJ_241 /* CommandType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* CommandType.swift */; }; - OBJ_242 /* Commands.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Commands.swift */; }; - OBJ_243 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* Error.swift */; }; - OBJ_244 /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* Group.swift */; }; - OBJ_251 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* Package.swift */; }; - OBJ_257 /* PathKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* PathKit.swift */; }; - OBJ_264 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* Package.swift */; }; - OBJ_270 /* SWXMLHash+TypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_201 /* SWXMLHash+TypeConversion.swift */; }; - OBJ_271 /* SWXMLHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_202 /* SWXMLHash.swift */; }; - OBJ_272 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_203 /* shim.swift */; }; - OBJ_279 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_200 /* Package.swift */; }; - OBJ_285 /* Clang+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* Clang+SourceKitten.swift */; }; - OBJ_286 /* ClangTranslationUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_131 /* ClangTranslationUnit.swift */; }; - OBJ_287 /* CodeCompletionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* CodeCompletionItem.swift */; }; - OBJ_288 /* Dictionary+Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* Dictionary+Merge.swift */; }; - OBJ_289 /* Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* Documentation.swift */; }; - OBJ_290 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* File.swift */; }; - OBJ_291 /* JSONOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_136 /* JSONOutput.swift */; }; - OBJ_292 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* Language.swift */; }; - OBJ_293 /* LinuxCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* LinuxCompatibility.swift */; }; - OBJ_294 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* Module.swift */; }; - OBJ_295 /* ObjCDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* ObjCDeclarationKind.swift */; }; - OBJ_296 /* OffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* OffsetMap.swift */; }; - OBJ_297 /* Parameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_142 /* Parameter.swift */; }; - OBJ_298 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* Request.swift */; }; - OBJ_299 /* SourceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_144 /* SourceDeclaration.swift */; }; - OBJ_300 /* SourceKitObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_145 /* SourceKitObject.swift */; }; - OBJ_301 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_146 /* SourceLocation.swift */; }; - OBJ_302 /* StatementKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* StatementKind.swift */; }; - OBJ_303 /* String+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* String+SourceKitten.swift */; }; - OBJ_304 /* Structure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* Structure.swift */; }; - OBJ_305 /* SwiftDeclarationAttributeKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* SwiftDeclarationAttributeKind.swift */; }; - OBJ_306 /* SwiftDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* SwiftDeclarationKind.swift */; }; - OBJ_307 /* SwiftDocKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_152 /* SwiftDocKey.swift */; }; - OBJ_308 /* SwiftDocs.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_153 /* SwiftDocs.swift */; }; - OBJ_309 /* SyntaxKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_154 /* SyntaxKind.swift */; }; - OBJ_310 /* SyntaxMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_155 /* SyntaxMap.swift */; }; - OBJ_311 /* SyntaxToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_156 /* SyntaxToken.swift */; }; - OBJ_312 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_157 /* Text.swift */; }; - OBJ_313 /* UID.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* UID.swift */; }; - OBJ_314 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* Version.swift */; }; - OBJ_315 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_160 /* Xcode.swift */; }; - OBJ_316 /* library_wrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_161 /* library_wrapper.swift */; }; - OBJ_317 /* library_wrapper_CXString.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_162 /* library_wrapper_CXString.swift */; }; - OBJ_318 /* library_wrapper_Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_163 /* library_wrapper_Documentation.swift */; }; - OBJ_319 /* library_wrapper_Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_164 /* library_wrapper_Index.swift */; }; - OBJ_320 /* library_wrapper_sourcekitd.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_165 /* library_wrapper_sourcekitd.swift */; }; - OBJ_321 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* shim.swift */; }; - OBJ_323 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_324 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_325 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_335 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* Package.swift */; }; - OBJ_341 /* Case.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* Case.swift */; }; - OBJ_342 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* Context.swift */; }; - OBJ_343 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* Expectation.swift */; }; - OBJ_344 /* Failure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* Failure.swift */; }; - OBJ_345 /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* Global.swift */; }; - OBJ_346 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* GlobalContext.swift */; }; - OBJ_347 /* Reporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* Reporter.swift */; }; - OBJ_348 /* Reporters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* Reporters.swift */; }; - OBJ_355 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* Package.swift */; }; - OBJ_361 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* Context.swift */; }; - OBJ_362 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* Environment.swift */; }; - OBJ_363 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* Errors.swift */; }; - OBJ_364 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* Expression.swift */; }; - OBJ_365 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* Extension.swift */; }; - OBJ_366 /* FilterTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* FilterTag.swift */; }; - OBJ_367 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* Filters.swift */; }; - OBJ_368 /* ForTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* ForTag.swift */; }; - OBJ_369 /* IfTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* IfTag.swift */; }; - OBJ_370 /* Include.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* Include.swift */; }; - OBJ_371 /* Inheritence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* Inheritence.swift */; }; - OBJ_372 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* Lexer.swift */; }; - OBJ_373 /* Loader.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* Loader.swift */; }; - OBJ_374 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* Node.swift */; }; - OBJ_375 /* NowTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* NowTag.swift */; }; - OBJ_376 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* Parser.swift */; }; - OBJ_377 /* Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* Template.swift */; }; - OBJ_378 /* Tokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* Tokenizer.swift */; }; - OBJ_379 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* Variable.swift */; }; - OBJ_381 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_382 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_390 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* Package.swift */; }; - OBJ_396 /* CallMacroNodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* CallMacroNodes.swift */; }; - OBJ_397 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* Context.swift */; }; - OBJ_398 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* Environment.swift */; }; - OBJ_399 /* Filters+Numbers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* Filters+Numbers.swift */; }; - OBJ_400 /* Filters+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* Filters+Strings.swift */; }; - OBJ_401 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* Filters.swift */; }; - OBJ_402 /* MapNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* MapNode.swift */; }; - OBJ_403 /* Parameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Parameters.swift */; }; - OBJ_404 /* SetNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* SetNode.swift */; }; - OBJ_405 /* StencilSwiftTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* StencilSwiftTemplate.swift */; }; - OBJ_406 /* SwiftIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* SwiftIdentifier.swift */; }; - OBJ_408 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_409 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_410 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_419 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* Package.swift */; }; - OBJ_425 /* AccessLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* AccessLevel.swift */; }; - OBJ_426 /* AutoEquatable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* AutoEquatable.generated.swift */; }; - OBJ_427 /* AutoHashable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* AutoHashable.generated.swift */; }; - OBJ_428 /* AutoTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* AutoTypes.swift */; }; - OBJ_429 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* Configuration.swift */; }; - OBJ_430 /* ConfigurationAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* ConfigurationAttribute.swift */; }; - OBJ_431 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* Error.swift */; }; - OBJ_432 /* Expr.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* Expr.swift */; }; - OBJ_433 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* Generator.swift */; }; - OBJ_434 /* Graph.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* Graph.swift */; }; - OBJ_435 /* Inspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* Inspector.swift */; }; - OBJ_436 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* Lexer.swift */; }; - OBJ_437 /* Linker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* Linker.swift */; }; - OBJ_438 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_26 /* OrderedDictionary.swift */; }; - OBJ_439 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* Parser.swift */; }; - OBJ_440 /* RegexUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* RegexUtils.swift */; }; - OBJ_441 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* Scope.swift */; }; - OBJ_442 /* SourceKitDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* SourceKitDeclaration.swift */; }; - OBJ_443 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Token.swift */; }; - OBJ_444 /* Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* Type.swift */; }; - OBJ_445 /* shim-swift-4.1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* shim-swift-4.1.swift */; }; - OBJ_447 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; - OBJ_448 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_449 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_450 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_451 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_452 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_453 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_454 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_455 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_471 /* ConfigurationAttributeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* ConfigurationAttributeTests.swift */; }; - OBJ_472 /* ErrorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* ErrorTests.swift */; }; - OBJ_473 /* GeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* GeneratorTests.swift */; }; - OBJ_474 /* InspectorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* InspectorTests.swift */; }; - OBJ_475 /* LexerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* LexerTests.swift */; }; - OBJ_476 /* ParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* ParserTests.swift */; }; - OBJ_477 /* SourceKitDeclarationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_52 /* SourceKitDeclarationTests.swift */; }; - OBJ_478 /* TypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_53 /* TypeTests.swift */; }; - OBJ_480 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; - OBJ_481 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; - OBJ_482 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_483 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_484 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_485 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_486 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_487 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_488 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_489 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_505 /* Arguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* Arguments.swift */; }; - OBJ_506 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* Logger.swift */; }; - OBJ_507 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* main.swift */; }; - OBJ_509 /* Commander.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Commander::Commander::Product" /* Commander.framework */; }; - OBJ_510 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; - OBJ_511 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; - OBJ_512 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; - OBJ_513 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; - OBJ_514 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; - OBJ_515 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; - OBJ_516 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; - OBJ_517 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_518 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; - OBJ_519 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_542 /* Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* Instance.swift */; }; - OBJ_550 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_568 /* WeaverDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; }; - OBJ_574 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Constructor.swift */; }; - OBJ_575 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_183 /* Decoder.swift */; }; - OBJ_576 /* Emitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_184 /* Emitter.swift */; }; - OBJ_577 /* Encoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_185 /* Encoder.swift */; }; - OBJ_578 /* Mark.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_186 /* Mark.swift */; }; - OBJ_579 /* Node.Mapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_187 /* Node.Mapping.swift */; }; - OBJ_580 /* Node.Scalar.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_188 /* Node.Scalar.swift */; }; - OBJ_581 /* Node.Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_189 /* Node.Sequence.swift */; }; - OBJ_582 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_190 /* Node.swift */; }; - OBJ_583 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_191 /* Parser.swift */; }; - OBJ_584 /* Representer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_192 /* Representer.swift */; }; - OBJ_585 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_193 /* Resolver.swift */; }; - OBJ_586 /* String+Yams.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_194 /* String+Yams.swift */; }; - OBJ_587 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_195 /* Tag.swift */; }; - OBJ_588 /* YamlError.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_196 /* YamlError.swift */; }; - OBJ_589 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_197 /* shim.swift */; }; - OBJ_591 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; - OBJ_598 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_198 /* Package.swift */; }; + OBJ_206 /* api.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_155 /* api.c */; }; + OBJ_207 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_156 /* emitter.c */; }; + OBJ_208 /* parser.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_157 /* parser.c */; }; + OBJ_209 /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_158 /* reader.c */; }; + OBJ_210 /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_159 /* scanner.c */; }; + OBJ_211 /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_160 /* writer.c */; }; + OBJ_218 /* ArgumentConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* ArgumentConvertible.swift */; }; + OBJ_219 /* ArgumentDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* ArgumentDescription.swift */; }; + OBJ_220 /* ArgumentParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* ArgumentParser.swift */; }; + OBJ_221 /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* Command.swift */; }; + OBJ_222 /* CommandRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* CommandRunner.swift */; }; + OBJ_223 /* CommandType.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* CommandType.swift */; }; + OBJ_224 /* Commands.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* Commands.swift */; }; + OBJ_225 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* Error.swift */; }; + OBJ_226 /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* Group.swift */; }; + OBJ_233 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* Package.swift */; }; + OBJ_239 /* PathKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* PathKit.swift */; }; + OBJ_246 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* Package.swift */; }; + OBJ_252 /* SWXMLHash+TypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_185 /* SWXMLHash+TypeConversion.swift */; }; + OBJ_253 /* SWXMLHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_186 /* SWXMLHash.swift */; }; + OBJ_254 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_187 /* shim.swift */; }; + OBJ_261 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_184 /* Package.swift */; }; + OBJ_267 /* Clang+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* Clang+SourceKitten.swift */; }; + OBJ_268 /* ClangTranslationUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* ClangTranslationUnit.swift */; }; + OBJ_269 /* CodeCompletionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_116 /* CodeCompletionItem.swift */; }; + OBJ_270 /* Dictionary+Merge.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_117 /* Dictionary+Merge.swift */; }; + OBJ_271 /* Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* Documentation.swift */; }; + OBJ_272 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* File.swift */; }; + OBJ_273 /* JSONOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* JSONOutput.swift */; }; + OBJ_274 /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* Language.swift */; }; + OBJ_275 /* LinuxCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* LinuxCompatibility.swift */; }; + OBJ_276 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* Module.swift */; }; + OBJ_277 /* ObjCDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* ObjCDeclarationKind.swift */; }; + OBJ_278 /* OffsetMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* OffsetMap.swift */; }; + OBJ_279 /* Parameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* Parameter.swift */; }; + OBJ_280 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_127 /* Request.swift */; }; + OBJ_281 /* SourceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_128 /* SourceDeclaration.swift */; }; + OBJ_282 /* SourceKitObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_129 /* SourceKitObject.swift */; }; + OBJ_283 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_130 /* SourceLocation.swift */; }; + OBJ_284 /* StatementKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_131 /* StatementKind.swift */; }; + OBJ_285 /* String+SourceKitten.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_132 /* String+SourceKitten.swift */; }; + OBJ_286 /* Structure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_133 /* Structure.swift */; }; + OBJ_287 /* SwiftDeclarationAttributeKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_134 /* SwiftDeclarationAttributeKind.swift */; }; + OBJ_288 /* SwiftDeclarationKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_135 /* SwiftDeclarationKind.swift */; }; + OBJ_289 /* SwiftDocKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_136 /* SwiftDocKey.swift */; }; + OBJ_290 /* SwiftDocs.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_137 /* SwiftDocs.swift */; }; + OBJ_291 /* SyntaxKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_138 /* SyntaxKind.swift */; }; + OBJ_292 /* SyntaxMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_139 /* SyntaxMap.swift */; }; + OBJ_293 /* SyntaxToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_140 /* SyntaxToken.swift */; }; + OBJ_294 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_141 /* Text.swift */; }; + OBJ_295 /* UID.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_142 /* UID.swift */; }; + OBJ_296 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_143 /* Version.swift */; }; + OBJ_297 /* Xcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_144 /* Xcode.swift */; }; + OBJ_298 /* library_wrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_145 /* library_wrapper.swift */; }; + OBJ_299 /* library_wrapper_CXString.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_146 /* library_wrapper_CXString.swift */; }; + OBJ_300 /* library_wrapper_Documentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_147 /* library_wrapper_Documentation.swift */; }; + OBJ_301 /* library_wrapper_Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_148 /* library_wrapper_Index.swift */; }; + OBJ_302 /* library_wrapper_sourcekitd.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_149 /* library_wrapper_sourcekitd.swift */; }; + OBJ_303 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_150 /* shim.swift */; }; + OBJ_305 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_306 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_307 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_317 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_151 /* Package.swift */; }; + OBJ_323 /* Case.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* Case.swift */; }; + OBJ_324 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* Context.swift */; }; + OBJ_325 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_104 /* Expectation.swift */; }; + OBJ_326 /* Failure.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* Failure.swift */; }; + OBJ_327 /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* Global.swift */; }; + OBJ_328 /* GlobalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* GlobalContext.swift */; }; + OBJ_329 /* Reporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* Reporter.swift */; }; + OBJ_330 /* Reporters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* Reporters.swift */; }; + OBJ_337 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* Package.swift */; }; + OBJ_343 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_66 /* Context.swift */; }; + OBJ_344 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* Environment.swift */; }; + OBJ_345 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* Errors.swift */; }; + OBJ_346 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* Expression.swift */; }; + OBJ_347 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* Extension.swift */; }; + OBJ_348 /* FilterTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* FilterTag.swift */; }; + OBJ_349 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* Filters.swift */; }; + OBJ_350 /* ForTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* ForTag.swift */; }; + OBJ_351 /* IfTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* IfTag.swift */; }; + OBJ_352 /* Include.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* Include.swift */; }; + OBJ_353 /* Inheritence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* Inheritence.swift */; }; + OBJ_354 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* Lexer.swift */; }; + OBJ_355 /* Loader.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* Loader.swift */; }; + OBJ_356 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* Node.swift */; }; + OBJ_357 /* NowTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_80 /* NowTag.swift */; }; + OBJ_358 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* Parser.swift */; }; + OBJ_359 /* Template.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* Template.swift */; }; + OBJ_360 /* Tokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* Tokenizer.swift */; }; + OBJ_361 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* Variable.swift */; }; + OBJ_363 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_364 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_372 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_65 /* Package.swift */; }; + OBJ_378 /* CallMacroNodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_53 /* CallMacroNodes.swift */; }; + OBJ_379 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_54 /* Context.swift */; }; + OBJ_380 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_55 /* Environment.swift */; }; + OBJ_381 /* Filters+Numbers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_56 /* Filters+Numbers.swift */; }; + OBJ_382 /* Filters+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_57 /* Filters+Strings.swift */; }; + OBJ_383 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* Filters.swift */; }; + OBJ_384 /* MapNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* MapNode.swift */; }; + OBJ_385 /* Parameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_60 /* Parameters.swift */; }; + OBJ_386 /* SetNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_61 /* SetNode.swift */; }; + OBJ_387 /* StencilSwiftTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_62 /* StencilSwiftTemplate.swift */; }; + OBJ_388 /* SwiftIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* SwiftIdentifier.swift */; }; + OBJ_390 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_391 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_392 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_401 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* Package.swift */; }; + OBJ_407 /* AccessLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* AccessLevel.swift */; }; + OBJ_408 /* AutoEquatable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* AutoEquatable.generated.swift */; }; + OBJ_409 /* AutoHashable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* AutoHashable.generated.swift */; }; + OBJ_410 /* AutoTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* AutoTypes.swift */; }; + OBJ_411 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* Configuration.swift */; }; + OBJ_412 /* ConfigurationAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* ConfigurationAttribute.swift */; }; + OBJ_413 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* Error.swift */; }; + OBJ_414 /* Expr.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* Expr.swift */; }; + OBJ_415 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* Generator.swift */; }; + OBJ_416 /* Graph.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* Graph.swift */; }; + OBJ_417 /* Inspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* Inspector.swift */; }; + OBJ_418 /* Lexer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* Lexer.swift */; }; + OBJ_419 /* Linker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* Linker.swift */; }; + OBJ_420 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* OrderedDictionary.swift */; }; + OBJ_421 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* Parser.swift */; }; + OBJ_422 /* RegexUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* RegexUtils.swift */; }; + OBJ_423 /* Scope.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* Scope.swift */; }; + OBJ_424 /* SourceKitDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_26 /* SourceKitDeclaration.swift */; }; + OBJ_425 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* Token.swift */; }; + OBJ_426 /* Type.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* Type.swift */; }; + OBJ_427 /* shim-swift-4.1.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* shim-swift-4.1.swift */; }; + OBJ_429 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_430 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_431 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_432 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_433 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_434 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_435 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_436 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_450 /* ConfigurationAttributeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* ConfigurationAttributeTests.swift */; }; + OBJ_451 /* ErrorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* ErrorTests.swift */; }; + OBJ_452 /* GeneratorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* GeneratorTests.swift */; }; + OBJ_453 /* InspectorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* InspectorTests.swift */; }; + OBJ_454 /* LexerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* LexerTests.swift */; }; + OBJ_455 /* ParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* ParserTests.swift */; }; + OBJ_456 /* SourceKitDeclarationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* SourceKitDeclarationTests.swift */; }; + OBJ_457 /* TypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* TypeTests.swift */; }; + OBJ_459 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; + OBJ_460 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_461 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_462 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_463 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_464 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_465 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_466 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_467 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_482 /* Arguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Arguments.swift */; }; + OBJ_483 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* Logger.swift */; }; + OBJ_484 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* main.swift */; }; + OBJ_486 /* Commander.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Commander::Commander::Product" /* Commander.framework */; }; + OBJ_487 /* WeaverCodeGen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; }; + OBJ_488 /* StencilSwiftKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; }; + OBJ_489 /* Stencil.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Stencil::Stencil::Product" /* Stencil.framework */; }; + OBJ_490 /* Spectre.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Spectre::Spectre::Product" /* Spectre.framework */; }; + OBJ_491 /* PathKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "PathKit::PathKit::Product" /* PathKit.framework */; }; + OBJ_492 /* SourceKittenFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; }; + OBJ_493 /* Yams.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::Yams::Product" /* Yams.framework */; }; + OBJ_494 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_495 /* SWXMLHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; }; + OBJ_511 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; + OBJ_521 /* Constructor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_166 /* Constructor.swift */; }; + OBJ_522 /* Decoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_167 /* Decoder.swift */; }; + OBJ_523 /* Emitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_168 /* Emitter.swift */; }; + OBJ_524 /* Encoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_169 /* Encoder.swift */; }; + OBJ_525 /* Mark.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_170 /* Mark.swift */; }; + OBJ_526 /* Node.Mapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_171 /* Node.Mapping.swift */; }; + OBJ_527 /* Node.Scalar.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_172 /* Node.Scalar.swift */; }; + OBJ_528 /* Node.Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_173 /* Node.Sequence.swift */; }; + OBJ_529 /* Node.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_174 /* Node.swift */; }; + OBJ_530 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_175 /* Parser.swift */; }; + OBJ_531 /* Representer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_176 /* Representer.swift */; }; + OBJ_532 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_177 /* Resolver.swift */; }; + OBJ_533 /* String+Yams.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_178 /* String+Yams.swift */; }; + OBJ_534 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_179 /* Tag.swift */; }; + OBJ_535 /* YamlError.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_180 /* YamlError.swift */; }; + OBJ_536 /* shim.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_181 /* shim.swift */; }; + OBJ_538 /* CYaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Yams::CYaml::Product" /* CYaml.framework */; }; + OBJ_545 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_182 /* Package.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1963980B210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398392109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; + remoteGlobalIDString = "Yams::CYaml"; + remoteInfo = CYaml; + }; + 1963983A2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Commander::Commander"; + remoteInfo = Commander; + }; + 1963983B2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Weaver::WeaverCodeGen"; remoteInfo = WeaverCodeGen; }; - 1963980C210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963983C2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; remoteInfo = StencilSwiftKit; }; - 1963980D210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963983D2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 1963980E210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963983E2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 1963980F210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963983F2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 19639810210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398402109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 19639811210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398412109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 19639812210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398422109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 19639813210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398432109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 19639814210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398442109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 19639815210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398452109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 19639816210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398462109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 19639817210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398472109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 19639818210781EF00E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 19639819210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398482109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 1963981A210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398492109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 1963981B210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984A2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 1963981C210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984B2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 1963981D210781EF00E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 1963981E210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984C2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; remoteInfo = StencilSwiftKit; }; - 1963981F210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984D2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 19639820210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984E2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 19639821210781EF00E818FD /* PBXContainerItemProxy */ = { + 1963984F2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 19639822210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398502109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 19639823210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398512109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 19639824210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398522109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 19639825210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398532109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 19639826210781EF00E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 19639827210781EF00E818FD /* PBXContainerItemProxy */ = { + 196398542109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 19639828210781F000E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Commander::Commander"; - remoteInfo = Commander; - }; - 19639829210781F000E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; + remoteGlobalIDString = "Weaver::WeaverCodeGen"; remoteInfo = WeaverCodeGen; }; - 1963982A210781F000E818FD /* PBXContainerItemProxy */ = { + 196398552109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; remoteInfo = StencilSwiftKit; }; - 1963982B210781F000E818FD /* PBXContainerItemProxy */ = { + 196398562109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Stencil::Stencil"; remoteInfo = Stencil; }; - 1963982C210781F000E818FD /* PBXContainerItemProxy */ = { + 196398572109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Spectre::Spectre"; remoteInfo = Spectre; }; - 1963982D210781F000E818FD /* PBXContainerItemProxy */ = { + 196398582109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "PathKit::PathKit"; remoteInfo = PathKit; }; - 1963982E210781F000E818FD /* PBXContainerItemProxy */ = { + 196398592109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; remoteInfo = SourceKittenFramework; }; - 1963982F210781F000E818FD /* PBXContainerItemProxy */ = { + 1963985A2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::Yams"; remoteInfo = Yams; }; - 19639830210781F000E818FD /* PBXContainerItemProxy */ = { + 1963985B2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "Yams::CYaml"; remoteInfo = CYaml; }; - 19639831210781F000E818FD /* PBXContainerItemProxy */ = { + 1963985C2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; remoteGlobalIDString = "SWXMLHash::SWXMLHash"; remoteInfo = SWXMLHash; }; - 19639832210781F000E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 19639833210781F000E818FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDITests"; - remoteInfo = WeaverDITests; - }; - 19639834210781F000E818FD /* PBXContainerItemProxy */ = { + 1963985D2109757700E818FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = OBJ_1 /* Project object */; proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGenTests"; + remoteGlobalIDString = "Weaver::WeaverCodeGenTests"; remoteInfo = WeaverCodeGenTests; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ "Commander::Commander::Product" /* Commander.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Commander.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - OBJ_10 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; - OBJ_100 /* Variable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; - OBJ_102 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/PathKit.git--1865447967743163058/Package.swift"; sourceTree = ""; }; - OBJ_103 /* PathKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathKit.swift; sourceTree = ""; }; - OBJ_106 /* ArgumentConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentConvertible.swift; sourceTree = ""; }; - OBJ_107 /* ArgumentDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentDescription.swift; sourceTree = ""; }; - OBJ_108 /* ArgumentParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentParser.swift; sourceTree = ""; }; - OBJ_109 /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = ""; }; - OBJ_11 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - OBJ_110 /* CommandRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandRunner.swift; sourceTree = ""; }; - OBJ_111 /* CommandType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandType.swift; sourceTree = ""; }; - OBJ_112 /* Commands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commands.swift; sourceTree = ""; }; - OBJ_113 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; - OBJ_114 /* Group.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = ""; }; - OBJ_115 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Commander.git-8842944228949165507/Package.swift"; sourceTree = ""; }; - OBJ_118 /* Case.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Case.swift; sourceTree = ""; }; - OBJ_119 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; - OBJ_120 /* Expectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expectation.swift; sourceTree = ""; }; - OBJ_121 /* Failure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Failure.swift; sourceTree = ""; }; - OBJ_122 /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = ""; }; - OBJ_123 /* GlobalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalContext.swift; sourceTree = ""; }; - OBJ_124 /* Reporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporter.swift; sourceTree = ""; }; - OBJ_125 /* Reporters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporters.swift; sourceTree = ""; }; - OBJ_126 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Spectre.git--7655155069707042687/Package.swift"; sourceTree = ""; }; - OBJ_13 /* AccessLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessLevel.swift; sourceTree = ""; }; - OBJ_130 /* Clang+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Clang+SourceKitten.swift"; sourceTree = ""; }; - OBJ_131 /* ClangTranslationUnit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClangTranslationUnit.swift; sourceTree = ""; }; - OBJ_132 /* CodeCompletionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeCompletionItem.swift; sourceTree = ""; }; - OBJ_133 /* Dictionary+Merge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Merge.swift"; sourceTree = ""; }; - OBJ_134 /* Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Documentation.swift; sourceTree = ""; }; - OBJ_135 /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = ""; }; - OBJ_136 /* JSONOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONOutput.swift; sourceTree = ""; }; - OBJ_137 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; - OBJ_138 /* LinuxCompatibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinuxCompatibility.swift; sourceTree = ""; }; - OBJ_139 /* Module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; }; - OBJ_14 /* AutoEquatable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoEquatable.generated.swift; sourceTree = ""; }; - OBJ_140 /* ObjCDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjCDeclarationKind.swift; sourceTree = ""; }; - OBJ_141 /* OffsetMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffsetMap.swift; sourceTree = ""; }; - OBJ_142 /* Parameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameter.swift; sourceTree = ""; }; - OBJ_143 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = ""; }; - OBJ_144 /* SourceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceDeclaration.swift; sourceTree = ""; }; - OBJ_145 /* SourceKitObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitObject.swift; sourceTree = ""; }; - OBJ_146 /* SourceLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = ""; }; - OBJ_147 /* StatementKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatementKind.swift; sourceTree = ""; }; - OBJ_148 /* String+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+SourceKitten.swift"; sourceTree = ""; }; - OBJ_149 /* Structure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Structure.swift; sourceTree = ""; }; - OBJ_15 /* AutoHashable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoHashable.generated.swift; sourceTree = ""; }; - OBJ_150 /* SwiftDeclarationAttributeKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationAttributeKind.swift; sourceTree = ""; }; - OBJ_151 /* SwiftDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationKind.swift; sourceTree = ""; }; - OBJ_152 /* SwiftDocKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocKey.swift; sourceTree = ""; }; - OBJ_153 /* SwiftDocs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocs.swift; sourceTree = ""; }; - OBJ_154 /* SyntaxKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxKind.swift; sourceTree = ""; }; - OBJ_155 /* SyntaxMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxMap.swift; sourceTree = ""; }; - OBJ_156 /* SyntaxToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxToken.swift; sourceTree = ""; }; - OBJ_157 /* Text.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Text.swift; sourceTree = ""; }; - OBJ_158 /* UID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UID.swift; sourceTree = ""; }; - OBJ_159 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; - OBJ_16 /* AutoTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoTypes.swift; sourceTree = ""; }; - OBJ_160 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; - OBJ_161 /* library_wrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper.swift; sourceTree = ""; }; - OBJ_162 /* library_wrapper_CXString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_CXString.swift; sourceTree = ""; }; - OBJ_163 /* library_wrapper_Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Documentation.swift; sourceTree = ""; }; - OBJ_164 /* library_wrapper_Index.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Index.swift; sourceTree = ""; }; - OBJ_165 /* library_wrapper_sourcekitd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_sourcekitd.swift; sourceTree = ""; }; - OBJ_166 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_167 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SourceKitten.git-6484296299232452758/Package.swift"; sourceTree = ""; }; - OBJ_17 /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; - OBJ_171 /* api.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = api.c; sourceTree = ""; }; - OBJ_172 /* emitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emitter.c; sourceTree = ""; }; - OBJ_173 /* parser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = parser.c; sourceTree = ""; }; - OBJ_174 /* reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = reader.c; sourceTree = ""; }; - OBJ_175 /* scanner.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = scanner.c; sourceTree = ""; }; - OBJ_176 /* writer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = writer.c; sourceTree = ""; }; - OBJ_178 /* CYaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CYaml.h; sourceTree = ""; }; - OBJ_179 /* yaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = yaml.h; sourceTree = ""; }; - OBJ_18 /* ConfigurationAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttribute.swift; sourceTree = ""; }; - OBJ_180 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = /Users/theophanerupin/Projects/Scribd/Weaver/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap; sourceTree = ""; }; - OBJ_182 /* Constructor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constructor.swift; sourceTree = ""; }; - OBJ_183 /* Decoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decoder.swift; sourceTree = ""; }; - OBJ_184 /* Emitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Emitter.swift; sourceTree = ""; }; - OBJ_185 /* Encoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encoder.swift; sourceTree = ""; }; - OBJ_186 /* Mark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mark.swift; sourceTree = ""; }; - OBJ_187 /* Node.Mapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Mapping.swift; sourceTree = ""; }; - OBJ_188 /* Node.Scalar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Scalar.swift; sourceTree = ""; }; - OBJ_189 /* Node.Sequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Sequence.swift; sourceTree = ""; }; - OBJ_19 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; - OBJ_190 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; - OBJ_191 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - OBJ_192 /* Representer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Representer.swift; sourceTree = ""; }; - OBJ_193 /* Resolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = ""; }; - OBJ_194 /* String+Yams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Yams.swift"; sourceTree = ""; }; - OBJ_195 /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = ""; }; - OBJ_196 /* YamlError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YamlError.swift; sourceTree = ""; }; - OBJ_197 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_198 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Yams.git-8068124914099325722/Package.swift"; sourceTree = ""; }; - OBJ_20 /* Expr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expr.swift; sourceTree = ""; }; - OBJ_200 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SWXMLHash.git-5776748636326364470/Package.swift"; sourceTree = ""; }; - OBJ_201 /* SWXMLHash+TypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SWXMLHash+TypeConversion.swift"; sourceTree = ""; }; - OBJ_202 /* SWXMLHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SWXMLHash.swift; sourceTree = ""; }; - OBJ_203 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; - OBJ_21 /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; - OBJ_22 /* Graph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Graph.swift; sourceTree = ""; }; - OBJ_23 /* Inspector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inspector.swift; sourceTree = ""; }; - OBJ_24 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; - OBJ_25 /* Linker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Linker.swift; sourceTree = ""; }; - OBJ_26 /* OrderedDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedDictionary.swift; sourceTree = ""; }; - OBJ_27 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - OBJ_28 /* RegexUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegexUtils.swift; sourceTree = ""; }; - OBJ_29 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; - OBJ_30 /* SourceKitDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclaration.swift; sourceTree = ""; }; - OBJ_31 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; - OBJ_32 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; - OBJ_33 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; - OBJ_42 /* Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Instance.swift; sourceTree = ""; }; - OBJ_43 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; - OBJ_46 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; - OBJ_47 /* ErrorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTests.swift; sourceTree = ""; }; - OBJ_48 /* GeneratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratorTests.swift; sourceTree = ""; }; - OBJ_49 /* InspectorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InspectorTests.swift; sourceTree = ""; }; - OBJ_50 /* LexerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexerTests.swift; sourceTree = ""; }; - OBJ_51 /* ParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTests.swift; sourceTree = ""; }; - OBJ_52 /* SourceKitDeclarationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclarationTests.swift; sourceTree = ""; }; - OBJ_53 /* TypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeTests.swift; sourceTree = ""; }; + OBJ_10 /* AutoEquatable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoEquatable.generated.swift; sourceTree = ""; }; + OBJ_102 /* Case.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Case.swift; sourceTree = ""; }; + OBJ_103 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_104 /* Expectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expectation.swift; sourceTree = ""; }; + OBJ_105 /* Failure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Failure.swift; sourceTree = ""; }; + OBJ_106 /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = ""; }; + OBJ_107 /* GlobalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalContext.swift; sourceTree = ""; }; + OBJ_108 /* Reporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporter.swift; sourceTree = ""; }; + OBJ_109 /* Reporters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reporters.swift; sourceTree = ""; }; + OBJ_11 /* AutoHashable.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoHashable.generated.swift; sourceTree = ""; }; + OBJ_110 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Spectre.git--7655155069707042687/Package.swift"; sourceTree = ""; }; + OBJ_114 /* Clang+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Clang+SourceKitten.swift"; sourceTree = ""; }; + OBJ_115 /* ClangTranslationUnit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClangTranslationUnit.swift; sourceTree = ""; }; + OBJ_116 /* CodeCompletionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeCompletionItem.swift; sourceTree = ""; }; + OBJ_117 /* Dictionary+Merge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Merge.swift"; sourceTree = ""; }; + OBJ_118 /* Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Documentation.swift; sourceTree = ""; }; + OBJ_119 /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = ""; }; + OBJ_12 /* AutoTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoTypes.swift; sourceTree = ""; }; + OBJ_120 /* JSONOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONOutput.swift; sourceTree = ""; }; + OBJ_121 /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; + OBJ_122 /* LinuxCompatibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinuxCompatibility.swift; sourceTree = ""; }; + OBJ_123 /* Module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; }; + OBJ_124 /* ObjCDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjCDeclarationKind.swift; sourceTree = ""; }; + OBJ_125 /* OffsetMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffsetMap.swift; sourceTree = ""; }; + OBJ_126 /* Parameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameter.swift; sourceTree = ""; }; + OBJ_127 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = ""; }; + OBJ_128 /* SourceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceDeclaration.swift; sourceTree = ""; }; + OBJ_129 /* SourceKitObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitObject.swift; sourceTree = ""; }; + OBJ_13 /* Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Configuration.swift; sourceTree = ""; }; + OBJ_130 /* SourceLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = ""; }; + OBJ_131 /* StatementKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatementKind.swift; sourceTree = ""; }; + OBJ_132 /* String+SourceKitten.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+SourceKitten.swift"; sourceTree = ""; }; + OBJ_133 /* Structure.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Structure.swift; sourceTree = ""; }; + OBJ_134 /* SwiftDeclarationAttributeKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationAttributeKind.swift; sourceTree = ""; }; + OBJ_135 /* SwiftDeclarationKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDeclarationKind.swift; sourceTree = ""; }; + OBJ_136 /* SwiftDocKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocKey.swift; sourceTree = ""; }; + OBJ_137 /* SwiftDocs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDocs.swift; sourceTree = ""; }; + OBJ_138 /* SyntaxKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxKind.swift; sourceTree = ""; }; + OBJ_139 /* SyntaxMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxMap.swift; sourceTree = ""; }; + OBJ_14 /* ConfigurationAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttribute.swift; sourceTree = ""; }; + OBJ_140 /* SyntaxToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyntaxToken.swift; sourceTree = ""; }; + OBJ_141 /* Text.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Text.swift; sourceTree = ""; }; + OBJ_142 /* UID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UID.swift; sourceTree = ""; }; + OBJ_143 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; + OBJ_144 /* Xcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Xcode.swift; sourceTree = ""; }; + OBJ_145 /* library_wrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper.swift; sourceTree = ""; }; + OBJ_146 /* library_wrapper_CXString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_CXString.swift; sourceTree = ""; }; + OBJ_147 /* library_wrapper_Documentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Documentation.swift; sourceTree = ""; }; + OBJ_148 /* library_wrapper_Index.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_Index.swift; sourceTree = ""; }; + OBJ_149 /* library_wrapper_sourcekitd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = library_wrapper_sourcekitd.swift; sourceTree = ""; }; + OBJ_15 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; + OBJ_150 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_151 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SourceKitten.git-6484296299232452758/Package.swift"; sourceTree = ""; }; + OBJ_155 /* api.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = api.c; sourceTree = ""; }; + OBJ_156 /* emitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emitter.c; sourceTree = ""; }; + OBJ_157 /* parser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = parser.c; sourceTree = ""; }; + OBJ_158 /* reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = reader.c; sourceTree = ""; }; + OBJ_159 /* scanner.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = scanner.c; sourceTree = ""; }; + OBJ_16 /* Expr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expr.swift; sourceTree = ""; }; + OBJ_160 /* writer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = writer.c; sourceTree = ""; }; + OBJ_162 /* CYaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CYaml.h; sourceTree = ""; }; + OBJ_163 /* yaml.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = yaml.h; sourceTree = ""; }; + OBJ_164 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = /Users/theophanerupin/Projects/Scribd/Weaver/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap; sourceTree = ""; }; + OBJ_166 /* Constructor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constructor.swift; sourceTree = ""; }; + OBJ_167 /* Decoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Decoder.swift; sourceTree = ""; }; + OBJ_168 /* Emitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Emitter.swift; sourceTree = ""; }; + OBJ_169 /* Encoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encoder.swift; sourceTree = ""; }; + OBJ_17 /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; + OBJ_170 /* Mark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mark.swift; sourceTree = ""; }; + OBJ_171 /* Node.Mapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Mapping.swift; sourceTree = ""; }; + OBJ_172 /* Node.Scalar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Scalar.swift; sourceTree = ""; }; + OBJ_173 /* Node.Sequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.Sequence.swift; sourceTree = ""; }; + OBJ_174 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; + OBJ_175 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_176 /* Representer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Representer.swift; sourceTree = ""; }; + OBJ_177 /* Resolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = ""; }; + OBJ_178 /* String+Yams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Yams.swift"; sourceTree = ""; }; + OBJ_179 /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = ""; }; + OBJ_18 /* Graph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Graph.swift; sourceTree = ""; }; + OBJ_180 /* YamlError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YamlError.swift; sourceTree = ""; }; + OBJ_181 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_182 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Yams.git-8068124914099325722/Package.swift"; sourceTree = ""; }; + OBJ_184 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/SWXMLHash.git-5776748636326364470/Package.swift"; sourceTree = ""; }; + OBJ_185 /* SWXMLHash+TypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SWXMLHash+TypeConversion.swift"; sourceTree = ""; }; + OBJ_186 /* SWXMLHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SWXMLHash.swift; sourceTree = ""; }; + OBJ_187 /* shim.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = shim.swift; sourceTree = ""; }; + OBJ_19 /* Inspector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inspector.swift; sourceTree = ""; }; + OBJ_20 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; + OBJ_21 /* Linker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Linker.swift; sourceTree = ""; }; + OBJ_22 /* OrderedDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedDictionary.swift; sourceTree = ""; }; + OBJ_23 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_24 /* RegexUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegexUtils.swift; sourceTree = ""; }; + OBJ_25 /* Scope.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Scope.swift; sourceTree = ""; }; + OBJ_26 /* SourceKitDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclaration.swift; sourceTree = ""; }; + OBJ_27 /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; + OBJ_28 /* Type.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Type.swift; sourceTree = ""; }; + OBJ_29 /* shim-swift-4.1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "shim-swift-4.1.swift"; sourceTree = ""; }; + OBJ_31 /* Arguments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arguments.swift; sourceTree = ""; }; + OBJ_32 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; + OBJ_33 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + OBJ_36 /* ConfigurationAttributeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationAttributeTests.swift; sourceTree = ""; }; + OBJ_37 /* ErrorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTests.swift; sourceTree = ""; }; + OBJ_38 /* GeneratorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratorTests.swift; sourceTree = ""; }; + OBJ_39 /* InspectorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InspectorTests.swift; sourceTree = ""; }; + OBJ_40 /* LexerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexerTests.swift; sourceTree = ""; }; + OBJ_41 /* ParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTests.swift; sourceTree = ""; }; + OBJ_42 /* SourceKitDeclarationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceKitDeclarationTests.swift; sourceTree = ""; }; + OBJ_43 /* TypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeTests.swift; sourceTree = ""; }; + OBJ_44 /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = SOURCE_ROOT; }; + OBJ_45 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tools; sourceTree = SOURCE_ROOT; }; + OBJ_46 /* Resources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Resources; sourceTree = SOURCE_ROOT; }; + OBJ_47 /* Sample */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sample; sourceTree = SOURCE_ROOT; }; + OBJ_48 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; path = build; sourceTree = SOURCE_ROOT; }; + OBJ_51 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/StencilSwiftKit.git--5335877019653034551/Package.swift"; sourceTree = ""; }; + OBJ_53 /* CallMacroNodes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMacroNodes.swift; sourceTree = ""; }; + OBJ_54 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_55 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + OBJ_56 /* Filters+Numbers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Numbers.swift"; sourceTree = ""; }; + OBJ_57 /* Filters+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Strings.swift"; sourceTree = ""; }; + OBJ_58 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; + OBJ_59 /* MapNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapNode.swift; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; - OBJ_60 /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = SOURCE_ROOT; }; - OBJ_61 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tools; sourceTree = SOURCE_ROOT; }; - OBJ_62 /* Resources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Resources; sourceTree = SOURCE_ROOT; }; - OBJ_63 /* Sample */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sample; sourceTree = SOURCE_ROOT; }; - OBJ_64 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; path = build; sourceTree = SOURCE_ROOT; }; - OBJ_67 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/StencilSwiftKit.git--5335877019653034551/Package.swift"; sourceTree = ""; }; - OBJ_69 /* CallMacroNodes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMacroNodes.swift; sourceTree = ""; }; - OBJ_70 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; - OBJ_71 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; - OBJ_72 /* Filters+Numbers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Numbers.swift"; sourceTree = ""; }; - OBJ_73 /* Filters+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Filters+Strings.swift"; sourceTree = ""; }; - OBJ_74 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; - OBJ_75 /* MapNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapNode.swift; sourceTree = ""; }; - OBJ_76 /* Parameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameters.swift; sourceTree = ""; }; - OBJ_77 /* SetNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetNode.swift; sourceTree = ""; }; - OBJ_78 /* StencilSwiftTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StencilSwiftTemplate.swift; sourceTree = ""; }; - OBJ_79 /* SwiftIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftIdentifier.swift; sourceTree = ""; }; - OBJ_81 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Stencil.git-7635584243355970173/Package.swift"; sourceTree = ""; }; - OBJ_82 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; - OBJ_83 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; - OBJ_84 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; - OBJ_85 /* Expression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expression.swift; sourceTree = ""; }; - OBJ_86 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; - OBJ_87 /* FilterTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterTag.swift; sourceTree = ""; }; - OBJ_88 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; - OBJ_89 /* ForTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForTag.swift; sourceTree = ""; }; - OBJ_9 /* Arguments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arguments.swift; sourceTree = ""; }; - OBJ_90 /* IfTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IfTag.swift; sourceTree = ""; }; - OBJ_91 /* Include.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Include.swift; sourceTree = ""; }; - OBJ_92 /* Inheritence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inheritence.swift; sourceTree = ""; }; - OBJ_93 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; - OBJ_94 /* Loader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Loader.swift; sourceTree = ""; }; - OBJ_95 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; - OBJ_96 /* NowTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowTag.swift; sourceTree = ""; }; - OBJ_97 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - OBJ_98 /* Template.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Template.swift; sourceTree = ""; }; - OBJ_99 /* Tokenizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tokenizer.swift; sourceTree = ""; }; + OBJ_60 /* Parameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parameters.swift; sourceTree = ""; }; + OBJ_61 /* SetNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetNode.swift; sourceTree = ""; }; + OBJ_62 /* StencilSwiftTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StencilSwiftTemplate.swift; sourceTree = ""; }; + OBJ_63 /* SwiftIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftIdentifier.swift; sourceTree = ""; }; + OBJ_65 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Stencil.git-7635584243355970173/Package.swift"; sourceTree = ""; }; + OBJ_66 /* Context.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = ""; }; + OBJ_67 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + OBJ_68 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; + OBJ_69 /* Expression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expression.swift; sourceTree = ""; }; + OBJ_70 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; + OBJ_71 /* FilterTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterTag.swift; sourceTree = ""; }; + OBJ_72 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = ""; }; + OBJ_73 /* ForTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForTag.swift; sourceTree = ""; }; + OBJ_74 /* IfTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IfTag.swift; sourceTree = ""; }; + OBJ_75 /* Include.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Include.swift; sourceTree = ""; }; + OBJ_76 /* Inheritence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inheritence.swift; sourceTree = ""; }; + OBJ_77 /* Lexer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lexer.swift; sourceTree = ""; }; + OBJ_78 /* Loader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Loader.swift; sourceTree = ""; }; + OBJ_79 /* Node.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Node.swift; sourceTree = ""; }; + OBJ_80 /* NowTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowTag.swift; sourceTree = ""; }; + OBJ_81 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + OBJ_82 /* Template.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Template.swift; sourceTree = ""; }; + OBJ_83 /* Tokenizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tokenizer.swift; sourceTree = ""; }; + OBJ_84 /* Variable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; + OBJ_86 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/PathKit.git--1865447967743163058/Package.swift"; sourceTree = ""; }; + OBJ_87 /* PathKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathKit.swift; sourceTree = ""; }; + OBJ_9 /* AccessLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessLevel.swift; sourceTree = ""; }; + OBJ_90 /* ArgumentConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentConvertible.swift; sourceTree = ""; }; + OBJ_91 /* ArgumentDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentDescription.swift; sourceTree = ""; }; + OBJ_92 /* ArgumentParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentParser.swift; sourceTree = ""; }; + OBJ_93 /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = ""; }; + OBJ_94 /* CommandRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandRunner.swift; sourceTree = ""; }; + OBJ_95 /* CommandType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandType.swift; sourceTree = ""; }; + OBJ_96 /* Commands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commands.swift; sourceTree = ""; }; + OBJ_97 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; }; + OBJ_98 /* Group.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = ""; }; + OBJ_99 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/theophanerupin/Projects/Scribd/Weaver/.build/checkouts/Commander.git-8842944228949165507/Package.swift"; sourceTree = ""; }; "PathKit::PathKit::Product" /* PathKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PathKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SWXMLHash.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SourceKittenFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Spectre::Spectre::Product" /* Spectre.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Spectre.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Stencil::Stencil::Product" /* Stencil.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stencil.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StencilSwiftKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WeaverCodeGen.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = WeaverCodeGenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - "WeaverDI::WeaverCommand::Product" /* WeaverCommand */ = {isa = PBXFileReference; lastKnownFileType = text; path = WeaverCommand; sourceTree = BUILT_PRODUCTS_DIR; }; - "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WeaverDI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - "WeaverDI::WeaverDITests::Product" /* WeaverDITests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = WeaverDITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WeaverCodeGen.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + "Weaver::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = WeaverCodeGenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + "Weaver::WeaverCommand::Product" /* WeaverCommand */ = {isa = PBXFileReference; lastKnownFileType = text; path = WeaverCommand; sourceTree = BUILT_PRODUCTS_DIR; }; "Yams::CYaml::Product" /* CYaml.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CYaml.framework; sourceTree = BUILT_PRODUCTS_DIR; }; "Yams::Yams::Product" /* Yams.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Yams.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - OBJ_230 /* Frameworks */ = { + OBJ_212 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_245 /* Frameworks */ = { + OBJ_227 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_258 /* Frameworks */ = { + OBJ_240 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_273 /* Frameworks */ = { + OBJ_255 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_322 /* Frameworks */ = { + OBJ_304 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_323 /* Yams.framework in Frameworks */, - OBJ_324 /* CYaml.framework in Frameworks */, - OBJ_325 /* SWXMLHash.framework in Frameworks */, + OBJ_305 /* Yams.framework in Frameworks */, + OBJ_306 /* CYaml.framework in Frameworks */, + OBJ_307 /* SWXMLHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_349 /* Frameworks */ = { + OBJ_331 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_380 /* Frameworks */ = { + OBJ_362 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_381 /* Spectre.framework in Frameworks */, - OBJ_382 /* PathKit.framework in Frameworks */, + OBJ_363 /* Spectre.framework in Frameworks */, + OBJ_364 /* PathKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_407 /* Frameworks */ = { + OBJ_389 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_408 /* Stencil.framework in Frameworks */, - OBJ_409 /* Spectre.framework in Frameworks */, - OBJ_410 /* PathKit.framework in Frameworks */, + OBJ_390 /* Stencil.framework in Frameworks */, + OBJ_391 /* Spectre.framework in Frameworks */, + OBJ_392 /* PathKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_446 /* Frameworks */ = { + OBJ_428 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_447 /* StencilSwiftKit.framework in Frameworks */, - OBJ_448 /* Stencil.framework in Frameworks */, - OBJ_449 /* Spectre.framework in Frameworks */, - OBJ_450 /* PathKit.framework in Frameworks */, - OBJ_451 /* SourceKittenFramework.framework in Frameworks */, - OBJ_452 /* Yams.framework in Frameworks */, - OBJ_453 /* CYaml.framework in Frameworks */, - OBJ_454 /* SWXMLHash.framework in Frameworks */, - OBJ_455 /* WeaverDI.framework in Frameworks */, + OBJ_429 /* StencilSwiftKit.framework in Frameworks */, + OBJ_430 /* Stencil.framework in Frameworks */, + OBJ_431 /* Spectre.framework in Frameworks */, + OBJ_432 /* PathKit.framework in Frameworks */, + OBJ_433 /* SourceKittenFramework.framework in Frameworks */, + OBJ_434 /* Yams.framework in Frameworks */, + OBJ_435 /* CYaml.framework in Frameworks */, + OBJ_436 /* SWXMLHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_479 /* Frameworks */ = { + OBJ_458 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_480 /* WeaverCodeGen.framework in Frameworks */, - OBJ_481 /* StencilSwiftKit.framework in Frameworks */, - OBJ_482 /* Stencil.framework in Frameworks */, - OBJ_483 /* Spectre.framework in Frameworks */, - OBJ_484 /* PathKit.framework in Frameworks */, - OBJ_485 /* SourceKittenFramework.framework in Frameworks */, - OBJ_486 /* Yams.framework in Frameworks */, - OBJ_487 /* CYaml.framework in Frameworks */, - OBJ_488 /* SWXMLHash.framework in Frameworks */, - OBJ_489 /* WeaverDI.framework in Frameworks */, + OBJ_459 /* WeaverCodeGen.framework in Frameworks */, + OBJ_460 /* StencilSwiftKit.framework in Frameworks */, + OBJ_461 /* Stencil.framework in Frameworks */, + OBJ_462 /* Spectre.framework in Frameworks */, + OBJ_463 /* PathKit.framework in Frameworks */, + OBJ_464 /* SourceKittenFramework.framework in Frameworks */, + OBJ_465 /* Yams.framework in Frameworks */, + OBJ_466 /* CYaml.framework in Frameworks */, + OBJ_467 /* SWXMLHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_508 /* Frameworks */ = { + OBJ_485 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - OBJ_509 /* Commander.framework in Frameworks */, - OBJ_510 /* WeaverCodeGen.framework in Frameworks */, - OBJ_511 /* StencilSwiftKit.framework in Frameworks */, - OBJ_512 /* Stencil.framework in Frameworks */, - OBJ_513 /* Spectre.framework in Frameworks */, - OBJ_514 /* PathKit.framework in Frameworks */, - OBJ_515 /* SourceKittenFramework.framework in Frameworks */, - OBJ_516 /* Yams.framework in Frameworks */, - OBJ_517 /* CYaml.framework in Frameworks */, - OBJ_518 /* SWXMLHash.framework in Frameworks */, - OBJ_519 /* WeaverDI.framework in Frameworks */, + OBJ_486 /* Commander.framework in Frameworks */, + OBJ_487 /* WeaverCodeGen.framework in Frameworks */, + OBJ_488 /* StencilSwiftKit.framework in Frameworks */, + OBJ_489 /* Stencil.framework in Frameworks */, + OBJ_490 /* Spectre.framework in Frameworks */, + OBJ_491 /* PathKit.framework in Frameworks */, + OBJ_492 /* SourceKittenFramework.framework in Frameworks */, + OBJ_493 /* Yams.framework in Frameworks */, + OBJ_494 /* CYaml.framework in Frameworks */, + OBJ_495 /* SWXMLHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_544 /* Frameworks */ = { + OBJ_537 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 0; files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_567 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_568 /* WeaverDI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_590 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_591 /* CYaml.framework in Frameworks */, + OBJ_538 /* CYaml.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - OBJ_101 /* PathKit 0.9.1 */ = { - isa = PBXGroup; - children = ( - OBJ_102 /* Package.swift */, - OBJ_103 /* PathKit.swift */, - ); - name = "PathKit 0.9.1"; - path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; - sourceTree = SOURCE_ROOT; - }; - OBJ_104 /* Commander 0.8.0 */ = { - isa = PBXGroup; - children = ( - OBJ_105 /* Commander */, - OBJ_115 /* Package.swift */, - ); - name = "Commander 0.8.0"; - sourceTree = SOURCE_ROOT; - }; - OBJ_105 /* Commander */ = { - isa = PBXGroup; - children = ( - OBJ_106 /* ArgumentConvertible.swift */, - OBJ_107 /* ArgumentDescription.swift */, - OBJ_108 /* ArgumentParser.swift */, - OBJ_109 /* Command.swift */, - OBJ_110 /* CommandRunner.swift */, - OBJ_111 /* CommandType.swift */, - OBJ_112 /* Commands.swift */, - OBJ_113 /* Error.swift */, - OBJ_114 /* Group.swift */, - ); - name = Commander; - path = ".build/checkouts/Commander.git-8842944228949165507/Sources/Commander"; - sourceTree = SOURCE_ROOT; - }; - OBJ_116 /* Spectre 0.8.0 */ = { + OBJ_100 /* Spectre 0.8.0 */ = { isa = PBXGroup; children = ( - OBJ_117 /* Spectre */, - OBJ_126 /* Package.swift */, + OBJ_101 /* Spectre */, + OBJ_110 /* Package.swift */, ); name = "Spectre 0.8.0"; sourceTree = SOURCE_ROOT; }; - OBJ_117 /* Spectre */ = { + OBJ_101 /* Spectre */ = { isa = PBXGroup; children = ( - OBJ_118 /* Case.swift */, - OBJ_119 /* Context.swift */, - OBJ_120 /* Expectation.swift */, - OBJ_121 /* Failure.swift */, - OBJ_122 /* Global.swift */, - OBJ_123 /* GlobalContext.swift */, - OBJ_124 /* Reporter.swift */, - OBJ_125 /* Reporters.swift */, + OBJ_102 /* Case.swift */, + OBJ_103 /* Context.swift */, + OBJ_104 /* Expectation.swift */, + OBJ_105 /* Failure.swift */, + OBJ_106 /* Global.swift */, + OBJ_107 /* GlobalContext.swift */, + OBJ_108 /* Reporter.swift */, + OBJ_109 /* Reporters.swift */, ); name = Spectre; path = ".build/checkouts/Spectre.git--7655155069707042687/Sources/Spectre"; sourceTree = SOURCE_ROOT; }; - OBJ_12 /* WeaverCodeGen */ = { + OBJ_111 /* SourceKitten 0.21.0 */ = { isa = PBXGroup; children = ( - OBJ_13 /* AccessLevel.swift */, - OBJ_14 /* AutoEquatable.generated.swift */, - OBJ_15 /* AutoHashable.generated.swift */, - OBJ_16 /* AutoTypes.swift */, - OBJ_17 /* Configuration.swift */, - OBJ_18 /* ConfigurationAttribute.swift */, - OBJ_19 /* Error.swift */, - OBJ_20 /* Expr.swift */, - OBJ_21 /* Generator.swift */, - OBJ_22 /* Graph.swift */, - OBJ_23 /* Inspector.swift */, - OBJ_24 /* Lexer.swift */, - OBJ_25 /* Linker.swift */, - OBJ_26 /* OrderedDictionary.swift */, - OBJ_27 /* Parser.swift */, - OBJ_28 /* RegexUtils.swift */, - OBJ_29 /* Scope.swift */, - OBJ_30 /* SourceKitDeclaration.swift */, - OBJ_31 /* Token.swift */, - OBJ_32 /* Type.swift */, - OBJ_33 /* shim-swift-4.1.swift */, - ); - name = WeaverCodeGen; - path = Sources/WeaverCodeGen; - sourceTree = SOURCE_ROOT; - }; - OBJ_127 /* SourceKitten 0.21.0 */ = { - isa = PBXGroup; - children = ( - OBJ_128 /* sourcekitten */, - OBJ_129 /* SourceKittenFramework */, - OBJ_167 /* Package.swift */, + OBJ_112 /* sourcekitten */, + OBJ_113 /* SourceKittenFramework */, + OBJ_151 /* Package.swift */, ); name = "SourceKitten 0.21.0"; sourceTree = SOURCE_ROOT; }; - OBJ_128 /* sourcekitten */ = { + OBJ_112 /* sourcekitten */ = { isa = PBXGroup; children = ( ); @@ -942,301 +813,344 @@ path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/sourcekitten"; sourceTree = SOURCE_ROOT; }; - OBJ_129 /* SourceKittenFramework */ = { + OBJ_113 /* SourceKittenFramework */ = { isa = PBXGroup; children = ( - OBJ_130 /* Clang+SourceKitten.swift */, - OBJ_131 /* ClangTranslationUnit.swift */, - OBJ_132 /* CodeCompletionItem.swift */, - OBJ_133 /* Dictionary+Merge.swift */, - OBJ_134 /* Documentation.swift */, - OBJ_135 /* File.swift */, - OBJ_136 /* JSONOutput.swift */, - OBJ_137 /* Language.swift */, - OBJ_138 /* LinuxCompatibility.swift */, - OBJ_139 /* Module.swift */, - OBJ_140 /* ObjCDeclarationKind.swift */, - OBJ_141 /* OffsetMap.swift */, - OBJ_142 /* Parameter.swift */, - OBJ_143 /* Request.swift */, - OBJ_144 /* SourceDeclaration.swift */, - OBJ_145 /* SourceKitObject.swift */, - OBJ_146 /* SourceLocation.swift */, - OBJ_147 /* StatementKind.swift */, - OBJ_148 /* String+SourceKitten.swift */, - OBJ_149 /* Structure.swift */, - OBJ_150 /* SwiftDeclarationAttributeKind.swift */, - OBJ_151 /* SwiftDeclarationKind.swift */, - OBJ_152 /* SwiftDocKey.swift */, - OBJ_153 /* SwiftDocs.swift */, - OBJ_154 /* SyntaxKind.swift */, - OBJ_155 /* SyntaxMap.swift */, - OBJ_156 /* SyntaxToken.swift */, - OBJ_157 /* Text.swift */, - OBJ_158 /* UID.swift */, - OBJ_159 /* Version.swift */, - OBJ_160 /* Xcode.swift */, - OBJ_161 /* library_wrapper.swift */, - OBJ_162 /* library_wrapper_CXString.swift */, - OBJ_163 /* library_wrapper_Documentation.swift */, - OBJ_164 /* library_wrapper_Index.swift */, - OBJ_165 /* library_wrapper_sourcekitd.swift */, - OBJ_166 /* shim.swift */, + OBJ_114 /* Clang+SourceKitten.swift */, + OBJ_115 /* ClangTranslationUnit.swift */, + OBJ_116 /* CodeCompletionItem.swift */, + OBJ_117 /* Dictionary+Merge.swift */, + OBJ_118 /* Documentation.swift */, + OBJ_119 /* File.swift */, + OBJ_120 /* JSONOutput.swift */, + OBJ_121 /* Language.swift */, + OBJ_122 /* LinuxCompatibility.swift */, + OBJ_123 /* Module.swift */, + OBJ_124 /* ObjCDeclarationKind.swift */, + OBJ_125 /* OffsetMap.swift */, + OBJ_126 /* Parameter.swift */, + OBJ_127 /* Request.swift */, + OBJ_128 /* SourceDeclaration.swift */, + OBJ_129 /* SourceKitObject.swift */, + OBJ_130 /* SourceLocation.swift */, + OBJ_131 /* StatementKind.swift */, + OBJ_132 /* String+SourceKitten.swift */, + OBJ_133 /* Structure.swift */, + OBJ_134 /* SwiftDeclarationAttributeKind.swift */, + OBJ_135 /* SwiftDeclarationKind.swift */, + OBJ_136 /* SwiftDocKey.swift */, + OBJ_137 /* SwiftDocs.swift */, + OBJ_138 /* SyntaxKind.swift */, + OBJ_139 /* SyntaxMap.swift */, + OBJ_140 /* SyntaxToken.swift */, + OBJ_141 /* Text.swift */, + OBJ_142 /* UID.swift */, + OBJ_143 /* Version.swift */, + OBJ_144 /* Xcode.swift */, + OBJ_145 /* library_wrapper.swift */, + OBJ_146 /* library_wrapper_CXString.swift */, + OBJ_147 /* library_wrapper_Documentation.swift */, + OBJ_148 /* library_wrapper_Index.swift */, + OBJ_149 /* library_wrapper_sourcekitd.swift */, + OBJ_150 /* shim.swift */, ); name = SourceKittenFramework; path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/SourceKittenFramework"; sourceTree = SOURCE_ROOT; }; - OBJ_168 /* Yams 0.7.0 */ = { + OBJ_152 /* Yams 0.7.0 */ = { isa = PBXGroup; children = ( - OBJ_169 /* CYaml */, - OBJ_181 /* Yams */, - OBJ_198 /* Package.swift */, + OBJ_153 /* CYaml */, + OBJ_165 /* Yams */, + OBJ_182 /* Package.swift */, ); name = "Yams 0.7.0"; sourceTree = SOURCE_ROOT; }; - OBJ_169 /* CYaml */ = { + OBJ_153 /* CYaml */ = { isa = PBXGroup; children = ( - OBJ_170 /* src */, - OBJ_177 /* include */, + OBJ_154 /* src */, + OBJ_161 /* include */, ); name = CYaml; path = ".build/checkouts/Yams.git-8068124914099325722/Sources/CYaml"; sourceTree = SOURCE_ROOT; }; - OBJ_170 /* src */ = { + OBJ_154 /* src */ = { isa = PBXGroup; children = ( - OBJ_171 /* api.c */, - OBJ_172 /* emitter.c */, - OBJ_173 /* parser.c */, - OBJ_174 /* reader.c */, - OBJ_175 /* scanner.c */, - OBJ_176 /* writer.c */, + OBJ_155 /* api.c */, + OBJ_156 /* emitter.c */, + OBJ_157 /* parser.c */, + OBJ_158 /* reader.c */, + OBJ_159 /* scanner.c */, + OBJ_160 /* writer.c */, ); path = src; sourceTree = ""; }; - OBJ_177 /* include */ = { + OBJ_161 /* include */ = { isa = PBXGroup; children = ( - OBJ_178 /* CYaml.h */, - OBJ_179 /* yaml.h */, - OBJ_180 /* module.modulemap */, + OBJ_162 /* CYaml.h */, + OBJ_163 /* yaml.h */, + OBJ_164 /* module.modulemap */, ); path = include; sourceTree = ""; }; - OBJ_181 /* Yams */ = { + OBJ_165 /* Yams */ = { isa = PBXGroup; children = ( - OBJ_182 /* Constructor.swift */, - OBJ_183 /* Decoder.swift */, - OBJ_184 /* Emitter.swift */, - OBJ_185 /* Encoder.swift */, - OBJ_186 /* Mark.swift */, - OBJ_187 /* Node.Mapping.swift */, - OBJ_188 /* Node.Scalar.swift */, - OBJ_189 /* Node.Sequence.swift */, - OBJ_190 /* Node.swift */, - OBJ_191 /* Parser.swift */, - OBJ_192 /* Representer.swift */, - OBJ_193 /* Resolver.swift */, - OBJ_194 /* String+Yams.swift */, - OBJ_195 /* Tag.swift */, - OBJ_196 /* YamlError.swift */, - OBJ_197 /* shim.swift */, + OBJ_166 /* Constructor.swift */, + OBJ_167 /* Decoder.swift */, + OBJ_168 /* Emitter.swift */, + OBJ_169 /* Encoder.swift */, + OBJ_170 /* Mark.swift */, + OBJ_171 /* Node.Mapping.swift */, + OBJ_172 /* Node.Scalar.swift */, + OBJ_173 /* Node.Sequence.swift */, + OBJ_174 /* Node.swift */, + OBJ_175 /* Parser.swift */, + OBJ_176 /* Representer.swift */, + OBJ_177 /* Resolver.swift */, + OBJ_178 /* String+Yams.swift */, + OBJ_179 /* Tag.swift */, + OBJ_180 /* YamlError.swift */, + OBJ_181 /* shim.swift */, ); name = Yams; path = ".build/checkouts/Yams.git-8068124914099325722/Sources/Yams"; sourceTree = SOURCE_ROOT; }; - OBJ_199 /* SWXMLHash 4.6.0 */ = { + OBJ_183 /* SWXMLHash 4.6.0 */ = { isa = PBXGroup; children = ( - OBJ_200 /* Package.swift */, - OBJ_201 /* SWXMLHash+TypeConversion.swift */, - OBJ_202 /* SWXMLHash.swift */, - OBJ_203 /* shim.swift */, + OBJ_184 /* Package.swift */, + OBJ_185 /* SWXMLHash+TypeConversion.swift */, + OBJ_186 /* SWXMLHash.swift */, + OBJ_187 /* shim.swift */, ); name = "SWXMLHash 4.6.0"; path = ".build/checkouts/SWXMLHash.git-5776748636326364470/Source"; sourceTree = SOURCE_ROOT; }; - OBJ_204 /* Products */ = { + OBJ_188 /* Products */ = { isa = PBXGroup; children = ( - "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */, - "WeaverDI::WeaverCommand::Product" /* WeaverCommand */, - "Yams::Yams::Product" /* Yams.framework */, + "Commander::Commander::Product" /* Commander.framework */, + "Spectre::Spectre::Product" /* Spectre.framework */, + "Weaver::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */, "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */, + "Yams::CYaml::Product" /* CYaml.framework */, + "Yams::Yams::Product" /* Yams.framework */, "PathKit::PathKit::Product" /* PathKit.framework */, - "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */, + "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */, + "Weaver::WeaverCommand::Product" /* WeaverCommand */, "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */, - "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */, - "Spectre::Spectre::Product" /* Spectre.framework */, - "WeaverDI::WeaverDITests::Product" /* WeaverDITests.xctest */, - "Yams::CYaml::Product" /* CYaml.framework */, "Stencil::Stencil::Product" /* Stencil.framework */, - "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */, - "Commander::Commander::Product" /* Commander.framework */, + "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */, ); name = Products; sourceTree = BUILT_PRODUCTS_DIR; }; - OBJ_34 /* WeaverDI */ = { + OBJ_30 /* WeaverCommand */ = { isa = PBXGroup; children = ( - OBJ_42 /* Instance.swift */, - OBJ_43 /* Scope.swift */, + OBJ_31 /* Arguments.swift */, + OBJ_32 /* Logger.swift */, + OBJ_33 /* main.swift */, ); - name = WeaverDI; - path = Sources/WeaverDI; + name = WeaverCommand; + path = Sources/WeaverCommand; sourceTree = SOURCE_ROOT; }; - OBJ_44 /* Tests */ = { + OBJ_34 /* Tests */ = { isa = PBXGroup; children = ( - OBJ_45 /* WeaverCodeGenTests */, - OBJ_54 /* WeaverDITests */, + OBJ_35 /* WeaverCodeGenTests */, ); name = Tests; sourceTree = SOURCE_ROOT; }; - OBJ_45 /* WeaverCodeGenTests */ = { + OBJ_35 /* WeaverCodeGenTests */ = { isa = PBXGroup; children = ( - OBJ_46 /* ConfigurationAttributeTests.swift */, - OBJ_47 /* ErrorTests.swift */, - OBJ_48 /* GeneratorTests.swift */, - OBJ_49 /* InspectorTests.swift */, - OBJ_50 /* LexerTests.swift */, - OBJ_51 /* ParserTests.swift */, - OBJ_52 /* SourceKitDeclarationTests.swift */, - OBJ_53 /* TypeTests.swift */, + OBJ_36 /* ConfigurationAttributeTests.swift */, + OBJ_37 /* ErrorTests.swift */, + OBJ_38 /* GeneratorTests.swift */, + OBJ_39 /* InspectorTests.swift */, + OBJ_40 /* LexerTests.swift */, + OBJ_41 /* ParserTests.swift */, + OBJ_42 /* SourceKitDeclarationTests.swift */, + OBJ_43 /* TypeTests.swift */, ); name = WeaverCodeGenTests; path = Tests/WeaverCodeGenTests; sourceTree = SOURCE_ROOT; }; + OBJ_49 /* Dependencies */ = { + isa = PBXGroup; + children = ( + OBJ_50 /* StencilSwiftKit 2.5.0 */, + OBJ_64 /* Stencil 0.11.0 */, + OBJ_85 /* PathKit 0.9.1 */, + OBJ_88 /* Commander 0.8.0 */, + OBJ_100 /* Spectre 0.8.0 */, + OBJ_111 /* SourceKitten 0.21.0 */, + OBJ_152 /* Yams 0.7.0 */, + OBJ_183 /* SWXMLHash 4.6.0 */, + ); + name = Dependencies; + sourceTree = ""; + }; OBJ_5 /* */ = { isa = PBXGroup; children = ( OBJ_6 /* Package.swift */, OBJ_7 /* Sources */, - OBJ_44 /* Tests */, - OBJ_60 /* Documentation */, - OBJ_61 /* tools */, - OBJ_62 /* Resources */, - OBJ_63 /* Sample */, - OBJ_64 /* build */, - OBJ_65 /* Dependencies */, - OBJ_204 /* Products */, + OBJ_34 /* Tests */, + OBJ_44 /* Documentation */, + OBJ_45 /* tools */, + OBJ_46 /* Resources */, + OBJ_47 /* Sample */, + OBJ_48 /* build */, + OBJ_49 /* Dependencies */, + OBJ_188 /* Products */, ); name = ""; sourceTree = ""; }; - OBJ_54 /* WeaverDITests */ = { + OBJ_50 /* StencilSwiftKit 2.5.0 */ = { isa = PBXGroup; children = ( + OBJ_51 /* Package.swift */, + OBJ_52 /* Sources */, ); - name = WeaverDITests; - path = Tests/WeaverDITests; + name = "StencilSwiftKit 2.5.0"; + path = ".build/checkouts/StencilSwiftKit.git--5335877019653034551"; sourceTree = SOURCE_ROOT; }; - OBJ_65 /* Dependencies */ = { + OBJ_52 /* Sources */ = { isa = PBXGroup; children = ( - OBJ_66 /* StencilSwiftKit 2.5.0 */, - OBJ_80 /* Stencil 0.11.0 */, - OBJ_101 /* PathKit 0.9.1 */, - OBJ_104 /* Commander 0.8.0 */, - OBJ_116 /* Spectre 0.8.0 */, - OBJ_127 /* SourceKitten 0.21.0 */, - OBJ_168 /* Yams 0.7.0 */, - OBJ_199 /* SWXMLHash 4.6.0 */, + OBJ_53 /* CallMacroNodes.swift */, + OBJ_54 /* Context.swift */, + OBJ_55 /* Environment.swift */, + OBJ_56 /* Filters+Numbers.swift */, + OBJ_57 /* Filters+Strings.swift */, + OBJ_58 /* Filters.swift */, + OBJ_59 /* MapNode.swift */, + OBJ_60 /* Parameters.swift */, + OBJ_61 /* SetNode.swift */, + OBJ_62 /* StencilSwiftTemplate.swift */, + OBJ_63 /* SwiftIdentifier.swift */, ); - name = Dependencies; + path = Sources; sourceTree = ""; }; - OBJ_66 /* StencilSwiftKit 2.5.0 */ = { + OBJ_64 /* Stencil 0.11.0 */ = { isa = PBXGroup; children = ( - OBJ_67 /* Package.swift */, - OBJ_68 /* Sources */, + OBJ_65 /* Package.swift */, + OBJ_66 /* Context.swift */, + OBJ_67 /* Environment.swift */, + OBJ_68 /* Errors.swift */, + OBJ_69 /* Expression.swift */, + OBJ_70 /* Extension.swift */, + OBJ_71 /* FilterTag.swift */, + OBJ_72 /* Filters.swift */, + OBJ_73 /* ForTag.swift */, + OBJ_74 /* IfTag.swift */, + OBJ_75 /* Include.swift */, + OBJ_76 /* Inheritence.swift */, + OBJ_77 /* Lexer.swift */, + OBJ_78 /* Loader.swift */, + OBJ_79 /* Node.swift */, + OBJ_80 /* NowTag.swift */, + OBJ_81 /* Parser.swift */, + OBJ_82 /* Template.swift */, + OBJ_83 /* Tokenizer.swift */, + OBJ_84 /* Variable.swift */, ); - name = "StencilSwiftKit 2.5.0"; - path = ".build/checkouts/StencilSwiftKit.git--5335877019653034551"; + name = "Stencil 0.11.0"; + path = ".build/checkouts/Stencil.git-7635584243355970173/Sources"; sourceTree = SOURCE_ROOT; }; - OBJ_68 /* Sources */ = { + OBJ_7 /* Sources */ = { isa = PBXGroup; children = ( - OBJ_69 /* CallMacroNodes.swift */, - OBJ_70 /* Context.swift */, - OBJ_71 /* Environment.swift */, - OBJ_72 /* Filters+Numbers.swift */, - OBJ_73 /* Filters+Strings.swift */, - OBJ_74 /* Filters.swift */, - OBJ_75 /* MapNode.swift */, - OBJ_76 /* Parameters.swift */, - OBJ_77 /* SetNode.swift */, - OBJ_78 /* StencilSwiftTemplate.swift */, - OBJ_79 /* SwiftIdentifier.swift */, + OBJ_8 /* WeaverCodeGen */, + OBJ_30 /* WeaverCommand */, ); - path = Sources; - sourceTree = ""; + name = Sources; + sourceTree = SOURCE_ROOT; }; - OBJ_7 /* Sources */ = { + OBJ_8 /* WeaverCodeGen */ = { isa = PBXGroup; children = ( - OBJ_8 /* WeaverCommand */, - OBJ_12 /* WeaverCodeGen */, - OBJ_34 /* WeaverDI */, + OBJ_9 /* AccessLevel.swift */, + OBJ_10 /* AutoEquatable.generated.swift */, + OBJ_11 /* AutoHashable.generated.swift */, + OBJ_12 /* AutoTypes.swift */, + OBJ_13 /* Configuration.swift */, + OBJ_14 /* ConfigurationAttribute.swift */, + OBJ_15 /* Error.swift */, + OBJ_16 /* Expr.swift */, + OBJ_17 /* Generator.swift */, + OBJ_18 /* Graph.swift */, + OBJ_19 /* Inspector.swift */, + OBJ_20 /* Lexer.swift */, + OBJ_21 /* Linker.swift */, + OBJ_22 /* OrderedDictionary.swift */, + OBJ_23 /* Parser.swift */, + OBJ_24 /* RegexUtils.swift */, + OBJ_25 /* Scope.swift */, + OBJ_26 /* SourceKitDeclaration.swift */, + OBJ_27 /* Token.swift */, + OBJ_28 /* Type.swift */, + OBJ_29 /* shim-swift-4.1.swift */, ); - name = Sources; + name = WeaverCodeGen; + path = Sources/WeaverCodeGen; sourceTree = SOURCE_ROOT; }; - OBJ_8 /* WeaverCommand */ = { + OBJ_85 /* PathKit 0.9.1 */ = { isa = PBXGroup; children = ( - OBJ_9 /* Arguments.swift */, - OBJ_10 /* Logger.swift */, - OBJ_11 /* main.swift */, + OBJ_86 /* Package.swift */, + OBJ_87 /* PathKit.swift */, ); - name = WeaverCommand; - path = Sources/WeaverCommand; + name = "PathKit 0.9.1"; + path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; sourceTree = SOURCE_ROOT; }; - OBJ_80 /* Stencil 0.11.0 */ = { + OBJ_88 /* Commander 0.8.0 */ = { isa = PBXGroup; children = ( - OBJ_81 /* Package.swift */, - OBJ_82 /* Context.swift */, - OBJ_83 /* Environment.swift */, - OBJ_84 /* Errors.swift */, - OBJ_85 /* Expression.swift */, - OBJ_86 /* Extension.swift */, - OBJ_87 /* FilterTag.swift */, - OBJ_88 /* Filters.swift */, - OBJ_89 /* ForTag.swift */, - OBJ_90 /* IfTag.swift */, - OBJ_91 /* Include.swift */, - OBJ_92 /* Inheritence.swift */, - OBJ_93 /* Lexer.swift */, - OBJ_94 /* Loader.swift */, - OBJ_95 /* Node.swift */, - OBJ_96 /* NowTag.swift */, - OBJ_97 /* Parser.swift */, - OBJ_98 /* Template.swift */, - OBJ_99 /* Tokenizer.swift */, - OBJ_100 /* Variable.swift */, + OBJ_89 /* Commander */, + OBJ_99 /* Package.swift */, ); - name = "Stencil 0.11.0"; - path = ".build/checkouts/Stencil.git-7635584243355970173/Sources"; + name = "Commander 0.8.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_89 /* Commander */ = { + isa = PBXGroup; + children = ( + OBJ_90 /* ArgumentConvertible.swift */, + OBJ_91 /* ArgumentDescription.swift */, + OBJ_92 /* ArgumentParser.swift */, + OBJ_93 /* Command.swift */, + OBJ_94 /* CommandRunner.swift */, + OBJ_95 /* CommandType.swift */, + OBJ_96 /* Commands.swift */, + OBJ_97 /* Error.swift */, + OBJ_98 /* Group.swift */, + ); + name = Commander; + path = ".build/checkouts/Commander.git-8842944228949165507/Sources/Commander"; sourceTree = SOURCE_ROOT; }; /* End PBXGroup section */ @@ -1244,10 +1158,10 @@ /* Begin PBXNativeTarget section */ "Commander::Commander" /* Commander */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_232 /* Build configuration list for PBXNativeTarget "Commander" */; + buildConfigurationList = OBJ_214 /* Build configuration list for PBXNativeTarget "Commander" */; buildPhases = ( - OBJ_235 /* Sources */, - OBJ_245 /* Frameworks */, + OBJ_217 /* Sources */, + OBJ_227 /* Frameworks */, ); buildRules = ( ); @@ -1260,9 +1174,9 @@ }; "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_247 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; + buildConfigurationList = OBJ_229 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; buildPhases = ( - OBJ_250 /* Sources */, + OBJ_232 /* Sources */, ); buildRules = ( ); @@ -1274,10 +1188,10 @@ }; "PathKit::PathKit" /* PathKit */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_253 /* Build configuration list for PBXNativeTarget "PathKit" */; + buildConfigurationList = OBJ_235 /* Build configuration list for PBXNativeTarget "PathKit" */; buildPhases = ( - OBJ_256 /* Sources */, - OBJ_258 /* Frameworks */, + OBJ_238 /* Sources */, + OBJ_240 /* Frameworks */, ); buildRules = ( ); @@ -1290,9 +1204,9 @@ }; "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_260 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; + buildConfigurationList = OBJ_242 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; buildPhases = ( - OBJ_263 /* Sources */, + OBJ_245 /* Sources */, ); buildRules = ( ); @@ -1304,10 +1218,10 @@ }; "SWXMLHash::SWXMLHash" /* SWXMLHash */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_266 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; + buildConfigurationList = OBJ_248 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; buildPhases = ( - OBJ_269 /* Sources */, - OBJ_273 /* Frameworks */, + OBJ_251 /* Sources */, + OBJ_255 /* Frameworks */, ); buildRules = ( ); @@ -1320,9 +1234,9 @@ }; "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_275 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; + buildConfigurationList = OBJ_257 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; buildPhases = ( - OBJ_278 /* Sources */, + OBJ_260 /* Sources */, ); buildRules = ( ); @@ -1334,17 +1248,17 @@ }; "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_281 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; + buildConfigurationList = OBJ_263 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; buildPhases = ( - OBJ_284 /* Sources */, - OBJ_322 /* Frameworks */, + OBJ_266 /* Sources */, + OBJ_304 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_326 /* PBXTargetDependency */, - OBJ_328 /* PBXTargetDependency */, - OBJ_329 /* PBXTargetDependency */, + OBJ_308 /* PBXTargetDependency */, + OBJ_310 /* PBXTargetDependency */, + OBJ_311 /* PBXTargetDependency */, ); name = SourceKittenFramework; productName = SourceKittenFramework; @@ -1353,9 +1267,9 @@ }; "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_331 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; + buildConfigurationList = OBJ_313 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; buildPhases = ( - OBJ_334 /* Sources */, + OBJ_316 /* Sources */, ); buildRules = ( ); @@ -1367,10 +1281,10 @@ }; "Spectre::Spectre" /* Spectre */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_337 /* Build configuration list for PBXNativeTarget "Spectre" */; + buildConfigurationList = OBJ_319 /* Build configuration list for PBXNativeTarget "Spectre" */; buildPhases = ( - OBJ_340 /* Sources */, - OBJ_349 /* Frameworks */, + OBJ_322 /* Sources */, + OBJ_331 /* Frameworks */, ); buildRules = ( ); @@ -1383,9 +1297,9 @@ }; "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_351 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; + buildConfigurationList = OBJ_333 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; buildPhases = ( - OBJ_354 /* Sources */, + OBJ_336 /* Sources */, ); buildRules = ( ); @@ -1397,16 +1311,16 @@ }; "Stencil::Stencil" /* Stencil */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_357 /* Build configuration list for PBXNativeTarget "Stencil" */; + buildConfigurationList = OBJ_339 /* Build configuration list for PBXNativeTarget "Stencil" */; buildPhases = ( - OBJ_360 /* Sources */, - OBJ_380 /* Frameworks */, + OBJ_342 /* Sources */, + OBJ_362 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_383 /* PBXTargetDependency */, - OBJ_384 /* PBXTargetDependency */, + OBJ_365 /* PBXTargetDependency */, + OBJ_366 /* PBXTargetDependency */, ); name = Stencil; productName = Stencil; @@ -1415,9 +1329,9 @@ }; "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_386 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; + buildConfigurationList = OBJ_368 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; buildPhases = ( - OBJ_389 /* Sources */, + OBJ_371 /* Sources */, ); buildRules = ( ); @@ -1429,17 +1343,17 @@ }; "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_392 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */; + buildConfigurationList = OBJ_374 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */; buildPhases = ( - OBJ_395 /* Sources */, - OBJ_407 /* Frameworks */, + OBJ_377 /* Sources */, + OBJ_389 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_411 /* PBXTargetDependency */, - OBJ_412 /* PBXTargetDependency */, - OBJ_413 /* PBXTargetDependency */, + OBJ_393 /* PBXTargetDependency */, + OBJ_394 /* PBXTargetDependency */, + OBJ_395 /* PBXTargetDependency */, ); name = StencilSwiftKit; productName = StencilSwiftKit; @@ -1448,9 +1362,9 @@ }; "StencilSwiftKit::SwiftPMPackageDescription" /* StencilSwiftKitPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_415 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */; + buildConfigurationList = OBJ_397 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */; buildPhases = ( - OBJ_418 /* Sources */, + OBJ_400 /* Sources */, ); buildRules = ( ); @@ -1460,137 +1374,101 @@ productName = StencilSwiftKitPackageDescription; productType = "com.apple.product-type.framework"; }; - "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */ = { + "Weaver::SwiftPMPackageDescription" /* WeaverPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_546 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */; + buildConfigurationList = OBJ_507 /* Build configuration list for PBXNativeTarget "WeaverPackageDescription" */; buildPhases = ( - OBJ_549 /* Sources */, + OBJ_510 /* Sources */, ); buildRules = ( ); dependencies = ( ); - name = WeaverDIPackageDescription; - productName = WeaverDIPackageDescription; + name = WeaverPackageDescription; + productName = WeaverPackageDescription; productType = "com.apple.product-type.framework"; }; - "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */ = { + "Weaver::WeaverCodeGen" /* WeaverCodeGen */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_421 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; + buildConfigurationList = OBJ_403 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; buildPhases = ( - OBJ_424 /* Sources */, - OBJ_446 /* Frameworks */, + OBJ_406 /* Sources */, + OBJ_428 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_456 /* PBXTargetDependency */, - OBJ_457 /* PBXTargetDependency */, - OBJ_458 /* PBXTargetDependency */, - OBJ_459 /* PBXTargetDependency */, - OBJ_460 /* PBXTargetDependency */, - OBJ_461 /* PBXTargetDependency */, - OBJ_462 /* PBXTargetDependency */, - OBJ_463 /* PBXTargetDependency */, - OBJ_464 /* PBXTargetDependency */, + OBJ_437 /* PBXTargetDependency */, + OBJ_438 /* PBXTargetDependency */, + OBJ_439 /* PBXTargetDependency */, + OBJ_440 /* PBXTargetDependency */, + OBJ_441 /* PBXTargetDependency */, + OBJ_442 /* PBXTargetDependency */, + OBJ_443 /* PBXTargetDependency */, + OBJ_444 /* PBXTargetDependency */, ); name = WeaverCodeGen; productName = WeaverCodeGen; - productReference = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; + productReference = "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; productType = "com.apple.product-type.framework"; }; - "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */ = { + "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_467 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; + buildConfigurationList = OBJ_446 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; buildPhases = ( - OBJ_470 /* Sources */, - OBJ_479 /* Frameworks */, + OBJ_449 /* Sources */, + OBJ_458 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_490 /* PBXTargetDependency */, - OBJ_491 /* PBXTargetDependency */, - OBJ_492 /* PBXTargetDependency */, - OBJ_493 /* PBXTargetDependency */, - OBJ_494 /* PBXTargetDependency */, - OBJ_495 /* PBXTargetDependency */, - OBJ_496 /* PBXTargetDependency */, - OBJ_497 /* PBXTargetDependency */, - OBJ_498 /* PBXTargetDependency */, - OBJ_499 /* PBXTargetDependency */, + OBJ_468 /* PBXTargetDependency */, + OBJ_469 /* PBXTargetDependency */, + OBJ_470 /* PBXTargetDependency */, + OBJ_471 /* PBXTargetDependency */, + OBJ_472 /* PBXTargetDependency */, + OBJ_473 /* PBXTargetDependency */, + OBJ_474 /* PBXTargetDependency */, + OBJ_475 /* PBXTargetDependency */, + OBJ_476 /* PBXTargetDependency */, ); name = WeaverCodeGenTests; productName = WeaverCodeGenTests; - productReference = "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */; + productReference = "Weaver::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - "WeaverDI::WeaverCommand" /* WeaverCommand */ = { + "Weaver::WeaverCommand" /* WeaverCommand */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_501 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; + buildConfigurationList = OBJ_478 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; buildPhases = ( - OBJ_504 /* Sources */, - OBJ_508 /* Frameworks */, + OBJ_481 /* Sources */, + OBJ_485 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_520 /* PBXTargetDependency */, - OBJ_521 /* PBXTargetDependency */, - OBJ_522 /* PBXTargetDependency */, - OBJ_523 /* PBXTargetDependency */, - OBJ_524 /* PBXTargetDependency */, - OBJ_525 /* PBXTargetDependency */, - OBJ_526 /* PBXTargetDependency */, - OBJ_527 /* PBXTargetDependency */, - OBJ_528 /* PBXTargetDependency */, - OBJ_529 /* PBXTargetDependency */, - OBJ_530 /* PBXTargetDependency */, + OBJ_496 /* PBXTargetDependency */, + OBJ_497 /* PBXTargetDependency */, + OBJ_498 /* PBXTargetDependency */, + OBJ_499 /* PBXTargetDependency */, + OBJ_500 /* PBXTargetDependency */, + OBJ_501 /* PBXTargetDependency */, + OBJ_502 /* PBXTargetDependency */, + OBJ_503 /* PBXTargetDependency */, + OBJ_504 /* PBXTargetDependency */, + OBJ_505 /* PBXTargetDependency */, ); name = WeaverCommand; productName = WeaverCommand; - productReference = "WeaverDI::WeaverCommand::Product" /* WeaverCommand */; + productReference = "Weaver::WeaverCommand::Product" /* WeaverCommand */; productType = "com.apple.product-type.tool"; }; - "WeaverDI::WeaverDI" /* WeaverDI */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_531 /* Build configuration list for PBXNativeTarget "WeaverDI" */; - buildPhases = ( - OBJ_534 /* Sources */, - OBJ_544 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WeaverDI; - productName = WeaverDI; - productReference = "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */; - productType = "com.apple.product-type.framework"; - }; - "WeaverDI::WeaverDITests" /* WeaverDITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_558 /* Build configuration list for PBXNativeTarget "WeaverDITests" */; - buildPhases = ( - OBJ_561 /* Sources */, - OBJ_567 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - OBJ_569 /* PBXTargetDependency */, - ); - name = WeaverDITests; - productName = WeaverDITests; - productReference = "WeaverDI::WeaverDITests::Product" /* WeaverDITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; "Yams::CYaml" /* CYaml */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_220 /* Build configuration list for PBXNativeTarget "CYaml" */; + buildConfigurationList = OBJ_202 /* Build configuration list for PBXNativeTarget "CYaml" */; buildPhases = ( - OBJ_223 /* Sources */, - OBJ_230 /* Frameworks */, + OBJ_205 /* Sources */, + OBJ_212 /* Frameworks */, ); buildRules = ( ); @@ -1603,9 +1481,9 @@ }; "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_594 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; + buildConfigurationList = OBJ_541 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; buildPhases = ( - OBJ_597 /* Sources */, + OBJ_544 /* Sources */, ); buildRules = ( ); @@ -1617,15 +1495,15 @@ }; "Yams::Yams" /* Yams */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_570 /* Build configuration list for PBXNativeTarget "Yams" */; + buildConfigurationList = OBJ_517 /* Build configuration list for PBXNativeTarget "Yams" */; buildPhases = ( - OBJ_573 /* Sources */, - OBJ_590 /* Frameworks */, + OBJ_520 /* Sources */, + OBJ_537 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_592 /* PBXTargetDependency */, + OBJ_539 /* PBXTargetDependency */, ); name = Yams; productName = Yams; @@ -1640,7 +1518,7 @@ attributes = { LastUpgradeCheck = 9999; }; - buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */; + buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "Weaver" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -1648,7 +1526,7 @@ en, ); mainGroup = OBJ_5 /* */; - productRefGroup = OBJ_204 /* Products */; + productRefGroup = OBJ_188 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -1667,13 +1545,11 @@ "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */, "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */, "StencilSwiftKit::SwiftPMPackageDescription" /* StencilSwiftKitPackageDescription */, - "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */, - "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */, - "WeaverDI::WeaverCommand" /* WeaverCommand */, - "WeaverDI::WeaverDI" /* WeaverDI */, - "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */, - "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */, - "WeaverDI::WeaverDITests" /* WeaverDITests */, + "Weaver::WeaverCodeGen" /* WeaverCodeGen */, + "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */, + "Weaver::WeaverCommand" /* WeaverCommand */, + "Weaver::SwiftPMPackageDescription" /* WeaverPackageDescription */, + "Weaver::WeaverPackageTests::ProductTarget" /* WeaverPackageTests */, "Yams::Yams" /* Yams */, "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */, ); @@ -1681,537 +1557,496 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - OBJ_223 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_224 /* api.c in Sources */, - OBJ_225 /* emitter.c in Sources */, - OBJ_226 /* parser.c in Sources */, - OBJ_227 /* reader.c in Sources */, - OBJ_228 /* scanner.c in Sources */, - OBJ_229 /* writer.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_235 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_236 /* ArgumentConvertible.swift in Sources */, - OBJ_237 /* ArgumentDescription.swift in Sources */, - OBJ_238 /* ArgumentParser.swift in Sources */, - OBJ_239 /* Command.swift in Sources */, - OBJ_240 /* CommandRunner.swift in Sources */, - OBJ_241 /* CommandType.swift in Sources */, - OBJ_242 /* Commands.swift in Sources */, - OBJ_243 /* Error.swift in Sources */, - OBJ_244 /* Group.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_250 /* Sources */ = { + OBJ_205 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_251 /* Package.swift in Sources */, + OBJ_206 /* api.c in Sources */, + OBJ_207 /* emitter.c in Sources */, + OBJ_208 /* parser.c in Sources */, + OBJ_209 /* reader.c in Sources */, + OBJ_210 /* scanner.c in Sources */, + OBJ_211 /* writer.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_256 /* Sources */ = { + OBJ_217 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_257 /* PathKit.swift in Sources */, + OBJ_218 /* ArgumentConvertible.swift in Sources */, + OBJ_219 /* ArgumentDescription.swift in Sources */, + OBJ_220 /* ArgumentParser.swift in Sources */, + OBJ_221 /* Command.swift in Sources */, + OBJ_222 /* CommandRunner.swift in Sources */, + OBJ_223 /* CommandType.swift in Sources */, + OBJ_224 /* Commands.swift in Sources */, + OBJ_225 /* Error.swift in Sources */, + OBJ_226 /* Group.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_263 /* Sources */ = { + OBJ_232 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_264 /* Package.swift in Sources */, + OBJ_233 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_269 /* Sources */ = { + OBJ_238 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_270 /* SWXMLHash+TypeConversion.swift in Sources */, - OBJ_271 /* SWXMLHash.swift in Sources */, - OBJ_272 /* shim.swift in Sources */, + OBJ_239 /* PathKit.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_278 /* Sources */ = { + OBJ_245 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_279 /* Package.swift in Sources */, + OBJ_246 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_284 /* Sources */ = { + OBJ_251 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_285 /* Clang+SourceKitten.swift in Sources */, - OBJ_286 /* ClangTranslationUnit.swift in Sources */, - OBJ_287 /* CodeCompletionItem.swift in Sources */, - OBJ_288 /* Dictionary+Merge.swift in Sources */, - OBJ_289 /* Documentation.swift in Sources */, - OBJ_290 /* File.swift in Sources */, - OBJ_291 /* JSONOutput.swift in Sources */, - OBJ_292 /* Language.swift in Sources */, - OBJ_293 /* LinuxCompatibility.swift in Sources */, - OBJ_294 /* Module.swift in Sources */, - OBJ_295 /* ObjCDeclarationKind.swift in Sources */, - OBJ_296 /* OffsetMap.swift in Sources */, - OBJ_297 /* Parameter.swift in Sources */, - OBJ_298 /* Request.swift in Sources */, - OBJ_299 /* SourceDeclaration.swift in Sources */, - OBJ_300 /* SourceKitObject.swift in Sources */, - OBJ_301 /* SourceLocation.swift in Sources */, - OBJ_302 /* StatementKind.swift in Sources */, - OBJ_303 /* String+SourceKitten.swift in Sources */, - OBJ_304 /* Structure.swift in Sources */, - OBJ_305 /* SwiftDeclarationAttributeKind.swift in Sources */, - OBJ_306 /* SwiftDeclarationKind.swift in Sources */, - OBJ_307 /* SwiftDocKey.swift in Sources */, - OBJ_308 /* SwiftDocs.swift in Sources */, - OBJ_309 /* SyntaxKind.swift in Sources */, - OBJ_310 /* SyntaxMap.swift in Sources */, - OBJ_311 /* SyntaxToken.swift in Sources */, - OBJ_312 /* Text.swift in Sources */, - OBJ_313 /* UID.swift in Sources */, - OBJ_314 /* Version.swift in Sources */, - OBJ_315 /* Xcode.swift in Sources */, - OBJ_316 /* library_wrapper.swift in Sources */, - OBJ_317 /* library_wrapper_CXString.swift in Sources */, - OBJ_318 /* library_wrapper_Documentation.swift in Sources */, - OBJ_319 /* library_wrapper_Index.swift in Sources */, - OBJ_320 /* library_wrapper_sourcekitd.swift in Sources */, - OBJ_321 /* shim.swift in Sources */, + OBJ_252 /* SWXMLHash+TypeConversion.swift in Sources */, + OBJ_253 /* SWXMLHash.swift in Sources */, + OBJ_254 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_334 /* Sources */ = { + OBJ_260 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_335 /* Package.swift in Sources */, + OBJ_261 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_340 /* Sources */ = { + OBJ_266 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_341 /* Case.swift in Sources */, - OBJ_342 /* Context.swift in Sources */, - OBJ_343 /* Expectation.swift in Sources */, - OBJ_344 /* Failure.swift in Sources */, - OBJ_345 /* Global.swift in Sources */, - OBJ_346 /* GlobalContext.swift in Sources */, - OBJ_347 /* Reporter.swift in Sources */, - OBJ_348 /* Reporters.swift in Sources */, + OBJ_267 /* Clang+SourceKitten.swift in Sources */, + OBJ_268 /* ClangTranslationUnit.swift in Sources */, + OBJ_269 /* CodeCompletionItem.swift in Sources */, + OBJ_270 /* Dictionary+Merge.swift in Sources */, + OBJ_271 /* Documentation.swift in Sources */, + OBJ_272 /* File.swift in Sources */, + OBJ_273 /* JSONOutput.swift in Sources */, + OBJ_274 /* Language.swift in Sources */, + OBJ_275 /* LinuxCompatibility.swift in Sources */, + OBJ_276 /* Module.swift in Sources */, + OBJ_277 /* ObjCDeclarationKind.swift in Sources */, + OBJ_278 /* OffsetMap.swift in Sources */, + OBJ_279 /* Parameter.swift in Sources */, + OBJ_280 /* Request.swift in Sources */, + OBJ_281 /* SourceDeclaration.swift in Sources */, + OBJ_282 /* SourceKitObject.swift in Sources */, + OBJ_283 /* SourceLocation.swift in Sources */, + OBJ_284 /* StatementKind.swift in Sources */, + OBJ_285 /* String+SourceKitten.swift in Sources */, + OBJ_286 /* Structure.swift in Sources */, + OBJ_287 /* SwiftDeclarationAttributeKind.swift in Sources */, + OBJ_288 /* SwiftDeclarationKind.swift in Sources */, + OBJ_289 /* SwiftDocKey.swift in Sources */, + OBJ_290 /* SwiftDocs.swift in Sources */, + OBJ_291 /* SyntaxKind.swift in Sources */, + OBJ_292 /* SyntaxMap.swift in Sources */, + OBJ_293 /* SyntaxToken.swift in Sources */, + OBJ_294 /* Text.swift in Sources */, + OBJ_295 /* UID.swift in Sources */, + OBJ_296 /* Version.swift in Sources */, + OBJ_297 /* Xcode.swift in Sources */, + OBJ_298 /* library_wrapper.swift in Sources */, + OBJ_299 /* library_wrapper_CXString.swift in Sources */, + OBJ_300 /* library_wrapper_Documentation.swift in Sources */, + OBJ_301 /* library_wrapper_Index.swift in Sources */, + OBJ_302 /* library_wrapper_sourcekitd.swift in Sources */, + OBJ_303 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_354 /* Sources */ = { + OBJ_316 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_355 /* Package.swift in Sources */, + OBJ_317 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_360 /* Sources */ = { + OBJ_322 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_361 /* Context.swift in Sources */, - OBJ_362 /* Environment.swift in Sources */, - OBJ_363 /* Errors.swift in Sources */, - OBJ_364 /* Expression.swift in Sources */, - OBJ_365 /* Extension.swift in Sources */, - OBJ_366 /* FilterTag.swift in Sources */, - OBJ_367 /* Filters.swift in Sources */, - OBJ_368 /* ForTag.swift in Sources */, - OBJ_369 /* IfTag.swift in Sources */, - OBJ_370 /* Include.swift in Sources */, - OBJ_371 /* Inheritence.swift in Sources */, - OBJ_372 /* Lexer.swift in Sources */, - OBJ_373 /* Loader.swift in Sources */, - OBJ_374 /* Node.swift in Sources */, - OBJ_375 /* NowTag.swift in Sources */, - OBJ_376 /* Parser.swift in Sources */, - OBJ_377 /* Template.swift in Sources */, - OBJ_378 /* Tokenizer.swift in Sources */, - OBJ_379 /* Variable.swift in Sources */, + OBJ_323 /* Case.swift in Sources */, + OBJ_324 /* Context.swift in Sources */, + OBJ_325 /* Expectation.swift in Sources */, + OBJ_326 /* Failure.swift in Sources */, + OBJ_327 /* Global.swift in Sources */, + OBJ_328 /* GlobalContext.swift in Sources */, + OBJ_329 /* Reporter.swift in Sources */, + OBJ_330 /* Reporters.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_389 /* Sources */ = { + OBJ_336 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_390 /* Package.swift in Sources */, + OBJ_337 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_395 /* Sources */ = { + OBJ_342 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_396 /* CallMacroNodes.swift in Sources */, - OBJ_397 /* Context.swift in Sources */, - OBJ_398 /* Environment.swift in Sources */, - OBJ_399 /* Filters+Numbers.swift in Sources */, - OBJ_400 /* Filters+Strings.swift in Sources */, - OBJ_401 /* Filters.swift in Sources */, - OBJ_402 /* MapNode.swift in Sources */, - OBJ_403 /* Parameters.swift in Sources */, - OBJ_404 /* SetNode.swift in Sources */, - OBJ_405 /* StencilSwiftTemplate.swift in Sources */, - OBJ_406 /* SwiftIdentifier.swift in Sources */, + OBJ_343 /* Context.swift in Sources */, + OBJ_344 /* Environment.swift in Sources */, + OBJ_345 /* Errors.swift in Sources */, + OBJ_346 /* Expression.swift in Sources */, + OBJ_347 /* Extension.swift in Sources */, + OBJ_348 /* FilterTag.swift in Sources */, + OBJ_349 /* Filters.swift in Sources */, + OBJ_350 /* ForTag.swift in Sources */, + OBJ_351 /* IfTag.swift in Sources */, + OBJ_352 /* Include.swift in Sources */, + OBJ_353 /* Inheritence.swift in Sources */, + OBJ_354 /* Lexer.swift in Sources */, + OBJ_355 /* Loader.swift in Sources */, + OBJ_356 /* Node.swift in Sources */, + OBJ_357 /* NowTag.swift in Sources */, + OBJ_358 /* Parser.swift in Sources */, + OBJ_359 /* Template.swift in Sources */, + OBJ_360 /* Tokenizer.swift in Sources */, + OBJ_361 /* Variable.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_418 /* Sources */ = { + OBJ_371 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_419 /* Package.swift in Sources */, + OBJ_372 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_424 /* Sources */ = { + OBJ_377 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_425 /* AccessLevel.swift in Sources */, - OBJ_426 /* AutoEquatable.generated.swift in Sources */, - OBJ_427 /* AutoHashable.generated.swift in Sources */, - OBJ_428 /* AutoTypes.swift in Sources */, - OBJ_429 /* Configuration.swift in Sources */, - OBJ_430 /* ConfigurationAttribute.swift in Sources */, - OBJ_431 /* Error.swift in Sources */, - OBJ_432 /* Expr.swift in Sources */, - OBJ_433 /* Generator.swift in Sources */, - OBJ_434 /* Graph.swift in Sources */, - OBJ_435 /* Inspector.swift in Sources */, - OBJ_436 /* Lexer.swift in Sources */, - OBJ_437 /* Linker.swift in Sources */, - OBJ_438 /* OrderedDictionary.swift in Sources */, - OBJ_439 /* Parser.swift in Sources */, - OBJ_440 /* RegexUtils.swift in Sources */, - OBJ_441 /* Scope.swift in Sources */, - OBJ_442 /* SourceKitDeclaration.swift in Sources */, - OBJ_443 /* Token.swift in Sources */, - OBJ_444 /* Type.swift in Sources */, - OBJ_445 /* shim-swift-4.1.swift in Sources */, + OBJ_378 /* CallMacroNodes.swift in Sources */, + OBJ_379 /* Context.swift in Sources */, + OBJ_380 /* Environment.swift in Sources */, + OBJ_381 /* Filters+Numbers.swift in Sources */, + OBJ_382 /* Filters+Strings.swift in Sources */, + OBJ_383 /* Filters.swift in Sources */, + OBJ_384 /* MapNode.swift in Sources */, + OBJ_385 /* Parameters.swift in Sources */, + OBJ_386 /* SetNode.swift in Sources */, + OBJ_387 /* StencilSwiftTemplate.swift in Sources */, + OBJ_388 /* SwiftIdentifier.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_470 /* Sources */ = { + OBJ_400 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_471 /* ConfigurationAttributeTests.swift in Sources */, - OBJ_472 /* ErrorTests.swift in Sources */, - OBJ_473 /* GeneratorTests.swift in Sources */, - OBJ_474 /* InspectorTests.swift in Sources */, - OBJ_475 /* LexerTests.swift in Sources */, - OBJ_476 /* ParserTests.swift in Sources */, - OBJ_477 /* SourceKitDeclarationTests.swift in Sources */, - OBJ_478 /* TypeTests.swift in Sources */, + OBJ_401 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_504 /* Sources */ = { + OBJ_406 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_505 /* Arguments.swift in Sources */, - OBJ_506 /* Logger.swift in Sources */, - OBJ_507 /* main.swift in Sources */, + OBJ_407 /* AccessLevel.swift in Sources */, + OBJ_408 /* AutoEquatable.generated.swift in Sources */, + OBJ_409 /* AutoHashable.generated.swift in Sources */, + OBJ_410 /* AutoTypes.swift in Sources */, + OBJ_411 /* Configuration.swift in Sources */, + OBJ_412 /* ConfigurationAttribute.swift in Sources */, + OBJ_413 /* Error.swift in Sources */, + OBJ_414 /* Expr.swift in Sources */, + OBJ_415 /* Generator.swift in Sources */, + OBJ_416 /* Graph.swift in Sources */, + OBJ_417 /* Inspector.swift in Sources */, + OBJ_418 /* Lexer.swift in Sources */, + OBJ_419 /* Linker.swift in Sources */, + OBJ_420 /* OrderedDictionary.swift in Sources */, + OBJ_421 /* Parser.swift in Sources */, + OBJ_422 /* RegexUtils.swift in Sources */, + OBJ_423 /* Scope.swift in Sources */, + OBJ_424 /* SourceKitDeclaration.swift in Sources */, + OBJ_425 /* Token.swift in Sources */, + OBJ_426 /* Type.swift in Sources */, + OBJ_427 /* shim-swift-4.1.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_534 /* Sources */ = { + OBJ_449 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 196398372107EAE900E818FD /* Scope.swift in Sources */, - OBJ_542 /* Instance.swift in Sources */, + OBJ_450 /* ConfigurationAttributeTests.swift in Sources */, + OBJ_451 /* ErrorTests.swift in Sources */, + OBJ_452 /* GeneratorTests.swift in Sources */, + OBJ_453 /* InspectorTests.swift in Sources */, + OBJ_454 /* LexerTests.swift in Sources */, + OBJ_455 /* ParserTests.swift in Sources */, + OBJ_456 /* SourceKitDeclarationTests.swift in Sources */, + OBJ_457 /* TypeTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_549 /* Sources */ = { + OBJ_481 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_550 /* Package.swift in Sources */, + OBJ_482 /* Arguments.swift in Sources */, + OBJ_483 /* Logger.swift in Sources */, + OBJ_484 /* main.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_561 /* Sources */ = { + OBJ_510 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( + OBJ_511 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_573 /* Sources */ = { + OBJ_520 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_574 /* Constructor.swift in Sources */, - OBJ_575 /* Decoder.swift in Sources */, - OBJ_576 /* Emitter.swift in Sources */, - OBJ_577 /* Encoder.swift in Sources */, - OBJ_578 /* Mark.swift in Sources */, - OBJ_579 /* Node.Mapping.swift in Sources */, - OBJ_580 /* Node.Scalar.swift in Sources */, - OBJ_581 /* Node.Sequence.swift in Sources */, - OBJ_582 /* Node.swift in Sources */, - OBJ_583 /* Parser.swift in Sources */, - OBJ_584 /* Representer.swift in Sources */, - OBJ_585 /* Resolver.swift in Sources */, - OBJ_586 /* String+Yams.swift in Sources */, - OBJ_587 /* Tag.swift in Sources */, - OBJ_588 /* YamlError.swift in Sources */, - OBJ_589 /* shim.swift in Sources */, + OBJ_521 /* Constructor.swift in Sources */, + OBJ_522 /* Decoder.swift in Sources */, + OBJ_523 /* Emitter.swift in Sources */, + OBJ_524 /* Encoder.swift in Sources */, + OBJ_525 /* Mark.swift in Sources */, + OBJ_526 /* Node.Mapping.swift in Sources */, + OBJ_527 /* Node.Scalar.swift in Sources */, + OBJ_528 /* Node.Sequence.swift in Sources */, + OBJ_529 /* Node.swift in Sources */, + OBJ_530 /* Parser.swift in Sources */, + OBJ_531 /* Representer.swift in Sources */, + OBJ_532 /* Resolver.swift in Sources */, + OBJ_533 /* String+Yams.swift in Sources */, + OBJ_534 /* Tag.swift in Sources */, + OBJ_535 /* YamlError.swift in Sources */, + OBJ_536 /* shim.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - OBJ_597 /* Sources */ = { + OBJ_544 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_598 /* Package.swift in Sources */, + OBJ_545 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - OBJ_326 /* PBXTargetDependency */ = { + OBJ_308 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 19639816210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398462109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_328 /* PBXTargetDependency */ = { + OBJ_310 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 19639818210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398472109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_329 /* PBXTargetDependency */ = { + OBJ_311 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 19639819210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398482109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_383 /* PBXTargetDependency */ = { + OBJ_365 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 1963980E210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963983E2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_384 /* PBXTargetDependency */ = { + OBJ_366 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 1963980F210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963983F2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_411 /* PBXTargetDependency */ = { + OBJ_393 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 1963980D210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963983D2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_412 /* PBXTargetDependency */ = { + OBJ_394 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 19639810210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398402109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_413 /* PBXTargetDependency */ = { + OBJ_395 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 19639811210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398412109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_456 /* PBXTargetDependency */ = { + OBJ_437 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; - targetProxy = 1963980C210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963983C2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_457 /* PBXTargetDependency */ = { + OBJ_438 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 19639812210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398422109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_458 /* PBXTargetDependency */ = { + OBJ_439 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 19639813210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398432109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_459 /* PBXTargetDependency */ = { + OBJ_440 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 19639814210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398442109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_460 /* PBXTargetDependency */ = { + OBJ_441 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 19639815210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398452109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_461 /* PBXTargetDependency */ = { + OBJ_442 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 1963981A210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398492109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_462 /* PBXTargetDependency */ = { + OBJ_443 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 1963981B210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984A2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_463 /* PBXTargetDependency */ = { + OBJ_444 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 1963981C210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984B2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_464 /* PBXTargetDependency */ = { + OBJ_468 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 1963981D210781EF00E818FD /* PBXContainerItemProxy */; + target = "Weaver::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 196398542109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_490 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 1963980B210781EF00E818FD /* PBXContainerItemProxy */; - }; - OBJ_491 /* PBXTargetDependency */ = { + OBJ_469 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; - targetProxy = 1963981E210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398552109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_492 /* PBXTargetDependency */ = { + OBJ_470 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 1963981F210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398562109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_493 /* PBXTargetDependency */ = { + OBJ_471 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 19639820210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398572109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_494 /* PBXTargetDependency */ = { + OBJ_472 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 19639821210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398582109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_495 /* PBXTargetDependency */ = { + OBJ_473 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 19639822210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398592109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_496 /* PBXTargetDependency */ = { + OBJ_474 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 19639823210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963985A2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_497 /* PBXTargetDependency */ = { + OBJ_475 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 19639824210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963985B2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_498 /* PBXTargetDependency */ = { + OBJ_476 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 19639825210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 1963985C2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_499 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 19639826210781EF00E818FD /* PBXContainerItemProxy */; - }; - OBJ_520 /* PBXTargetDependency */ = { + OBJ_496 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Commander::Commander" /* Commander */; - targetProxy = 19639828210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 1963983A2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_521 /* PBXTargetDependency */ = { + OBJ_497 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 19639829210781F000E818FD /* PBXContainerItemProxy */; + target = "Weaver::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 1963983B2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_522 /* PBXTargetDependency */ = { + OBJ_498 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; - targetProxy = 1963982A210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984C2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_523 /* PBXTargetDependency */ = { + OBJ_499 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Stencil::Stencil" /* Stencil */; - targetProxy = 1963982B210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984D2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_524 /* PBXTargetDependency */ = { + OBJ_500 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Spectre::Spectre" /* Spectre */; - targetProxy = 1963982C210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984E2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_525 /* PBXTargetDependency */ = { + OBJ_501 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "PathKit::PathKit" /* PathKit */; - targetProxy = 1963982D210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 1963984F2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_526 /* PBXTargetDependency */ = { + OBJ_502 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 1963982E210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 196398502109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_527 /* PBXTargetDependency */ = { + OBJ_503 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::Yams" /* Yams */; - targetProxy = 1963982F210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 196398512109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_528 /* PBXTargetDependency */ = { + OBJ_504 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 19639830210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 196398522109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_529 /* PBXTargetDependency */ = { + OBJ_505 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 19639831210781F000E818FD /* PBXContainerItemProxy */; + targetProxy = 196398532109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_530 /* PBXTargetDependency */ = { + OBJ_516 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 19639832210781F000E818FD /* PBXContainerItemProxy */; + target = "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */; + targetProxy = 1963985D2109757700E818FD /* PBXContainerItemProxy */; }; - OBJ_555 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDITests" /* WeaverDITests */; - targetProxy = 19639833210781F000E818FD /* PBXContainerItemProxy */; - }; - OBJ_557 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */; - targetProxy = 19639834210781F000E818FD /* PBXContainerItemProxy */; - }; - OBJ_569 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 19639827210781EF00E818FD /* PBXContainerItemProxy */; - }; - OBJ_592 /* PBXTargetDependency */ = { + OBJ_539 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = "Yams::CYaml" /* CYaml */; - targetProxy = 19639817210781EF00E818FD /* PBXContainerItemProxy */; + targetProxy = 196398392109757700E818FD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - OBJ_221 /* Debug */ = { + OBJ_203 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2224,7 +2059,7 @@ "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/CYaml_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2237,7 +2072,7 @@ }; name = Debug; }; - OBJ_222 /* Release */ = { + OBJ_204 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { DEFINES_MODULE = NO; @@ -2250,7 +2085,7 @@ "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/CYaml_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/CYaml_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2263,7 +2098,7 @@ }; name = Release; }; - OBJ_233 /* Debug */ = { + OBJ_215 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2272,7 +2107,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Commander_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2286,7 +2121,7 @@ }; name = Debug; }; - OBJ_234 /* Release */ = { + OBJ_216 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2295,7 +2130,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Commander_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Commander_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2309,7 +2144,7 @@ }; name = Release; }; - OBJ_248 /* Debug */ = { + OBJ_230 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2318,7 +2153,7 @@ }; name = Debug; }; - OBJ_249 /* Release */ = { + OBJ_231 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2327,7 +2162,7 @@ }; name = Release; }; - OBJ_254 /* Debug */ = { + OBJ_236 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2336,7 +2171,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/PathKit_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2350,7 +2185,7 @@ }; name = Debug; }; - OBJ_255 /* Release */ = { + OBJ_237 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2359,7 +2194,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/PathKit_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/PathKit_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2373,7 +2208,7 @@ }; name = Release; }; - OBJ_261 /* Debug */ = { + OBJ_243 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2382,7 +2217,7 @@ }; name = Debug; }; - OBJ_262 /* Release */ = { + OBJ_244 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2391,7 +2226,7 @@ }; name = Release; }; - OBJ_267 /* Debug */ = { + OBJ_249 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2400,7 +2235,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/SWXMLHash_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2414,7 +2249,7 @@ }; name = Debug; }; - OBJ_268 /* Release */ = { + OBJ_250 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2423,7 +2258,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/SWXMLHash_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/SWXMLHash_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2437,7 +2272,7 @@ }; name = Release; }; - OBJ_276 /* Debug */ = { + OBJ_258 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2446,7 +2281,7 @@ }; name = Debug; }; - OBJ_277 /* Release */ = { + OBJ_259 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2455,7 +2290,7 @@ }; name = Release; }; - OBJ_282 /* Debug */ = { + OBJ_264 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2468,13 +2303,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/SourceKittenFramework_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2484,7 +2319,7 @@ }; name = Debug; }; - OBJ_283 /* Release */ = { + OBJ_265 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2497,13 +2332,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/SourceKittenFramework_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/SourceKittenFramework_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = SourceKittenFramework; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2535,7 +2370,7 @@ }; name = Debug; }; - OBJ_332 /* Debug */ = { + OBJ_314 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2544,7 +2379,7 @@ }; name = Debug; }; - OBJ_333 /* Release */ = { + OBJ_315 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2553,7 +2388,7 @@ }; name = Release; }; - OBJ_338 /* Debug */ = { + OBJ_320 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2562,7 +2397,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Spectre_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2576,7 +2411,7 @@ }; name = Debug; }; - OBJ_339 /* Release */ = { + OBJ_321 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2585,7 +2420,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Spectre_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Spectre_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2599,7 +2434,7 @@ }; name = Release; }; - OBJ_352 /* Debug */ = { + OBJ_334 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2608,7 +2443,7 @@ }; name = Debug; }; - OBJ_353 /* Release */ = { + OBJ_335 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2617,7 +2452,7 @@ }; name = Release; }; - OBJ_358 /* Debug */ = { + OBJ_340 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2626,7 +2461,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Stencil_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2640,7 +2475,7 @@ }; name = Debug; }; - OBJ_359 /* Release */ = { + OBJ_341 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2649,7 +2484,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Stencil_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2663,7 +2498,7 @@ }; name = Release; }; - OBJ_387 /* Debug */ = { + OBJ_369 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2672,7 +2507,7 @@ }; name = Debug; }; - OBJ_388 /* Release */ = { + OBJ_370 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2681,7 +2516,7 @@ }; name = Release; }; - OBJ_393 /* Debug */ = { + OBJ_375 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2690,7 +2525,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/StencilSwiftKit_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/StencilSwiftKit_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2704,7 +2539,7 @@ }; name = Debug; }; - OBJ_394 /* Release */ = { + OBJ_376 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2713,7 +2548,7 @@ "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/StencilSwiftKit_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/StencilSwiftKit_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; @@ -2727,6 +2562,24 @@ }; name = Release; }; + OBJ_398 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + OBJ_399 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD = /usr/bin/true; + OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; OBJ_4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2747,25 +2600,7 @@ }; name = Release; }; - OBJ_416 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - OBJ_417 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD = /usr/bin/true; - OTHER_SWIFT_FLAGS = "-swift-version 4 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - OBJ_422 /* Debug */ = { + OBJ_404 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2778,13 +2613,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCodeGen_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2794,7 +2629,7 @@ }; name = Debug; }; - OBJ_423 /* Release */ = { + OBJ_405 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -2807,13 +2642,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGen_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCodeGen_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2823,7 +2658,7 @@ }; name = Release; }; - OBJ_468 /* Debug */ = { + OBJ_447 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2836,19 +2671,19 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCodeGenTests_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; SWIFT_VERSION = 4.0; TARGET_NAME = WeaverCodeGenTests; }; name = Debug; }; - OBJ_469 /* Release */ = { + OBJ_448 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; @@ -2861,19 +2696,19 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCodeGenTests_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCodeGenTests_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; SWIFT_VERSION = 4.0; TARGET_NAME = WeaverCodeGenTests; }; name = Release; }; - OBJ_502 /* Debug */ = { + OBJ_479 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( @@ -2885,13 +2720,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCommand_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; SWIFT_FORCE_STATIC_LINK_STDLIB = NO; SWIFT_VERSION = 4.0; @@ -2899,7 +2734,7 @@ }; name = Debug; }; - OBJ_503 /* Release */ = { + OBJ_480 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( @@ -2911,13 +2746,13 @@ "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverCommand_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/WeaverCommand_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES; SWIFT_FORCE_STATIC_LINK_STDLIB = NO; SWIFT_VERSION = 4.0; @@ -2925,53 +2760,7 @@ }; name = Release; }; - OBJ_532 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_CFLAGS = "$(inherited)"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDI; - }; - name = Debug; - }; - OBJ_533 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDI_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_CFLAGS = "$(inherited)"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverDI; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDI; - }; - name = Release; - }; - OBJ_547 /* Debug */ = { + OBJ_508 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2980,7 +2769,7 @@ }; name = Debug; }; - OBJ_548 /* Release */ = { + OBJ_509 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -2989,57 +2778,19 @@ }; name = Release; }; - OBJ_553 /* Debug */ = { + OBJ_514 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; - OBJ_554 /* Release */ = { + OBJ_515 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; - OBJ_559 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDITests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_CFLAGS = "$(inherited)"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDITests; - }; - name = Debug; - }; - OBJ_560 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/WeaverDITests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_CFLAGS = "$(inherited)"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDITests; - }; - name = Release; - }; - OBJ_571 /* Debug */ = { + OBJ_518 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -3050,13 +2801,13 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Yams_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = Yams; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -3066,7 +2817,7 @@ }; name = Debug; }; - OBJ_572 /* Release */ = { + OBJ_519 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ENABLE_TESTABILITY = YES; @@ -3077,13 +2828,13 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/.build/checkouts/Yams.git-8068124914099325722/Sources/CYaml/include", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; + INFOPLIST_FILE = Weaver.xcodeproj/Yams_Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; PRODUCT_BUNDLE_IDENTIFIER = Yams; PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -3093,7 +2844,7 @@ }; name = Release; }; - OBJ_595 /* Debug */ = { + OBJ_542 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -3102,7 +2853,7 @@ }; name = Debug; }; - OBJ_596 /* Release */ = { + OBJ_543 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -3114,7 +2865,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */ = { + OBJ_2 /* Build configuration list for PBXProject "Weaver" */ = { isa = XCConfigurationList; buildConfigurations = ( OBJ_3 /* Debug */, @@ -3123,218 +2874,200 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_220 /* Build configuration list for PBXNativeTarget "CYaml" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_221 /* Debug */, - OBJ_222 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - OBJ_232 /* Build configuration list for PBXNativeTarget "Commander" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_233 /* Debug */, - OBJ_234 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - OBJ_247 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { + OBJ_202 /* Build configuration list for PBXNativeTarget "CYaml" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_248 /* Debug */, - OBJ_249 /* Release */, + OBJ_203 /* Debug */, + OBJ_204 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_253 /* Build configuration list for PBXNativeTarget "PathKit" */ = { + OBJ_214 /* Build configuration list for PBXNativeTarget "Commander" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_254 /* Debug */, - OBJ_255 /* Release */, + OBJ_215 /* Debug */, + OBJ_216 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_260 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { + OBJ_229 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_261 /* Debug */, - OBJ_262 /* Release */, + OBJ_230 /* Debug */, + OBJ_231 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_266 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { + OBJ_235 /* Build configuration list for PBXNativeTarget "PathKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_267 /* Debug */, - OBJ_268 /* Release */, + OBJ_236 /* Debug */, + OBJ_237 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_275 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { + OBJ_242 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_276 /* Debug */, - OBJ_277 /* Release */, + OBJ_243 /* Debug */, + OBJ_244 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_281 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { + OBJ_248 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_282 /* Debug */, - OBJ_283 /* Release */, + OBJ_249 /* Debug */, + OBJ_250 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_331 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { + OBJ_257 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_332 /* Debug */, - OBJ_333 /* Release */, + OBJ_258 /* Debug */, + OBJ_259 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_337 /* Build configuration list for PBXNativeTarget "Spectre" */ = { + OBJ_263 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_338 /* Debug */, - OBJ_339 /* Release */, + OBJ_264 /* Debug */, + OBJ_265 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_351 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { + OBJ_313 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_352 /* Debug */, - OBJ_353 /* Release */, + OBJ_314 /* Debug */, + OBJ_315 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_357 /* Build configuration list for PBXNativeTarget "Stencil" */ = { + OBJ_319 /* Build configuration list for PBXNativeTarget "Spectre" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_358 /* Debug */, - OBJ_359 /* Release */, + OBJ_320 /* Debug */, + OBJ_321 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_386 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { + OBJ_333 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_387 /* Debug */, - OBJ_388 /* Release */, + OBJ_334 /* Debug */, + OBJ_335 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_392 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */ = { + OBJ_339 /* Build configuration list for PBXNativeTarget "Stencil" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_393 /* Debug */, - OBJ_394 /* Release */, + OBJ_340 /* Debug */, + OBJ_341 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_415 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */ = { + OBJ_368 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_416 /* Debug */, - OBJ_417 /* Release */, + OBJ_369 /* Debug */, + OBJ_370 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_421 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { + OBJ_374 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_422 /* Debug */, - OBJ_423 /* Release */, + OBJ_375 /* Debug */, + OBJ_376 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_467 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { + OBJ_397 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_468 /* Debug */, - OBJ_469 /* Release */, + OBJ_398 /* Debug */, + OBJ_399 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_501 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { + OBJ_403 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_502 /* Debug */, - OBJ_503 /* Release */, + OBJ_404 /* Debug */, + OBJ_405 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_531 /* Build configuration list for PBXNativeTarget "WeaverDI" */ = { + OBJ_446 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_532 /* Debug */, - OBJ_533 /* Release */, + OBJ_447 /* Debug */, + OBJ_448 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_546 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */ = { + OBJ_478 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_547 /* Debug */, - OBJ_548 /* Release */, + OBJ_479 /* Debug */, + OBJ_480 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_552 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */ = { + OBJ_507 /* Build configuration list for PBXNativeTarget "WeaverPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_553 /* Debug */, - OBJ_554 /* Release */, + OBJ_508 /* Debug */, + OBJ_509 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_558 /* Build configuration list for PBXNativeTarget "WeaverDITests" */ = { + OBJ_513 /* Build configuration list for PBXAggregateTarget "WeaverPackageTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_559 /* Debug */, - OBJ_560 /* Release */, + OBJ_514 /* Debug */, + OBJ_515 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_570 /* Build configuration list for PBXNativeTarget "Yams" */ = { + OBJ_517 /* Build configuration list for PBXNativeTarget "Yams" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_571 /* Debug */, - OBJ_572 /* Release */, + OBJ_518 /* Debug */, + OBJ_519 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_594 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { + OBJ_541 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_595 /* Debug */, - OBJ_596 /* Release */, + OBJ_542 /* Debug */, + OBJ_543 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/WeaverDI.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Weaver.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from WeaverDI.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Weaver.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Sample/Sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Weaver.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Sample/Sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Weaver.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI.xcscheme b/Weaver.xcodeproj/xcshareddata/xcschemes/WeaverCodeGen.xcscheme similarity index 68% rename from WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI.xcscheme rename to Weaver.xcodeproj/xcshareddata/xcschemes/WeaverCodeGen.xcscheme index d37eb314..f67b77ec 100644 --- a/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI.xcscheme +++ b/Weaver.xcodeproj/xcshareddata/xcschemes/WeaverCodeGen.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "Weaver::WeaverCodeGen" + BuildableName = "WeaverCodeGen.framework" + BlueprintName = "WeaverCodeGen" + ReferencedContainer = "container:Weaver.xcodeproj"> @@ -26,27 +26,26 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" shouldUseLaunchSchemeArgsEnv = "YES"> + BlueprintIdentifier = "Weaver::WeaverCodeGenTests" + BuildableName = "WeaverCodeGenTests.xctest" + BlueprintName = "WeaverCodeGenTests" + ReferencedContainer = "container:Weaver.xcodeproj"> + BlueprintIdentifier = "Weaver::WeaverCodeGen" + BuildableName = "WeaverCodeGen.framework" + BlueprintName = "WeaverCodeGen" + ReferencedContainer = "container:Weaver.xcodeproj"> @@ -56,7 +55,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -66,10 +64,10 @@ + BlueprintIdentifier = "Weaver::WeaverCodeGen" + BuildableName = "WeaverCodeGen.framework" + BlueprintName = "WeaverCodeGen" + ReferencedContainer = "container:Weaver.xcodeproj"> @@ -84,10 +82,10 @@ + BlueprintIdentifier = "Weaver::WeaverCodeGen" + BuildableName = "WeaverCodeGen.framework" + BlueprintName = "WeaverCodeGen" + ReferencedContainer = "container:Weaver.xcodeproj"> diff --git a/WeaverDI.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist b/Weaver.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist similarity index 83% rename from WeaverDI.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist rename to Weaver.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist index 0d200b2f..c462b8bd 100644 --- a/WeaverDI.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist +++ b/Weaver.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist @@ -3,7 +3,7 @@ SchemeUserState - WeaverDI-Package.xcscheme + Weaver-Package.xcscheme SuppressBuildableAutocreation diff --git a/WeaverDI.podspec b/WeaverDI.podspec deleted file mode 100644 index e6f17fd9..00000000 --- a/WeaverDI.podspec +++ /dev/null @@ -1,15 +0,0 @@ -Pod::Spec.new do |s| - s.name = "WeaverDI" - s.version = "0.9.13" - s.swift_version = "4.1" - s.summary = "Declarative, easy-to-use and safe Dependency Injection framework for Swift (iOS/macOS/Linux)" - s.homepage = "https://github.com/scribd/Weaver" - s.license = { :type => "MIT", :file => "LICENSE" } - s.authors = { "Theophane Rupin" => "theo@scribd.com" } - s.source = { :git => "https://github.com/scribd/Weaver.git", :tag => "#{s.version}" } - - s.ios.deployment_target = "9.0" - s.osx.deployment_target = "10.10" - - s.source_files = "Sources/WeaverDI/**/*.swift" -end diff --git a/WeaverDI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/WeaverDI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/WeaverDI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/WeaverDI.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme b/WeaverDI.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme deleted file mode 100644 index f83e6df5..00000000 --- a/WeaverDI.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme b/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme deleted file mode 100644 index 4592ad13..00000000 --- a/WeaverDI.xcodeproj/xcshareddata/xcschemes/WeaverDI-Package.xcscheme +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tools/bump_version.sh b/tools/bump_version.sh index 6ff92603..0f6bce7d 100755 --- a/tools/bump_version.sh +++ b/tools/bump_version.sh @@ -1,4 +1,4 @@ -current_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" WeaverDI.xcodeproj/WeaverCodeGen_Info.plist` +current_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Weaver.xcodeproj/WeaverCodeGen_Info.plist` next_version=$1 if [ -z $next_version ]; then @@ -8,9 +8,7 @@ fi echo $next_version sed -i '' "s/${current_version//./\\.}/$next_version/g" \ -WeaverDI.xcodeproj/WeaverDI_Info.plist \ -WeaverDI.xcodeproj/WeaverCodeGen_Info.plist \ -WeaverDI.podspec \ +Weaver.xcodeproj/WeaverCodeGen_Info.plist \ Resources/dependency_resolver.stencil \ Tests/WeaverCodeGenTests/GeneratorTests.swift \ Sources/WeaverCommand/main.swift diff --git a/tools/check_carthage.sh b/tools/check_carthage.sh deleted file mode 100755 index 55d34b03..00000000 --- a/tools/check_carthage.sh +++ /dev/null @@ -1,13 +0,0 @@ -TEST_DIR="/tmp/weaver_carthage_check" -BRANCH=`git rev-parse HEAD` - -rm -rf $TEST_DIR -mkdir -p $TEST_DIR -cd $TEST_DIR - -echo "github \"scribd/Weaver\" \"$BRANCH\"" >> Cartfile -echo "" >> Cartfile - -carthage bootstrap - -rm -rf $TEST_DIR \ No newline at end of file From d5cd97c2d509b0caff3c748951fad1847025716a Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 20:43:03 -0700 Subject: [PATCH 07/12] [#55] Fixed tests --- Tests/WeaverCodeGenTests/GeneratorTests.swift | 150 +++++++++--------- 1 file changed, 77 insertions(+), 73 deletions(-) diff --git a/Tests/WeaverCodeGenTests/GeneratorTests.swift b/Tests/WeaverCodeGenTests/GeneratorTests.swift index 39b41351..36b7d603 100644 --- a/Tests/WeaverCodeGenTests/GeneratorTests.swift +++ b/Tests/WeaverCodeGenTests/GeneratorTests.swift @@ -70,20 +70,20 @@ final class Manager { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - Logger protocol LoggerDependencyResolver { var logEngine: LogEngine { get } } final class LoggerDependencyContainer: LoggerDependencyResolver { + private var _logEngine: LogEngine? var logEngine: LogEngine { - return logEngineRef.value - } - private lazy var logEngineRef = Instance(scope: .graph) { [unowned self] in - return LogEngine() + if let value = _logEngine { return value } + let value = LogEngine() + _logEngine = value + return value } init() { - _ = logEngineRef.value + _ = logEngine } } // MARK: - Manager @@ -91,14 +91,15 @@ protocol ManagerDependencyResolver { var logger: Logger { get } } final class ManagerDependencyContainer: ManagerDependencyResolver { + private var _logger: Logger? var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } init() { - _ = loggerRef.value + _ = logger } } extension ManagerDependencyContainer: LoggerInputDependencyResolver {} @@ -138,7 +139,6 @@ final class PersonManager: PersonManaging { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - PersonManager protocol PersonManagerInputDependencyResolver { var movieAPI: APIProtocol { get } @@ -149,15 +149,16 @@ protocol PersonManagerDependencyResolver { } final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { let movieAPI: APIProtocol + private var _logger: Logger? var logger: Logger { - return loggerRef.value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in - return Logger() + if let value = _logger { return value } + let value = Logger() + _logger = value + return value } init(injecting dependencies: PersonManagerInputDependencyResolver) { movieAPI = dependencies.movieAPI - _ = loggerRef.value + _ = logger } } protocol PersonManagerDependencyInjectable { @@ -195,21 +196,21 @@ final class PersonManager: PersonManaging { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - PersonManager protocol PersonManagerDependencyResolver { var movieAPI: APIProtocol { get } func movieAPICustomRef() -> APIProtocol } final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { + private var _movieAPI: APIProtocol? var movieAPI: APIProtocol { - return movieAPIRef.value - } - private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in - return self.movieAPICustomRef() + if let value = _movieAPI { return value } + let value = movieAPICustomRef() + _movieAPI = value + return value } init() { - _ = movieAPIRef.value + _ = movieAPI } } """ @@ -248,7 +249,6 @@ final class PersonManager: PersonManaging { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - MovieAPI protocol MovieAPIDependencyResolver { var host: String { get } @@ -268,14 +268,15 @@ protocol PersonManagerDependencyResolver { func movieAPICustomRef() -> APIProtocol } final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { - var movieAPI: APIProtocol { - return movieAPIRef.value - } - private lazy var movieAPIRef = Instance(scope: .graph) { [unowned self] in - return self.movieAPICustomRef() + private var _movieAPI: APIProtocol? + func movieAPI(host: String) -> APIProtocol { + if let value = _movieAPI { return value } + let value = movieAPICustomRef() + _movieAPI = value + return value } init() { - _ = movieAPIRef.value + _ = movieAPI(host: host) } } extension PersonManagerDependencyContainer: MovieAPIInputDependencyResolver {} @@ -316,20 +317,20 @@ final class MyService { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - MyService protocol MyServiceDependencyResolver { var session: Session { get } } final class MyServiceDependencyContainer: MyServiceDependencyResolver { + private var _session: Session? var session: Session { - return sessionRef.value - } - private lazy var sessionRef = Instance(scope: .graph) { [unowned self] in - return Session() + if let value = _session { return value } + let value = Session() + _session = value + return value } init() { - _ = sessionRef.value + _ = session } } // MARK: - MyEmbeddedService @@ -337,14 +338,15 @@ protocol MyEmbeddedServiceDependencyResolver { var session: SessionProtocol? { get } } final class MyEmbeddedServiceDependencyContainer: MyEmbeddedServiceDependencyResolver { + private var _session: SessionProtocol?? var session: SessionProtocol? { - return sessionRef.value - } - private lazy var sessionRef = Instance(scope: .container) { [unowned self] in - return Session?() + if let value = _session { return value } + let value = Session?() + _session = value + return value } init() { - _ = sessionRef.value + _ = session } } """ @@ -381,7 +383,6 @@ public final class API { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - API protocol APIInputDependencyResolver { var logger: Logger { get } @@ -394,16 +395,17 @@ protocol APIDependencyResolver { final class APIDependencyContainer: APIDependencyResolver { let host: String let logger: Logger + private var _session: Session? var session: Session { - return sessionRef.value - } - private lazy var sessionRef = Instance(scope: .graph) { [unowned self] in - return Session() + if let value = _session { return value } + let value = Session() + _session = value + return value } init(injecting dependencies: APIInputDependencyResolver, host: String) { self.host = host logger = dependencies.logger - _ = sessionRef.value + _ = session } } protocol APIDependencyInjectable { @@ -457,7 +459,6 @@ class AnotherService { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - API protocol APIDependencyResolver { var parameter: UInt { get } @@ -504,7 +505,6 @@ public final class MovieManager { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - Logger protocol LoggerDependencyResolver { var domain: String { get } @@ -523,15 +523,16 @@ protocol MovieManagerDependencyResolver { func logger(domain: String) -> Logger } final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { + private var _logger: Logger? func logger(domain: String) -> Logger { - return loggerRef(domain: domain).value - } - private lazy var loggerRef = Instance(scope: .graph) { [unowned self] in + if let value = _logger { return value } let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) - return Logger(injecting: dependencies) + let value = Logger(injecting: dependencies) + _logger = value + return value } init() { - _ = loggerRef.value + _ = logger(domain: domain) } } extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} @@ -575,7 +576,6 @@ final class Logger { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - Logger protocol LoggerDependencyResolver { var domain: String { get } @@ -595,15 +595,16 @@ protocol MovieManagerDependencyResolver { func logger(domain: String) -> Logger } final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { + private var _logger: Logger? func logger(domain: String) -> Logger { - return loggerRef(domain: domain).value - } - private lazy var loggerRef = Instance>(scope: .graph) { [unowned self] in + if let value = _logger { return value } let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) - return Logger(injecting: dependencies) + let value = Logger(injecting: dependencies) + _logger = value + return value } init() { - _ = loggerRef.value + _ = logger(domain: domain) } } extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} @@ -655,7 +656,6 @@ final class ReviewViewController { let expected = """ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! -import WeaverDI // MARK: - HomeViewController protocol HomeViewControllerInputDependencyResolver { var movieManager: MovieManager { get } @@ -667,7 +667,8 @@ protocol HomeViewControllerDependencyResolver { final class HomeViewControllerDependencyContainer: HomeViewControllerDependencyResolver { let movieManager: MovieManager var movieViewController: MovieViewController { - return MovieViewController() + let value = MovieViewController() + return value } init(injecting dependencies: HomeViewControllerInputDependencyResolver) { movieManager = dependencies.movieManager @@ -686,7 +687,8 @@ final class MovieViewControllerDependencyContainer: MovieViewControllerDependenc let movieManager: MovieManager var reviewViewController: ReviewViewController { let dependencies = ReviewViewControllerDependencyContainer(injecting: self) - return ReviewViewController(injecting: dependencies) + let value = ReviewViewController(injecting: dependencies) + return value } init(injecting dependencies: MovieViewControllerInputDependencyResolver) { movieManager = dependencies.movieManager @@ -715,21 +717,23 @@ protocol AppDelegateDependencyResolver { var homeViewController: HomeViewController { get } } final class AppDelegateDependencyContainer: AppDelegateDependencyResolver { + private var _movieManager: MovieManager? var movieManager: MovieManager { - return movieManagerRef.value - } - private lazy var movieManagerRef = Instance(scope: .container) { [unowned self] in - return MovieManager() + if let value = _movieManager { return value } + let value = MovieManager() + _movieManager = value + return value } + private var _homeViewController: HomeViewController? var homeViewController: HomeViewController { - return homeViewControllerRef.value - } - private lazy var homeViewControllerRef = Instance(scope: .graph) { [unowned self] in - return HomeViewController() + if let value = _homeViewController { return value } + let value = HomeViewController() + _homeViewController = value + return value } init() { - _ = movieManagerRef.value - _ = homeViewControllerRef.value + _ = movieManager + _ = homeViewController } } extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} From fa93c82d698e799fc08004b649435d1e12cd463a Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 21:16:46 -0700 Subject: [PATCH 08/12] [#55] Updated Readme --- README.md | 54 +++++++++++------------------------------------------- 1 file changed, 11 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index e4e806e7..a4303bf1 100644 --- a/README.md +++ b/README.md @@ -35,59 +35,30 @@ Weaver is a declarative, easy-to-use and safe Dependency Injection framework for - **Declarative** because it allows developers to **declare dependencies via annotations** directly in the Swift code. - **Easy-to-use** because it **generates the necessary boilerplate code** to inject dependencies into Swift types. -- **Safe** because it **validates the dependency graph at compile time** and outputs a nice Xcode error when something's wrong. +- **Safe** because **it's all happening at compile time**. If it compiles, it works. ## How does Weaver work? -Even though Weaver makes dependency injection work out of the box, it's important to know what it does under the hood. There are two phases to be aware of; compile time and run time. - -### At compile time - ``` - |-> link() -> dependency graph -> validate() -> valid/invalid -swift files -> scan() -> [Token] -> parse() -> AST -| - |-> generate() -> source code + |-> validate() -> valid/invalid +swift files -> scan() -> [Token] -> parse() -> AST -> link() -> Graph -> | + |-> generate() -> source code ``` -Weaver's command line tool scans the Swift sources of the project, looking for annotations, and generates an AST (abstract syntax tree). It uses [SourceKitten](https://github.com/jpsim/SourceKitten) which is backed by Apple's [SourceKit](https://github.com/apple/swift/tree/master/tools/SourceKit), making this step pretty reliable. - -This AST is then used to generate a dependency graph on which a bunch of safety checks are performed in order to make sure the code won't crash at run time. It checks for unresolvable dependencies and unsolvable cyclic dependencies. If any issue is found, no code is being generated, which means that the project will fail to compile. - -The same AST is also used to generate the boilerplate code. It generates one dependency container per class/struct with injectable dependencies. It also generates a bunch of extensions and protocols in order to make the dependency injection almost transparent for the developer. +Weaver scans the Swift sources of the project, looking for annotations, and generates an AST (abstract syntax tree). It uses [SourceKitten](https://github.com/jpsim/SourceKitten) which is backed by Apple's [SourceKit](https://github.com/apple/swift/tree/master/tools/SourceKit), making this step pretty reliable. -### At run time +Then this AST goes through a linking phase, which generates a dependency graph. -Weaver implements a lightweight DI Container object which is able to register and resolve dependencies based on their scope, protocol or concrete type, name and parameters. Each container can have a parent, allowing to resolve dependencies throughout a hierarchy of containers. +A bunch of safety checks are then performed on the dependency graph. It checks for unresolvable dependencies and unsolvable cyclic dependencies. Issues are friendly reported in XCode to make their correction easier. -When an object registers a dependency, its associated DI Container stores a builder (and sometimes an instance). When another object declares a reference to this same dependency, its associated DI Container declares an accessor, which tries to resolve the dependency. Resolving a dependency basically means to look for a builder/instance while backtracking the hierarchy of containers. If no dependency is found or if this process gets trapped into an infinite recursion, it will crash at runtime, which is why checking the dependency graph at compile time is extremely important. +Finally, the same dependency graph is used to generate the boilerplate code. It generates one dependency container per class/struct with injectable dependencies. It also generates a bunch of extensions and protocols in order to make the dependency injection almost transparent for the developer. ## Installation -Weaver comes in 3 parts: -1. A Swift framework to include into your project -2. A command line tool to install on your machine -3. A build phase to add to your project - -### (1) - Weaver framework installation - -Weaver's Swift framework is available with `CocoaPods`, `Carthage` and `Swift Package Manager`. - -#### CocoaPods +### (1) - Weaver command -Add `pod 'WeaverDI', '~> 0.9.12'` to the `Podfile`. - -#### Carthage - -Add `github "scribd/Weaver" ~> 0.9.12` to the `Cartfile`. - -#### SwiftPM - -Add `.package(url: "https://github.com/scribd/Weaver.git", from: "0.9.12")` to the dependencies section of the `Package.swift` file. - -### (2) - Weaver command line tool installation - -The Weaver command line tool can be installed using `Homebrew` or manually. +The Weaver can be installed using `Homebrew` or manually. #### Binary form @@ -126,10 +97,9 @@ Arguments: Options: --output_path [default: .] - Where the swift files will be generated. --template_path - Custom template path. - --unsafe [default: false] ``` -### (3) - Weaver build phase +### (2) - Weaver build phase In Xcode, add the following command to a command line build phase: @@ -139,8 +109,6 @@ weaver --output_path ${SOURCE_ROOT}/output/path `find ${SOURCE_ROOT} -name '*.sw **Important - Move this build phase above the `Compile Source` phase so Weaver can generate the boilerplate code before compilation happens.** -**Warning - Using `--unsafe` is not recommended. It will deactivate the graph validation, meaning the generated code could crash if the dependency graph is invalid.** Only set it to false if the graph validation prevents the project from compiling even though it should not. If you find yourself in that situation, please, feel free to file a bug. - ## Basic Usage *For a more complete usage example, please check out the [sample project](./Sample).* From 80758fb630918eee5ba24f33f1f9e1bee85f2a6c Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 21:19:10 -0700 Subject: [PATCH 09/12] [#55] Fixed codecov rule --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 90fb133b..73e8906a 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ package: build cd ./build/package/ && zip -r ../../weaver-$(VERSION).zip ./weaver codecov: build - xcodebuild test -scheme Tests -enableCodeCoverage YES + xcodebuild test -scheme WeaverCodeGen -enableCodeCoverage YES bash -c "bash <(curl -s https://codecov.io/bash) -J Weaver -t eaa7c4af-5ca2-4e08-8f07-38a44671e5e0" rm *.coverage.txt From 641df337948405b407b2df3fcab7be045e653a73 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 21:20:30 -0700 Subject: [PATCH 10/12] [#55] Removed OrderedSet --- Sources/WeaverCodeGen/OrderedDictionary.swift | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/Sources/WeaverCodeGen/OrderedDictionary.swift b/Sources/WeaverCodeGen/OrderedDictionary.swift index e580de04..2bc4f307 100644 --- a/Sources/WeaverCodeGen/OrderedDictionary.swift +++ b/Sources/WeaverCodeGen/OrderedDictionary.swift @@ -44,28 +44,3 @@ final class OrderedDictionary { } } } - -// MARK: - OrderedSet - -final class OrderedSet { - - private var orderedDictionary = OrderedDictionary() - - func insert(_ value: Value) { - orderedDictionary[value] = value - } - - func insert(_ values: [Value]) { - values.forEach { - insert($0) - } - } - - var orderedValues: [Value] { - return orderedDictionary.orderedValues - } - - func contains(_ value: Value) -> Bool { - return orderedDictionary[value] != nil - } -} From 328ddc863592673beac24f61e6aa44009e4e5876 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 21:21:32 -0700 Subject: [PATCH 11/12] [#55] Removed unused functions from scope --- Sources/WeaverCodeGen/Scope.swift | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/Sources/WeaverCodeGen/Scope.swift b/Sources/WeaverCodeGen/Scope.swift index e87fa486..62ab3660 100644 --- a/Sources/WeaverCodeGen/Scope.swift +++ b/Sources/WeaverCodeGen/Scope.swift @@ -29,29 +29,7 @@ enum Scope { extension Scope { - var isWeak: Bool { - switch self { - case .weak: - return true - case .transient, - .graph, - .container: - return false - } - } - - var isTransient: Bool { - switch self { - case .transient: - return true - case .graph, - .weak, - .container: - return false - } - } - - public var allowsAccessFromChildren: Bool { + var allowsAccessFromChildren: Bool { switch self { case .weak, .container: From 412421b5f3e192c783e4c7e2aafe5db2f9815a91 Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 25 Jul 2018 21:27:51 -0700 Subject: [PATCH 12/12] Bump version to 0.10.0 --- Resources/dependency_resolver.stencil | 4 ++-- Sources/WeaverCommand/main.swift | 2 +- Tests/WeaverCodeGenTests/GeneratorTests.swift | 20 +++++++++---------- Weaver.xcodeproj/WeaverCodeGen_Info.plist | 6 +++--- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index 7b5ad8fd..9d5fa866 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -38,7 +38,7 @@ {% endfor %} {% endmacro %} -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! {% for moduleName in imports %} @@ -183,4 +183,4 @@ extension {{dependencyContainer.targetType.name}} { {% endif %}{# dependencyContainer.isPublic #} -{% endfor %}{# dependencyContainers #} \ No newline at end of file +{% endfor %}{# dependencyContainers #} diff --git a/Sources/WeaverCommand/main.swift b/Sources/WeaverCommand/main.swift index ba89d8ed..5099270c 100644 --- a/Sources/WeaverCommand/main.swift +++ b/Sources/WeaverCommand/main.swift @@ -98,4 +98,4 @@ let main = command( } } -main.run("0.9.13") +main.run("0.10.0") diff --git a/Tests/WeaverCodeGenTests/GeneratorTests.swift b/Tests/WeaverCodeGenTests/GeneratorTests.swift index 36b7d603..91e5b80c 100644 --- a/Tests/WeaverCodeGenTests/GeneratorTests.swift +++ b/Tests/WeaverCodeGenTests/GeneratorTests.swift @@ -68,7 +68,7 @@ final class Manager { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - Logger protocol LoggerDependencyResolver { @@ -137,7 +137,7 @@ final class PersonManager: PersonManaging { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - PersonManager protocol PersonManagerInputDependencyResolver { @@ -194,7 +194,7 @@ final class PersonManager: PersonManaging { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - PersonManager protocol PersonManagerDependencyResolver { @@ -247,7 +247,7 @@ final class PersonManager: PersonManaging { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - MovieAPI protocol MovieAPIDependencyResolver { @@ -315,7 +315,7 @@ final class MyService { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - MyService protocol MyServiceDependencyResolver { @@ -381,7 +381,7 @@ public final class API { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - API protocol APIInputDependencyResolver { @@ -457,7 +457,7 @@ class AnotherService { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - API protocol APIDependencyResolver { @@ -503,7 +503,7 @@ public final class MovieManager { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - Logger protocol LoggerDependencyResolver { @@ -574,7 +574,7 @@ final class Logger { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - Logger protocol LoggerDependencyResolver { @@ -654,7 +654,7 @@ final class ReviewViewController { let (_ , actual) = try generator.generate().first! let expected = """ -/// This file is generated by Weaver 0.9.13 +/// This file is generated by Weaver 0.10.0 /// DO NOT EDIT! // MARK: - HomeViewController protocol HomeViewControllerInputDependencyResolver { diff --git a/Weaver.xcodeproj/WeaverCodeGen_Info.plist b/Weaver.xcodeproj/WeaverCodeGen_Info.plist index 57ada9f9..28ccca34 100644 --- a/Weaver.xcodeproj/WeaverCodeGen_Info.plist +++ b/Weaver.xcodeproj/WeaverCodeGen_Info.plist @@ -1,5 +1,5 @@ - - + + CFBundleDevelopmentRegion en @@ -14,7 +14,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0 + 0.10.0 CFBundleSignature ???? CFBundleVersion