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..73e8906a 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 @@ -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 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..6875e64f 100644 --- a/Package.swift +++ b/Package.swift @@ -2,20 +2,16 @@ 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"), - .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"]), .testTarget(name: "WeaverCodeGenTests", dependencies: ["WeaverCodeGen"]), .target(name: "WeaverCommand", dependencies: ["Commander", "WeaverCodeGen"]) ] -) \ No newline at end of file +) 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).* diff --git a/Resources/dependency_resolver.stencil b/Resources/dependency_resolver.stencil index dce7e4fb..9d5fa866 100644 --- a/Resources/dependency_resolver.stencil +++ b/Resources/dependency_resolver.stencil @@ -1,217 +1,186 @@ -/// This file is generated by Weaver 0.9.13 -/// DO NOT EDIT! -{% for moduleName in imports %} -import {{moduleName}} -{% endfor %}{# imports #} +{% 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 %} -{% for resolver in resolvers %} +{% 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 %} -// MARK: - {{resolver.targetType.name}} +{% macro ParameterAssign parameters %} + {% for parameter in parameters %} + self.{{parameter.name}} = {{parameter.name}} + {% endfor %} +{% endmacro %} -{% if not resolver.isIsolated %} +{% macro DependencyContainerBuilder dependency %}{{dependency.type.name}}DependencyContainer(injecting: self{% call ParametersPassInWithSeparator dependency.parameters %}){% endmacro %} -final class {{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}: DependencyContainer { - - {% for parameter in resolver.parameters %} - let {{parameter.name}}: {{parameter.type}} - {% endfor %} +{% macro AttributesDecl dependencies %} +{% for dependency in dependencies %} + let {{dependency.name}}: {{dependency.abstractType}} +{% endfor %} +{% endmacro %} - 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 %}) { +{% macro DependencyResolverDecl dependencies %} +{% for dependency in dependencies %} - {% for parameter in resolver.parameters %} - self.{{parameter.name}} = {{parameter.name}} - {% endfor %} + {% if not dependency.customRef %} - super.init({% if not resolver.isRoot %}parent{% endif %}) - } + {% if dependency.parameters %} + func {{dependency.name}}({% call ParametersDecl dependency.parameters %}) -> {{dependency.abstractType}} + {% else %} + var {{dependency.name}}: {{dependency.abstractType}} { get } + {% endif %} - {# deinit { - print("\({{resolver.targetType.name}}DependencyContainer{{resolver.targetType.generics}}.self): deinit") - } #} + {% else %}{# not dependency.customRef #} + var {{dependency.name}}: {{dependency.abstractType}} { get } + func {{dependency.name}}CustomRef() -> {{dependency.abstractType}} + {% endif %}{# not dependency.customRef #} - override func registerDependencies(in store: DependencyStore) { - - {% for registration in resolver.registrations %} +{% endfor %} +{% endmacro %} + +/// This file is generated by Weaver 0.10.0 +/// DO NOT EDIT! - 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 %} +{% for moduleName in imports %} +import {{moduleName}} +{% endfor %}{# imports #} - 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 #} +{% for dependencyContainer in dependencyContainers %} - return self.{{registration.name}}CustomRef({% for parameter in registration.parameters %}{% if not forloop.first %}, {% endif %}{{parameter.name}}: {{parameter.name}}{% endfor %}) - {% endif %}{# not registration.customRef #} - }) +// MARK: - {{dependencyContainer.targetType.name}} - {% endfor %}{# resolver.registrations #} - } +{% if dependencyContainer.references %} +protocol {{dependencyContainer.targetType.name}}InputDependencyResolver { + {% call DependencyResolverDecl dependencyContainer.references %} } +{% endif %} -{% endif %}{# not resolver.isIsolated #} +{% if dependencyContainer.doesSupportObjc %}@objc {% endif %}protocol {{dependencyContainer.targetType.name}}DependencyResolver { -{% if resolver.doesSupportObjc %}@objc {% endif %}protocol {{resolver.targetType.name}}DependencyResolver { + {% call DependencyResolverDecl dependencyContainer.parameters %} - {% for genericName in resolver.targetType.genericNames %} - associatedtype {{genericName}} - {% endfor %}{# resolver.targetType.genericNames #} + {% call DependencyResolverDecl dependencyContainer.references %} - {% for parameter in resolver.parameters %} - var {{parameter.name}}: {{parameter.type}} { get } - {% endfor %} - - {% for reference in resolver.references %} + {% call DependencyResolverDecl dependencyContainer.registrations %} +} - {% 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 #} +final class {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}: {% if dependencyContainer.doesSupportObjc %}NSObject, {% endif %}{{dependencyContainer.targetType.name}}DependencyResolver { + + {% call AttributesDecl dependencyContainer.parameters %} - {% endfor %}{# resolver.references #} + {% call AttributesDecl dependencyContainer.references %} - {% for registration in resolver.registrations %} + {% for registration in dependencyContainer.registrations %} - {% 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 #} + {% if not registration.isTransient %} + private {% if registration.isWeak %}weak {% endif %}var _{{registration.name}}: {{registration.abstractType}}? + {% endif %} - {% endfor %}{# resolver.registrations #} -} + {% if registration.parameters %} + func {{registration.name}}({% call ParametersDecl registration.parameters %}) -> {{registration.abstractType}} { + {% else %} + var {{registration.name}}: {{registration.abstractType}} { + {% endif %} -{% if not resolver.isIsolated %} + {% if not registration.isTransient %} + if let value = _{{registration.name}} { return value } + {% endif %} -extension {{resolver.targetType.name}}DependencyContainer: {{resolver.targetType.name}}DependencyResolver { - {% for reference in resolver.references %} + {% if not registration.customRef %} - {% if reference.parameters %} + {% if registration.hasBuilder %} + let dependencies = {% call DependencyContainerBuilder registration %} + let value = {{registration.type}}(injecting: dependencies) + {% else %}{# registration.hasBuilder #} + let value = {{registration.type}}() + {% endif %}{# registration.hasBuilder #} - 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 %}{# not registration.customRef #} + let value = {{registration.name}}CustomRef() + {% endif %}{# not registration.customRef #} - {% else %}{# reference.paramters #} + {% if not registration.isTransient %} + _{{registration.name}} = value + {% endif %} - var {{reference.name}}: {{reference.abstractType}} { - return resolve({{reference.abstractType}}.self, name: "{{reference.name}}") + return value } + {% endfor %}{# dependencyContainer.registrations #} - {% endif %}{# reference.parameters #} - - {% endfor %}{# resolver.references #} -} + init({% if dependencyContainer.references %}injecting dependencies: {{dependencyContainer.targetType.name}}InputDependencyResolver{% if dependencyContainer.parameters %}, {% endif %}{% endif %}{% call ParametersDecl dependencyContainer.parameters %}) { -{% endif %}{# not resolver.isIsolated #} + {% call ParameterAssign dependencyContainer.parameters %} -{% if not resolver.isRoot %} + {% for reference in dependencyContainer.references %} + {% if reference.parameters %} + {{reference.name}} = dependencies.{{reference.nane}}({% call ParametersPassIn dependency.parameters %}) + {% else %} + {{reference.name}} = dependencies.{{reference.name}} + {% endif %} + {% endfor %} -{% if not resolver.isIsolated %} + {% if dependencyContainer.doesSupportObjc %}super.init(){% endif %} -extension {% if resolver.enclosingTypeNames %}{{resolver.enclosingTypeNames|join: "."}}.{% endif %}{{resolver.targetType.name}} { + {% for registration in dependencyContainer.registrations %} - 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}} { + {% if not registration.isTransient %} + {% if not registration.isWeak %} + {% if registration.parameters %} + _ = {{registration.name}}({% call ParametersPassIn registration.parameters %}) + {% else %} + _ = {{registration.name}} + {% endif %} + {% endif %} + {% endif %} - 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) - + {% endfor %} } } -{% endif %}{# not resolver.isIsolated #} +{% for injectableDependency in dependencyContainer.injectableDependencies %} +extension {{dependencyContainer.targetType.name}}DependencyContainer: {{injectableDependency.targetType.name}}InputDependencyResolver {} +{% endfor %} -protocol {{resolver.targetType.name}}{% if resolver.doesSupportObjc %}ObjC{% endif %}DependencyInjectable { - {% for genericName in resolver.targetType.genericNames %} +{% if not dependencyContainer.isRoot %} +protocol {{dependencyContainer.targetType.name}}{% if dependencyContainer.doesSupportObjc %}ObjC{% endif %}DependencyInjectable { + {% for genericName in dependencyContainer.targetType.genericNames %} associatedtype {{genericName}} - {% endfor %}{# resolver.targetType.genericNames #} + {% endfor %} - {% 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#} + {% if dependencyContainer.targetType.genericNames %} + init(injecting dependencies: {{dependencyContainer.targetType.name}}DependencyContainer{{dependencyContainer.targetType.generics}}) + {% else %} + init(injecting dependencies: {{dependencyContainer.targetType.name}}DependencyResolver) + {% endif %} } +{% endif %} -{% if not resolver.doesSupportObjc %} - -extension {% if resolver.enclosingTypeNames %}{{resolver.enclosingTypeNames|join: "."}}.{% endif %}{{resolver.targetType.name}}: {{resolver.targetType.name}}DependencyInjectable {} - -{% endif %}{# not resolver.doesSupportObjc #} - -{% endif %}{# not resolver.isRoot #} - -{% if resolver.isPublic %} - -// MARK: - {{resolver.targetType.name}}Shim - -final class {{resolver.targetType.name}}ShimDependencyContainer{{resolver.targetType.generics}}: DependencyContainer { - - 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 #} - - {% for parameter in resolver.parameters %} - let {{parameter.name}}: {{parameter.type}} - {% endfor %}{# resolver.parameters #} - - 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.isPublic %} +{% if dependencyContainer.references %} +final class {{dependencyContainer.targetType.name}}ShimDependencyContainer{{dependencyContainer.targetType.generics}}: {{dependencyContainer.targetType.name}}InputDependencyResolver { - {% for parameter in resolver.parameters %} - self.{{parameter.name}} = {{parameter.name}} - {% endfor %}{# resolver.parameters #} + {% call AttributesDecl dependencyContainer.references %} - super.init() - } + init({% call ParametersDecl dependencyContainer.references %}) { - {# 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 #} + {% call ParameterAssign dependencyContainer.references %} } } -extension {{resolver.targetType.name}}ShimDependencyContainer: {{resolver.targetType.name}}DependencyResolver { - {% for reference in resolver.internalReferences %} - - {% 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 %}) - } +{% endif %}{# dependencyContainer.references #} - {% else %}{# reference.parameters #} - - var {{reference.name}}: {{reference.abstractType}} { - return internalDependencies.resolve({{reference.abstractType}}.self, name: "{{reference.name}}") - } - - {% endif %}{# reference.parameters #} - - {% 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..a379be7d 100644 --- a/Sample/API/Generated/Weaver.API.swift +++ b/Sample/API/Generated/Weaver.API.swift @@ -1,67 +1,41 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! 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) { + urlSession = dependencies.urlSession + _ = logger } } 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..2c973a7a 100644 --- a/Sample/API/Generated/Weaver.ImageManager.swift +++ b/Sample/API/Generated/Weaver.ImageManager.swift @@ -2,66 +2,46 @@ /// DO NOT EDIT! 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") + _ = logger + _ = urlSession + _ = 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..c88a80f2 100644 --- a/Sample/API/Generated/Weaver.MovieManager.swift +++ b/Sample/API/Generated/Weaver.MovieManager.swift @@ -1,83 +1,56 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! 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 + logger = dependencies.logger + _ = urlSession + _ = movieAPI } } +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/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 dafbdd9d..00000000 --- a/Sample/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - WeaverDI (0.9.12) - -DEPENDENCIES: - - WeaverDI (from `../`) - -EXTERNAL SOURCES: - WeaverDI: - :path: "../" - -SPEC CHECKSUMS: - WeaverDI: 0ce156aec29e0e3c9d8540f7659cb0271b3bac88 - -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 7cf5cfac..00000000 --- a/Sample/Pods/Local Podspecs/WeaverDI.podspec.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "WeaverDI", - "version": "0.9.12", - "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.12" - }, - "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 dafbdd9d..00000000 --- a/Sample/Pods/Manifest.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - WeaverDI (0.9.12) - -DEPENDENCIES: - - WeaverDI (from `../`) - -EXTERNAL SOURCES: - WeaverDI: - :path: "../" - -SPEC CHECKSUMS: - WeaverDI: 0ce156aec29e0e3c9d8540f7659cb0271b3bac88 - -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 d20a96a5..00000000 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,972 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - 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 */; }; - 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 */; }; - 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, ); }; }; -/* 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 = ""; }; - 148DEE0CE8A2A6E01E7D4B10989F03DE /* Pods-APITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-APITests-frameworks.sh"; 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 = ""; }; - 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; }; - 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; }; - 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 = ""; }; - 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 = ""; }; - 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; }; - 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 = ""; }; - 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 = ""; }; -/* 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 */ - 08EB761B1C1C4AC3E86F9E2F1C32736F /* Pod */ = { - isa = PBXGroup; - children = ( - CD397ABCA0A12A2CEF698BCCAA56064D /* LICENSE */, - 1E005AA6606C0BE3A1DBD9A395C7D8D4 /* README.md */, - B1E43FA53ABFBC7F984030C648DE158F /* WeaverDI.podspec */, - ); - name = Pod; - 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 = ""; - }; - 24799634569AF1BBF9FCB4A2A5DA0C65 /* Support Files */ = { - isa = PBXGroup; - children = ( - F6AD86ADA74FD4060F5D954AFDA418AA /* Info.plist */, - BD8D1E2C4E51292C6B45F8F079FEDD86 /* WeaverDI.modulemap */, - D2CAA6630059D6DA85F19FDA17AB63DE /* WeaverDI.xcconfig */, - C28BCB0A46483E21E53996182C9BBDA8 /* WeaverDI-dummy.m */, - 7ED04BEA6E8739A363E7EF6F9D3EB158 /* WeaverDI-prefix.pch */, - 67BE3C8D6C5BC11C9B46E4BC9F5E3BEE /* WeaverDI-umbrella.h */, - ); - name = "Support Files"; - path = "Sample/Pods/Target Support Files/WeaverDI"; - sourceTree = ""; - }; - 5E0D919E635D23B70123790B8308F8EF /* iOS */ = { - isa = PBXGroup; - children = ( - 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - FA4C04D6293D82C2A239CEAA78016C94 /* 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 = ""; - }; - 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 = ( - 9094773FFA541FD41B4CEF7865AE7511 /* Pods_APITests.framework */, - 69F2E868595CA8011406B304A697DA8B /* Pods_Sample.framework */, - 6213BF4EC70CBED0FD9FE5F98C8457F1 /* Pods_Sample_API.framework */, - E1C9DDA7E94D0229B0AA89E57521CDCF /* WeaverDI.framework */, - ); - name = Products; - sourceTree = ""; - }; - FA4C04D6293D82C2A239CEAA78016C94 /* Development Pods */ = { - isa = PBXGroup; - children = ( - F4FA6473D6D5BB9DA0DA6A72ED1D9F44 /* WeaverDI */, - ); - name = "Development Pods"; - 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 = ( - 0DDD23FD0CA78638C5DBE99D46F80329 /* 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; - }; - 0DDD23FD0CA78638C5DBE99D46F80329 /* 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 */, - ); - 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 = D2CAA6630059D6DA85F19FDA17AB63DE /* 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 = D2CAA6630059D6DA85F19FDA17AB63DE /* 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/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 b17caa33..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.12 - 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 9c6770f4..934f3235 100644 --- a/Sample/Sample/AppDelegate.swift +++ b/Sample/Sample/AppDelegate.swift @@ -7,7 +7,6 @@ // import UIKit -import WeaverDI import API @UIApplicationMain @@ -15,7 +14,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 +44,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..7fb4ec72 100644 --- a/Sample/Sample/Generated/Weaver.AppDelegate.swift +++ b/Sample/Sample/Generated/Weaver.AppDelegate.swift @@ -2,69 +2,81 @@ /// DO NOT EDIT! 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() { + _ = logger + _ = urlSession + _ = movieAPI + _ = imageManager + _ = movieManager + _ = homeViewController + _ = reviewManager + } +} +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..da2ab425 100644 --- a/Sample/Sample/Generated/Weaver.HomeViewController.swift +++ b/Sample/Sample/Generated/Weaver.HomeViewController.swift @@ -3,44 +3,46 @@ import API 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 } + private weak var _movieController: UIViewController? 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") + if let value = _movieController { return value } + let dependencies = MovieViewControllerDependencyContainer(injecting: self, movieID: movieID, title: title) + let value = MovieViewController(injecting: dependencies) + _movieController = value + 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) { + movieManager = dependencies.movieManager + imageManager = dependencies.imageManager + reviewManager = dependencies.reviewManager + _ = logger } } +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..44c299bd 100644 --- a/Sample/Sample/Generated/Weaver.MovieViewController.swift +++ b/Sample/Sample/Generated/Weaver.MovieViewController.swift @@ -3,54 +3,53 @@ import API 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 } + private var _reviewController: WSReviewViewController? func reviewController(movieID: UInt) -> WSReviewViewController { - return resolve(WSReviewViewController.self, name: "reviewController", parameter: movieID) - } - var movieManager: MovieManaging { - return resolve(MovieManaging.self, name: "movieManager") + if let value = _reviewController { return value } + let dependencies = WSReviewViewControllerDependencyContainer(injecting: self, movieID: movieID) + let value = WSReviewViewController(injecting: dependencies) + _reviewController = value + 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 + movieManager = dependencies.movieManager + imageManager = dependencies.imageManager + reviewManager = dependencies.reviewManager + _ = logger + _ = reviewController(movieID: movieID) } } +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..98ae8f0a 100644 --- a/Sample/Sample/Generated/Weaver.PersonManager.swift +++ b/Sample/Sample/Generated/Weaver.PersonManager.swift @@ -2,13 +2,28 @@ /// DO NOT EDIT! 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) { + movieAPI = dependencies.movieAPI + _ = logger + } } 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..9513de68 100644 --- a/Sample/Sample/Generated/Weaver.ReviewManager.swift +++ b/Sample/Sample/Generated/Weaver.ReviewManager.swift @@ -2,37 +2,28 @@ /// DO NOT EDIT! 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) { + movieAPI = dependencies.movieAPI + _ = logger } } 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..ace59587 100644 --- a/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift +++ b/Sample/Sample/Generated/Weaver.WSReviewViewController+Injectable.swift @@ -1,30 +1,21 @@ /// This file is generated by Weaver 0.9.13 /// DO NOT EDIT! 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 + reviewManager = dependencies.reviewManager + super.init() } } protocol WSReviewViewControllerObjCDependencyInjectable { 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/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 7ee90eb2..40a628ee 100644 --- a/Sources/WeaverCodeGen/Generator.swift +++ b/Sources/WeaverCodeGen/Generator.swift @@ -7,31 +7,20 @@ import Foundation import Stencil +import StencilSwiftKit import PathKit -import WeaverDI 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,20 +32,24 @@ 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()) } } } -// MARK: - Template Model +// MARK: - ViewModels private struct RegistrationViewModel { @@ -67,6 +60,8 @@ private struct RegistrationViewModel { let customRef: Bool let parameters: [DependencyViewModel] let hasBuilder: Bool + let isTransient: Bool + let isWeak: Bool init(_ dependency: Dependency, graph: Graph) { name = dependency.dependencyName @@ -85,6 +80,9 @@ private struct RegistrationViewModel { parameters = [] hasBuilder = false } + + isTransient = dependency.scope == .transient + isWeak = dependency.scope == .weak } } @@ -138,47 +136,23 @@ private struct DependencyContainerViewModel { let isRoot: Bool let isPublic: Bool let doesSupportObjc: Bool - let isIsolated: Bool + let injectableDependencies: [DependencyContainerViewModel]? - let publicReferences: [DependencyViewModel] - let internalReferences: [DependencyViewModel] - - 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 { - 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 - - publicReferences = references.filter { $0.isPublic } - internalReferences = references.filter { !$0.isPublic } + injectableDependencies = dependencyContainer.injectableDependencies(graph: graph, depth: depth) } } @@ -198,5 +172,52 @@ private extension DependencyContainer { var hasDependencies: Bool { return !registrations.orderedValues.isEmpty || !references.orderedValues.isEmpty || !parameters.isEmpty } + + var allReferences: [Reference] { + var visitedDependencyContainters = Set() + return collectAllReferences(&visitedDependencyContainters) + } + + 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.collectAllReferences(&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) + } + } + + 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/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/OrderedDictionary.swift b/Sources/WeaverCodeGen/OrderedDictionary.swift index fe96338a..2bc4f307 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]() 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..62ab3660 100644 --- a/Sources/WeaverCodeGen/Scope.swift +++ b/Sources/WeaverCodeGen/Scope.swift @@ -1,15 +1,47 @@ // // 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 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/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/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/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/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 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/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/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/GeneratorTests.swift b/Tests/WeaverCodeGenTests/GeneratorTests.swift index e9a0a90b..91e5b80c 100644 --- a/Tests/WeaverCodeGenTests/GeneratorTests.swift +++ b/Tests/WeaverCodeGenTests/GeneratorTests.swift @@ -68,47 +68,41 @@ 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! -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 { + private var _logEngine: LogEngine? var logEngine: LogEngine { - return resolve(LogEngine.self, name: "logEngine") + if let value = _logEngine { return value } + let value = LogEngine() + _logEngine = value + return value } -} -// MARK: - Manager -final class ManagerDependencyContainer: DependencyContainer { init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(Logger.self, scope: .graph, name: "logger", builder: { (dependencies) in - return Logger() - }) + _ = logEngine } } +// MARK: - Manager protocol ManagerDependencyResolver { var logger: Logger { get } } -extension ManagerDependencyContainer: ManagerDependencyResolver { +final class ManagerDependencyContainer: ManagerDependencyResolver { + 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 + } + init() { + _ = logger } } +extension ManagerDependencyContainer: LoggerInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) @@ -143,18 +137,33 @@ 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! -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) { + movieAPI = dependencies.movieAPI + _ = logger + } } protocol PersonManagerDependencyInjectable { init(injecting dependencies: PersonManagerDependencyResolver) } -extension PersonManager: PersonManagerDependencyInjectable {} """ XCTAssertEqual(actual!, expected) @@ -185,27 +194,23 @@ 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! -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 { + 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 + } + init() { + _ = movieAPI } } """ @@ -242,54 +247,39 @@ 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! -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 { +final class PersonManagerDependencyContainer: PersonManagerDependencyResolver { + private var _movieAPI: APIProtocol? func movieAPI(host: String) -> APIProtocol { - return resolve(APIProtocol.self, name: "movieAPI", parameter: host) + if let value = _movieAPI { return value } + let value = movieAPICustomRef() + _movieAPI = value + return value + } + init() { + _ = movieAPI(host: host) } } +extension PersonManagerDependencyContainer: MovieAPIInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) @@ -325,45 +315,38 @@ 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! -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 { + private var _session: Session? var session: Session { - return resolve(Session.self, name: "session") + if let value = _session { return value } + let value = Session() + _session = value + return value } -} -// MARK: - MyEmbeddedService -final class MyEmbeddedServiceDependencyContainer: DependencyContainer { init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - store.register(SessionProtocol?.self, scope: .container, name: "session", builder: { (dependencies) in - return Session() - }) + _ = session } } +// MARK: - MyEmbeddedService protocol MyEmbeddedServiceDependencyResolver { var session: SessionProtocol? { get } } -extension MyEmbeddedServiceDependencyContainer: MyEmbeddedServiceDependencyResolver { +final class MyEmbeddedServiceDependencyContainer: MyEmbeddedServiceDependencyResolver { + private var _session: SessionProtocol?? var session: SessionProtocol? { - return resolve(SessionProtocol?.self, name: "session") + if let value = _session { return value } + let value = Session?() + _session = value + return value + } + init() { + _ = session } } """ @@ -398,75 +381,47 @@ 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! -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 + private var _session: Session? var session: Session { - return resolve(Session.self, name: "session") + if let value = _session { return value } + let value = Session() + _session = value + return value } - var logger: Logger { - return resolve(Logger.self, name: "logger") - } -} -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 + _ = session } } 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) } } """ @@ -502,34 +457,21 @@ 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! -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) @@ -561,73 +503,43 @@ 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! -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 { + private var _logger: Logger? func logger(domain: String) -> Logger { - return resolve(Logger.self, name: "logger", parameter: domain) + if let value = _logger { return value } + let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) + let value = Logger(injecting: dependencies) + _logger = value + return value } -} -// MARK: - MovieManagerShim -final class MovieManagerShimDependencyContainer: DependencyContainer { - private lazy var internalDependencies: MovieManagerDependencyContainer = { - return MovieManagerDependencyContainer() - }() init() { - super.init() - } - override func registerDependencies(in store: DependencyStore) { - } -} -extension MovieManagerShimDependencyContainer: MovieManagerDependencyResolver { - func logger(domain: String) -> Logger { - return internalDependencies.resolve(Logger.self, name: "logger", parameter: domain) + _ = logger(domain: domain) } } +extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} extension MovieManager { public convenience init() { - let shim = MovieManagerShimDependencyContainer() - self.init(injecting: shim) + let dependencies = MovieManagerDependencyContainer() + self.init(injecting: dependencies) } } """ @@ -662,55 +574,169 @@ 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! -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 { +protocol MovieManagerDependencyResolver { + func logger(domain: String) -> Logger +} +final class MovieManagerDependencyContainer: MovieManagerDependencyResolver { + private var _logger: Logger? + func logger(domain: String) -> Logger { + if let value = _logger { return value } + let dependencies = LoggerDependencyContainer(injecting: self, domain: domain) + let value = Logger(injecting: dependencies) + _logger = value + return value + } init() { - super.init() + _ = logger(domain: domain) + } +} +extension MovieManagerDependencyContainer: LoggerInputDependencyResolver {} +""" + + 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 = """ +/// This file is generated by Weaver 0.10.0 +/// DO NOT EDIT! +// 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 { + let value = MovieViewController() + return value } - 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) - }) + init(injecting dependencies: HomeViewControllerInputDependencyResolver) { + movieManager = dependencies.movieManager } } -protocol MovieManagerDependencyResolver { - func logger(domain: String) -> Logger +extension HomeViewControllerDependencyContainer: MovieViewControllerInputDependencyResolver {} +// MARK: - MovieViewController +protocol MovieViewControllerInputDependencyResolver { + var movieManager: MovieManager { get } } -extension MovieManagerDependencyContainer: MovieManagerDependencyResolver { - func logger(domain: String) -> Logger { - return resolve(Logger.self, name: "logger", parameter: domain) +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) + let value = ReviewViewController(injecting: dependencies) + return value + } + 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 { + private var _movieManager: MovieManager? + var movieManager: MovieManager { + if let value = _movieManager { return value } + let value = MovieManager() + _movieManager = value + return value + } + private var _homeViewController: HomeViewController? + var homeViewController: HomeViewController { + if let value = _homeViewController { return value } + let value = HomeViewController() + _homeViewController = value + return value + } + init() { + _ = movieManager + _ = homeViewController } } +extension AppDelegateDependencyContainer: HomeViewControllerInputDependencyResolver {} """ XCTAssertEqual(actual!, expected) 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/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/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/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/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/Stencil_Info.plist b/Weaver.xcodeproj/StencilSwiftKit_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Stencil_Info.plist rename to Weaver.xcodeproj/StencilSwiftKit_Info.plist diff --git a/WeaverDI.xcodeproj/Yams_Info.plist b/Weaver.xcodeproj/Stencil_Info.plist similarity index 100% rename from WeaverDI.xcodeproj/Yams_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 87% rename from WeaverDI.xcodeproj/WeaverCodeGen_Info.plist rename to Weaver.xcodeproj/WeaverCodeGen_Info.plist index 9d42e279..28ccca34 100644 --- a/WeaverDI.xcodeproj/WeaverCodeGen_Info.plist +++ b/Weaver.xcodeproj/WeaverCodeGen_Info.plist @@ -1,5 +1,5 @@ - - + + CFBundleDevelopmentRegion en @@ -14,7 +14,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.13 + 0.10.0 CFBundleSignature ???? CFBundleVersion 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 87% rename from WeaverDI.xcodeproj/WeaverDI_Info.plist rename to Weaver.xcodeproj/WeaverDI_Info.plist index 9d42e279..57ada9f9 100644 --- a/WeaverDI.xcodeproj/WeaverDI_Info.plist +++ b/Weaver.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/Sample/Pods/Target Support Files/Pods-APITests/Info.plist b/Weaver.xcodeproj/Yams_Info.plist similarity index 64% rename from Sample/Pods/Target Support Files/Pods-APITests/Info.plist rename to Weaver.xcodeproj/Yams_Info.plist index 2243fe6e..57ada9f9 100644 --- a/Sample/Pods/Target Support Files/Pods-APITests/Info.plist +++ b/Weaver.xcodeproj/Yams_Info.plist @@ -1,25 +1,24 @@ - CFBundleDevelopmentRegion en CFBundleExecutable - ${EXECUTABLE_NAME} + $(EXECUTABLE_NAME) CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName - ${PRODUCT_NAME} + $(PRODUCT_NAME) CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 1.0 CFBundleSignature ???? CFBundleVersion - ${CURRENT_PROJECT_VERSION} + $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/Weaver.xcodeproj/project.pbxproj b/Weaver.xcodeproj/project.pbxproj new file mode 100644 index 00000000..3b6fd924 --- /dev/null +++ b/Weaver.xcodeproj/project.pbxproj @@ -0,0 +1,3078 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXAggregateTarget section */ + "Weaver::WeaverPackageTests::ProductTarget" /* WeaverPackageTests */ = { + isa = PBXAggregateTarget; + buildConfigurationList = OBJ_513 /* Build configuration list for PBXAggregateTarget "WeaverPackageTests" */; + buildPhases = ( + ); + dependencies = ( + OBJ_516 /* PBXTargetDependency */, + ); + name = WeaverPackageTests; + productName = WeaverPackageTests; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 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 */ + 196398392109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + 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; + }; + 1963983C2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; + }; + 1963983D2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Stencil::Stencil"; + remoteInfo = Stencil; + }; + 1963983E2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 1963983F2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 196398402109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 196398412109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 196398422109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Stencil::Stencil"; + remoteInfo = Stencil; + }; + 196398432109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 196398442109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 196398452109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; + remoteInfo = SourceKittenFramework; + }; + 196398462109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::Yams"; + remoteInfo = Yams; + }; + 196398472109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::CYaml"; + remoteInfo = CYaml; + }; + 196398482109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SWXMLHash::SWXMLHash"; + remoteInfo = SWXMLHash; + }; + 196398492109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::Yams"; + remoteInfo = Yams; + }; + 1963984A2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::CYaml"; + remoteInfo = CYaml; + }; + 1963984B2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SWXMLHash::SWXMLHash"; + remoteInfo = SWXMLHash; + }; + 1963984C2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; + }; + 1963984D2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Stencil::Stencil"; + remoteInfo = Stencil; + }; + 1963984E2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 1963984F2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 196398502109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; + remoteInfo = SourceKittenFramework; + }; + 196398512109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::Yams"; + remoteInfo = Yams; + }; + 196398522109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::CYaml"; + remoteInfo = CYaml; + }; + 196398532109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SWXMLHash::SWXMLHash"; + remoteInfo = SWXMLHash; + }; + 196398542109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Weaver::WeaverCodeGen"; + remoteInfo = WeaverCodeGen; + }; + 196398552109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "StencilSwiftKit::StencilSwiftKit"; + remoteInfo = StencilSwiftKit; + }; + 196398562109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Stencil::Stencil"; + remoteInfo = Stencil; + }; + 196398572109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Spectre::Spectre"; + remoteInfo = Spectre; + }; + 196398582109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "PathKit::PathKit"; + remoteInfo = PathKit; + }; + 196398592109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; + remoteInfo = SourceKittenFramework; + }; + 1963985A2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::Yams"; + remoteInfo = Yams; + }; + 1963985B2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "Yams::CYaml"; + remoteInfo = CYaml; + }; + 1963985C2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = "SWXMLHash::SWXMLHash"; + remoteInfo = SWXMLHash; + }; + 1963985D2109757700E818FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = OBJ_1 /* Project object */; + proxyType = 1; + 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 /* 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 /* 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; }; + "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_212 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_227 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_240 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_255 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_304 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_305 /* Yams.framework in Frameworks */, + OBJ_306 /* CYaml.framework in Frameworks */, + OBJ_307 /* SWXMLHash.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_331 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_362 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_363 /* Spectre.framework in Frameworks */, + OBJ_364 /* PathKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_389 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_390 /* Stencil.framework in Frameworks */, + OBJ_391 /* Spectre.framework in Frameworks */, + OBJ_392 /* PathKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_428 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + 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_458 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + 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_485 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + 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_537 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 0; + files = ( + OBJ_538 /* CYaml.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + OBJ_100 /* Spectre 0.8.0 */ = { + isa = PBXGroup; + children = ( + OBJ_101 /* Spectre */, + OBJ_110 /* Package.swift */, + ); + name = "Spectre 0.8.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_101 /* Spectre */ = { + isa = PBXGroup; + children = ( + 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_111 /* SourceKitten 0.21.0 */ = { + isa = PBXGroup; + children = ( + OBJ_112 /* sourcekitten */, + OBJ_113 /* SourceKittenFramework */, + OBJ_151 /* Package.swift */, + ); + name = "SourceKitten 0.21.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_112 /* sourcekitten */ = { + isa = PBXGroup; + children = ( + ); + name = sourcekitten; + path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/sourcekitten"; + sourceTree = SOURCE_ROOT; + }; + OBJ_113 /* SourceKittenFramework */ = { + isa = PBXGroup; + children = ( + 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_152 /* Yams 0.7.0 */ = { + isa = PBXGroup; + children = ( + OBJ_153 /* CYaml */, + OBJ_165 /* Yams */, + OBJ_182 /* Package.swift */, + ); + name = "Yams 0.7.0"; + sourceTree = SOURCE_ROOT; + }; + OBJ_153 /* CYaml */ = { + isa = PBXGroup; + children = ( + OBJ_154 /* src */, + OBJ_161 /* include */, + ); + name = CYaml; + path = ".build/checkouts/Yams.git-8068124914099325722/Sources/CYaml"; + sourceTree = SOURCE_ROOT; + }; + OBJ_154 /* src */ = { + isa = PBXGroup; + children = ( + 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_161 /* include */ = { + isa = PBXGroup; + children = ( + OBJ_162 /* CYaml.h */, + OBJ_163 /* yaml.h */, + OBJ_164 /* module.modulemap */, + ); + path = include; + sourceTree = ""; + }; + OBJ_165 /* Yams */ = { + isa = PBXGroup; + children = ( + 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_183 /* SWXMLHash 4.6.0 */ = { + isa = PBXGroup; + children = ( + 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_188 /* Products */ = { + isa = PBXGroup; + children = ( + "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 */, + "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */, + "Weaver::WeaverCommand::Product" /* WeaverCommand */, + "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */, + "Stencil::Stencil::Product" /* Stencil.framework */, + "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */, + ); + name = Products; + sourceTree = BUILT_PRODUCTS_DIR; + }; + OBJ_30 /* WeaverCommand */ = { + isa = PBXGroup; + children = ( + OBJ_31 /* Arguments.swift */, + OBJ_32 /* Logger.swift */, + OBJ_33 /* main.swift */, + ); + name = WeaverCommand; + path = Sources/WeaverCommand; + sourceTree = SOURCE_ROOT; + }; + OBJ_34 /* Tests */ = { + isa = PBXGroup; + children = ( + OBJ_35 /* WeaverCodeGenTests */, + ); + name = Tests; + sourceTree = SOURCE_ROOT; + }; + OBJ_35 /* WeaverCodeGenTests */ = { + isa = PBXGroup; + children = ( + 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_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_50 /* StencilSwiftKit 2.5.0 */ = { + isa = PBXGroup; + children = ( + OBJ_51 /* Package.swift */, + OBJ_52 /* Sources */, + ); + name = "StencilSwiftKit 2.5.0"; + path = ".build/checkouts/StencilSwiftKit.git--5335877019653034551"; + sourceTree = SOURCE_ROOT; + }; + OBJ_52 /* Sources */ = { + isa = PBXGroup; + children = ( + 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 */, + ); + path = Sources; + sourceTree = ""; + }; + OBJ_64 /* Stencil 0.11.0 */ = { + isa = PBXGroup; + children = ( + 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 = "Stencil 0.11.0"; + path = ".build/checkouts/Stencil.git-7635584243355970173/Sources"; + sourceTree = SOURCE_ROOT; + }; + OBJ_7 /* Sources */ = { + isa = PBXGroup; + children = ( + OBJ_8 /* WeaverCodeGen */, + OBJ_30 /* WeaverCommand */, + ); + name = Sources; + sourceTree = SOURCE_ROOT; + }; + OBJ_8 /* WeaverCodeGen */ = { + isa = PBXGroup; + children = ( + 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 = WeaverCodeGen; + path = Sources/WeaverCodeGen; + sourceTree = SOURCE_ROOT; + }; + OBJ_85 /* PathKit 0.9.1 */ = { + isa = PBXGroup; + children = ( + OBJ_86 /* Package.swift */, + OBJ_87 /* PathKit.swift */, + ); + name = "PathKit 0.9.1"; + path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; + sourceTree = SOURCE_ROOT; + }; + OBJ_88 /* Commander 0.8.0 */ = { + isa = PBXGroup; + children = ( + OBJ_89 /* Commander */, + OBJ_99 /* Package.swift */, + ); + 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 */ + +/* Begin PBXNativeTarget section */ + "Commander::Commander" /* Commander */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_214 /* Build configuration list for PBXNativeTarget "Commander" */; + buildPhases = ( + OBJ_217 /* Sources */, + OBJ_227 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Commander; + productName = Commander; + productReference = "Commander::Commander::Product" /* Commander.framework */; + productType = "com.apple.product-type.framework"; + }; + "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_229 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; + buildPhases = ( + OBJ_232 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CommanderPackageDescription; + productName = CommanderPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "PathKit::PathKit" /* PathKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_235 /* Build configuration list for PBXNativeTarget "PathKit" */; + buildPhases = ( + OBJ_238 /* Sources */, + OBJ_240 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PathKit; + productName = PathKit; + productReference = "PathKit::PathKit::Product" /* PathKit.framework */; + productType = "com.apple.product-type.framework"; + }; + "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_242 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; + buildPhases = ( + OBJ_245 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PathKitPackageDescription; + productName = PathKitPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "SWXMLHash::SWXMLHash" /* SWXMLHash */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_248 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; + buildPhases = ( + OBJ_251 /* Sources */, + OBJ_255 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SWXMLHash; + productName = SWXMLHash; + productReference = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; + productType = "com.apple.product-type.framework"; + }; + "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_257 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; + buildPhases = ( + OBJ_260 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SWXMLHashPackageDescription; + productName = SWXMLHashPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_263 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; + buildPhases = ( + OBJ_266 /* Sources */, + OBJ_304 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + OBJ_308 /* PBXTargetDependency */, + OBJ_310 /* PBXTargetDependency */, + OBJ_311 /* PBXTargetDependency */, + ); + name = SourceKittenFramework; + productName = SourceKittenFramework; + productReference = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; + productType = "com.apple.product-type.framework"; + }; + "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_313 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; + buildPhases = ( + OBJ_316 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SourceKittenPackageDescription; + productName = SourceKittenPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "Spectre::Spectre" /* Spectre */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_319 /* Build configuration list for PBXNativeTarget "Spectre" */; + buildPhases = ( + OBJ_322 /* Sources */, + OBJ_331 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Spectre; + productName = Spectre; + productReference = "Spectre::Spectre::Product" /* Spectre.framework */; + productType = "com.apple.product-type.framework"; + }; + "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_333 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; + buildPhases = ( + OBJ_336 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SpectrePackageDescription; + productName = SpectrePackageDescription; + productType = "com.apple.product-type.framework"; + }; + "Stencil::Stencil" /* Stencil */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_339 /* Build configuration list for PBXNativeTarget "Stencil" */; + buildPhases = ( + OBJ_342 /* Sources */, + OBJ_362 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + OBJ_365 /* PBXTargetDependency */, + OBJ_366 /* PBXTargetDependency */, + ); + name = Stencil; + productName = Stencil; + productReference = "Stencil::Stencil::Product" /* Stencil.framework */; + productType = "com.apple.product-type.framework"; + }; + "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_368 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; + buildPhases = ( + OBJ_371 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StencilPackageDescription; + productName = StencilPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_374 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */; + buildPhases = ( + OBJ_377 /* Sources */, + OBJ_389 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + OBJ_393 /* PBXTargetDependency */, + OBJ_394 /* PBXTargetDependency */, + OBJ_395 /* PBXTargetDependency */, + ); + name = StencilSwiftKit; + productName = StencilSwiftKit; + productReference = "StencilSwiftKit::StencilSwiftKit::Product" /* StencilSwiftKit.framework */; + productType = "com.apple.product-type.framework"; + }; + "StencilSwiftKit::SwiftPMPackageDescription" /* StencilSwiftKitPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_397 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */; + buildPhases = ( + OBJ_400 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StencilSwiftKitPackageDescription; + productName = StencilSwiftKitPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "Weaver::SwiftPMPackageDescription" /* WeaverPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_507 /* Build configuration list for PBXNativeTarget "WeaverPackageDescription" */; + buildPhases = ( + OBJ_510 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = WeaverPackageDescription; + productName = WeaverPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "Weaver::WeaverCodeGen" /* WeaverCodeGen */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_403 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; + buildPhases = ( + OBJ_406 /* Sources */, + OBJ_428 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 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 = "Weaver::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; + productType = "com.apple.product-type.framework"; + }; + "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_446 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; + buildPhases = ( + OBJ_449 /* Sources */, + OBJ_458 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 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 = "Weaver::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + "Weaver::WeaverCommand" /* WeaverCommand */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_478 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; + buildPhases = ( + OBJ_481 /* Sources */, + OBJ_485 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 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 = "Weaver::WeaverCommand::Product" /* WeaverCommand */; + productType = "com.apple.product-type.tool"; + }; + "Yams::CYaml" /* CYaml */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_202 /* Build configuration list for PBXNativeTarget "CYaml" */; + buildPhases = ( + OBJ_205 /* Sources */, + OBJ_212 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CYaml; + productName = CYaml; + productReference = "Yams::CYaml::Product" /* CYaml.framework */; + productType = "com.apple.product-type.framework"; + }; + "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_541 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; + buildPhases = ( + OBJ_544 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YamsPackageDescription; + productName = YamsPackageDescription; + productType = "com.apple.product-type.framework"; + }; + "Yams::Yams" /* Yams */ = { + isa = PBXNativeTarget; + buildConfigurationList = OBJ_517 /* Build configuration list for PBXNativeTarget "Yams" */; + buildPhases = ( + OBJ_520 /* Sources */, + OBJ_537 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + OBJ_539 /* PBXTargetDependency */, + ); + name = Yams; + productName = Yams; + productReference = "Yams::Yams::Product" /* Yams.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + OBJ_1 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 9999; + }; + buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "Weaver" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = OBJ_5 /* */; + productRefGroup = OBJ_188 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + "Yams::CYaml" /* CYaml */, + "Commander::Commander" /* Commander */, + "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */, + "PathKit::PathKit" /* PathKit */, + "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */, + "SWXMLHash::SWXMLHash" /* SWXMLHash */, + "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 */, + "Weaver::WeaverCodeGen" /* WeaverCodeGen */, + "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */, + "Weaver::WeaverCommand" /* WeaverCommand */, + "Weaver::SwiftPMPackageDescription" /* WeaverPackageDescription */, + "Weaver::WeaverPackageTests::ProductTarget" /* WeaverPackageTests */, + "Yams::Yams" /* Yams */, + "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + OBJ_205 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_217 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_232 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_233 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_238 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_239 /* PathKit.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_245 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_246 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_251 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_252 /* SWXMLHash+TypeConversion.swift in Sources */, + OBJ_253 /* SWXMLHash.swift in Sources */, + OBJ_254 /* shim.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_260 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_261 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_266 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_316 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_317 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_322 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_336 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_337 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_342 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_371 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_372 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_377 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_400 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_401 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_406 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_449 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_481 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_482 /* Arguments.swift in Sources */, + OBJ_483 /* Logger.swift in Sources */, + OBJ_484 /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_510 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_511 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + OBJ_520 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + 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_544 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 0; + files = ( + OBJ_545 /* Package.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + OBJ_308 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::Yams" /* Yams */; + targetProxy = 196398462109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_310 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 196398472109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_311 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; + targetProxy = 196398482109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_365 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 1963983E2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_366 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 1963983F2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_393 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 1963983D2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_394 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 196398402109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_395 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 196398412109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_437 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 1963983C2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_438 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 196398422109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_439 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 196398432109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_440 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 196398442109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_441 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; + targetProxy = 196398452109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_442 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::Yams" /* Yams */; + targetProxy = 196398492109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_443 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 1963984A2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_444 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; + targetProxy = 1963984B2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_468 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Weaver::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 196398542109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_469 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 196398552109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_470 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 196398562109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_471 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 196398572109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_472 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 196398582109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_473 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; + targetProxy = 196398592109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_474 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::Yams" /* Yams */; + targetProxy = 1963985A2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_475 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 1963985B2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_476 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; + targetProxy = 1963985C2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_496 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Commander::Commander" /* Commander */; + targetProxy = 1963983A2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_497 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Weaver::WeaverCodeGen" /* WeaverCodeGen */; + targetProxy = 1963983B2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_498 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "StencilSwiftKit::StencilSwiftKit" /* StencilSwiftKit */; + targetProxy = 1963984C2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_499 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Stencil::Stencil" /* Stencil */; + targetProxy = 1963984D2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_500 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Spectre::Spectre" /* Spectre */; + targetProxy = 1963984E2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_501 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "PathKit::PathKit" /* PathKit */; + targetProxy = 1963984F2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_502 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; + targetProxy = 196398502109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_503 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::Yams" /* Yams */; + targetProxy = 196398512109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_504 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 196398522109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_505 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; + targetProxy = 196398532109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_516 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Weaver::WeaverCodeGenTests" /* WeaverCodeGenTests */; + targetProxy = 1963985D2109757700E818FD /* PBXContainerItemProxy */; + }; + OBJ_539 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = "Yams::CYaml" /* CYaml */; + targetProxy = 196398392109757700E818FD /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + OBJ_203 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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 = Weaver.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_204 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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 = Weaver.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_215 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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_216 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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_230 /* 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_231 /* 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_236 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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_237 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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_243 /* 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_244 /* 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_249 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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 = SWXMLHash; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = SWXMLHash; + }; + name = Debug; + }; + OBJ_250 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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 = SWXMLHash; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = SWXMLHash; + }; + name = Release; + }; + OBJ_258 /* 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_259 /* 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_264 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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 = SourceKittenFramework; + }; + name = Debug; + }; + OBJ_265 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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 = SourceKittenFramework; + }; + name = Release; + }; + OBJ_3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + MACOSX_DEPLOYMENT_TARGET = 10.10; + ONLY_ACTIVE_ARCH = YES; + OTHER_SWIFT_FLAGS = "-DXcode"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + USE_HEADERMAP = NO; + }; + name = Debug; + }; + OBJ_314 /* 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_315 /* 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_320 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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)"; + PRODUCT_BUNDLE_IDENTIFIER = Spectre; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = Spectre; + }; + name = Debug; + }; + OBJ_321 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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)"; + PRODUCT_BUNDLE_IDENTIFIER = Spectre; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = Spectre; + }; + name = Release; + }; + OBJ_334 /* 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_335 /* 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_340 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.xcodeproj/Stencil_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 = Stencil; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGET_NAME = Stencil; + }; + name = Debug; + }; + OBJ_341 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.xcodeproj/Stencil_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 = Stencil; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGET_NAME = Stencil; + }; + name = Release; + }; + OBJ_369 /* 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_370 /* 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_375 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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 = StencilSwiftKit; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = StencilSwiftKit; + }; + name = Debug; + }; + OBJ_376 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Weaver.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 = StencilSwiftKit; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = StencilSwiftKit; + }; + 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 = { + CLANG_ENABLE_OBJC_ARC = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_OPTIMIZATION_LEVEL = s; + MACOSX_DEPLOYMENT_TARGET = 10.10; + OTHER_SWIFT_FLAGS = "-DXcode"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + USE_HEADERMAP = NO; + }; + name = Release; + }; + OBJ_404 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCodeGen; + }; + name = Debug; + }; + OBJ_405 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", + "$(SRCROOT)/.build/checkouts/Clang_C.git-5715122005051714050", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; + PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCodeGen; + }; + name = Release; + }; + OBJ_447 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCodeGenTests; + }; + name = Debug; + }; + OBJ_448 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; + SWIFT_VERSION = 4.0; + TARGET_NAME = WeaverCodeGenTests; + }; + name = Release; + }; + OBJ_479 /* 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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 */ = { + 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)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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_508 /* 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_509 /* 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_514 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + OBJ_515 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; + OBJ_518 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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; + }; + name = Debug; + }; + OBJ_519 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + 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", + "$(SRCROOT)/Weaver.xcodeproj/GeneratedModuleMap/CYaml", + ); + 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)/Weaver.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; + }; + name = Release; + }; + OBJ_542 /* 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_543 /* 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_2 /* Build configuration list for PBXProject "Weaver" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_3 /* Debug */, + OBJ_4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_202 /* Build configuration list for PBXNativeTarget "CYaml" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_203 /* Debug */, + OBJ_204 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_214 /* Build configuration list for PBXNativeTarget "Commander" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_215 /* Debug */, + OBJ_216 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_229 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_230 /* Debug */, + OBJ_231 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_235 /* Build configuration list for PBXNativeTarget "PathKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_236 /* Debug */, + OBJ_237 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_242 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_243 /* Debug */, + OBJ_244 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_248 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_249 /* Debug */, + OBJ_250 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_257 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_258 /* Debug */, + OBJ_259 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_263 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_264 /* Debug */, + OBJ_265 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_313 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_314 /* Debug */, + OBJ_315 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_319 /* Build configuration list for PBXNativeTarget "Spectre" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_320 /* Debug */, + OBJ_321 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_333 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_334 /* Debug */, + OBJ_335 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_339 /* Build configuration list for PBXNativeTarget "Stencil" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_340 /* Debug */, + OBJ_341 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_368 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_369 /* Debug */, + OBJ_370 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_374 /* Build configuration list for PBXNativeTarget "StencilSwiftKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_375 /* Debug */, + OBJ_376 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_397 /* Build configuration list for PBXNativeTarget "StencilSwiftKitPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_398 /* Debug */, + OBJ_399 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_403 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_404 /* Debug */, + OBJ_405 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_446 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_447 /* Debug */, + OBJ_448 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_478 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_479 /* Debug */, + OBJ_480 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_507 /* Build configuration list for PBXNativeTarget "WeaverPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_508 /* Debug */, + OBJ_509 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_513 /* Build configuration list for PBXAggregateTarget "WeaverPackageTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_514 /* Debug */, + OBJ_515 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_517 /* Build configuration list for PBXNativeTarget "Yams" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_518 /* Debug */, + OBJ_519 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + OBJ_541 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + OBJ_542 /* Debug */, + OBJ_543 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = OBJ_1 /* Project object */; +} 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.pbxproj b/WeaverDI.xcodeproj/project.pbxproj deleted file mode 100644 index 6b8452bf..00000000 --- a/WeaverDI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,3092 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXAggregateTarget section */ - "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */ = { - isa = PBXAggregateTarget; - buildConfigurationList = OBJ_524 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */; - buildPhases = ( - ); - dependencies = ( - OBJ_527 /* PBXTargetDependency */, - OBJ_528 /* PBXTargetDependency */, - ); - name = WeaverDIPackageTests; - productName = WeaverDIPackageTests; - }; -/* 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 */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 196C2A7B20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Stencil::Stencil"; - remoteInfo = Stencil; - }; - 196C2A7C20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Spectre::Spectre"; - remoteInfo = Spectre; - }; - 196C2A7D20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "PathKit::PathKit"; - remoteInfo = PathKit; - }; - 196C2A7E20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Spectre::Spectre"; - remoteInfo = Spectre; - }; - 196C2A7F20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "PathKit::PathKit"; - remoteInfo = PathKit; - }; - 196C2A8020B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; - remoteInfo = SourceKittenFramework; - }; - 196C2A8120B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::Yams"; - remoteInfo = Yams; - }; - 196C2A8220B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 196C2A8320B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 196C2A8420B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SWXMLHash::SWXMLHash"; - remoteInfo = SWXMLHash; - }; - 196C2A8520B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::Yams"; - remoteInfo = Yams; - }; - 196C2A8620B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 196C2A8720B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SWXMLHash::SWXMLHash"; - remoteInfo = SWXMLHash; - }; - 196C2A8820B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 196C2A8920B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; - remoteInfo = WeaverCodeGen; - }; - 196C2A8A20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Stencil::Stencil"; - remoteInfo = Stencil; - }; - 196C2A8B20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Spectre::Spectre"; - remoteInfo = Spectre; - }; - 196C2A8C20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "PathKit::PathKit"; - remoteInfo = PathKit; - }; - 196C2A8D20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; - remoteInfo = SourceKittenFramework; - }; - 196C2A8E20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::Yams"; - remoteInfo = Yams; - }; - 196C2A8F20B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 196C2A9020B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SWXMLHash::SWXMLHash"; - remoteInfo = SWXMLHash; - }; - 196C2A9120B8E9B8003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 196C2A9220B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Commander::Commander"; - remoteInfo = Commander; - }; - 196C2A9320B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGen"; - remoteInfo = WeaverCodeGen; - }; - 196C2A9420B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Stencil::Stencil"; - remoteInfo = Stencil; - }; - 196C2A9520B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Spectre::Spectre"; - remoteInfo = Spectre; - }; - 196C2A9620B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "PathKit::PathKit"; - remoteInfo = PathKit; - }; - 196C2A9720B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "SourceKitten::SourceKittenFramework"; - remoteInfo = SourceKittenFramework; - }; - 196C2A9820B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::Yams"; - remoteInfo = Yams; - }; - 196C2A9920B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "Yams::CYaml"; - remoteInfo = CYaml; - }; - 196C2A9A20B8E9B9003A4AC4 /* 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 */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDI"; - remoteInfo = WeaverDI; - }; - 196C2A9D20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverDITests"; - remoteInfo = WeaverDITests; - }; - 196C2A9E20B8E9B9003A4AC4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = OBJ_1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = "WeaverDI::WeaverCodeGenTests"; - remoteInfo = WeaverCodeGenTests; - }; -/* 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_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_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 = ""; }; - "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; }; - "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; }; - "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_250 /* 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 */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_306 /* 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 */ = { - 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 */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_384 /* Spectre.framework in Frameworks */, - OBJ_385 /* PathKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_400 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_406 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_448 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_449 /* Yams.framework in Frameworks */, - OBJ_450 /* CYaml.framework in Frameworks */, - OBJ_451 /* SWXMLHash.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_475 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_476 /* CYaml.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_488 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_496 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_507 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - OBJ_508 /* WeaverDI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_522 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - OBJ_103 /* SourceKitten 0.20.0 */ = { - isa = PBXGroup; - children = ( - OBJ_104 /* SourceKittenFramework */, - OBJ_142 /* sourcekitten */, - OBJ_143 /* Package.swift */, - ); - name = "SourceKitten 0.20.0"; - sourceTree = SOURCE_ROOT; - }; - OBJ_104 /* SourceKittenFramework */ = { - 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 */, - ); - name = SourceKittenFramework; - path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/SourceKittenFramework"; - sourceTree = SOURCE_ROOT; - }; - OBJ_142 /* sourcekitten */ = { - isa = PBXGroup; - children = ( - ); - name = sourcekitten; - path = ".build/checkouts/SourceKitten.git-6484296299232452758/Source/sourcekitten"; - sourceTree = SOURCE_ROOT; - }; - OBJ_144 /* Yams 0.7.0 */ = { - isa = PBXGroup; - children = ( - OBJ_145 /* CYaml */, - OBJ_157 /* Yams */, - OBJ_174 /* Package.swift */, - ); - name = "Yams 0.7.0"; - sourceTree = SOURCE_ROOT; - }; - OBJ_145 /* CYaml */ = { - isa = PBXGroup; - children = ( - OBJ_146 /* src */, - OBJ_153 /* include */, - ); - name = CYaml; - path = ".build/checkouts/Yams.git-8068124914099325722/Sources/CYaml"; - sourceTree = SOURCE_ROOT; - }; - OBJ_146 /* 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 */, - ); - path = src; - sourceTree = ""; - }; - OBJ_153 /* include */ = { - isa = PBXGroup; - children = ( - OBJ_154 /* CYaml.h */, - OBJ_155 /* yaml.h */, - OBJ_156 /* module.modulemap */, - ); - path = include; - sourceTree = ""; - }; - OBJ_157 /* 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 */, - ); - 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 */ = { - isa = PBXGroup; - children = ( - OBJ_176 /* Package.swift */, - OBJ_177 /* SWXMLHash+TypeConversion.swift */, - OBJ_178 /* SWXMLHash.swift */, - OBJ_179 /* shim.swift */, - ); - name = "SWXMLHash 4.6.0"; - path = ".build/checkouts/SWXMLHash.git-5776748636326364470/Source"; - sourceTree = SOURCE_ROOT; - }; - OBJ_180 /* 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 */, - "Yams::Yams::Product" /* Yams.framework */, - "Yams::CYaml::Product" /* CYaml.framework */, - "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */, - "WeaverDI::WeaverDITests::Product" /* WeaverDITests.xctest */, - "WeaverDI::WeaverDI::Product" /* WeaverDI.framework */, - ); - name = Products; - sourceTree = BUILT_PRODUCTS_DIR; - }; - OBJ_32 /* WeaverCommand */ = { - isa = PBXGroup; - children = ( - OBJ_33 /* Arguments.swift */, - OBJ_34 /* Logger.swift */, - OBJ_35 /* main.swift */, - ); - name = WeaverCommand; - path = Sources/WeaverCommand; - sourceTree = SOURCE_ROOT; - }; - OBJ_36 /* Tests */ = { - isa = PBXGroup; - children = ( - OBJ_37 /* WeaverDITests */, - OBJ_43 /* WeaverCodeGenTests */, - ); - 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 */ = { - 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 */, - ); - name = WeaverCodeGenTests; - path = Tests/WeaverCodeGenTests; - sourceTree = SOURCE_ROOT; - }; - 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; - 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 */ = { - isa = PBXGroup; - children = ( - OBJ_8 /* WeaverDI */, - OBJ_17 /* WeaverCodeGen */, - OBJ_32 /* WeaverCommand */, - ); - name = Sources; - sourceTree = SOURCE_ROOT; - }; - OBJ_77 /* PathKit 0.9.1 */ = { - isa = PBXGroup; - children = ( - OBJ_78 /* Package.swift */, - OBJ_79 /* PathKit.swift */, - ); - name = "PathKit 0.9.1"; - path = ".build/checkouts/PathKit.git--1865447967743163058/Sources"; - sourceTree = SOURCE_ROOT; - }; - OBJ_8 /* WeaverDI */ = { - 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 */, - ); - name = WeaverDI; - path = Sources/WeaverDI; - sourceTree = SOURCE_ROOT; - }; - OBJ_80 /* Commander 0.8.0 */ = { - isa = PBXGroup; - children = ( - OBJ_81 /* Commander */, - OBJ_91 /* Package.swift */, - ); - name = "Commander 0.8.0"; - sourceTree = SOURCE_ROOT; - }; - OBJ_81 /* Commander */ = { - 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 */, - ); - name = Commander; - path = ".build/checkouts/Commander.git-8842944228949165507/Sources/Commander"; - sourceTree = SOURCE_ROOT; - }; - OBJ_92 /* Spectre 0.8.0 */ = { - isa = PBXGroup; - children = ( - OBJ_93 /* Spectre */, - OBJ_102 /* Package.swift */, - ); - name = "Spectre 0.8.0"; - sourceTree = SOURCE_ROOT; - }; - OBJ_93 /* Spectre */ = { - 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 */, - ); - name = Spectre; - path = ".build/checkouts/Spectre.git--7655155069707042687/Sources/Spectre"; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - "Commander::Commander" /* Commander */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_281 /* Build configuration list for PBXNativeTarget "Commander" */; - buildPhases = ( - OBJ_284 /* Sources */, - OBJ_294 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Commander; - productName = Commander; - productReference = "Commander::Commander::Product" /* Commander.framework */; - productType = "com.apple.product-type.framework"; - }; - "Commander::SwiftPMPackageDescription" /* CommanderPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_213 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */; - buildPhases = ( - OBJ_216 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = CommanderPackageDescription; - productName = CommanderPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "PathKit::PathKit" /* PathKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_401 /* Build configuration list for PBXNativeTarget "PathKit" */; - buildPhases = ( - OBJ_404 /* Sources */, - OBJ_406 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PathKit; - productName = PathKit; - productReference = "PathKit::PathKit::Product" /* PathKit.framework */; - productType = "com.apple.product-type.framework"; - }; - "PathKit::SwiftPMPackageDescription" /* PathKitPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_207 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */; - buildPhases = ( - OBJ_210 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PathKitPackageDescription; - productName = PathKitPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "SWXMLHash::SWXMLHash" /* SWXMLHash */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_489 /* Build configuration list for PBXNativeTarget "SWXMLHash" */; - buildPhases = ( - OBJ_492 /* Sources */, - OBJ_496 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SWXMLHash; - productName = SWXMLHash; - productReference = "SWXMLHash::SWXMLHash::Product" /* SWXMLHash.framework */; - productType = "com.apple.product-type.framework"; - }; - "SWXMLHash::SwiftPMPackageDescription" /* SWXMLHashPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_237 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */; - buildPhases = ( - OBJ_240 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SWXMLHashPackageDescription; - productName = SWXMLHashPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_407 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */; - buildPhases = ( - OBJ_410 /* Sources */, - OBJ_448 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - OBJ_452 /* PBXTargetDependency */, - OBJ_453 /* PBXTargetDependency */, - OBJ_454 /* PBXTargetDependency */, - ); - name = SourceKittenFramework; - productName = SourceKittenFramework; - productReference = "SourceKitten::SourceKittenFramework::Product" /* SourceKittenFramework.framework */; - productType = "com.apple.product-type.framework"; - }; - "SourceKitten::SwiftPMPackageDescription" /* SourceKittenPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_225 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */; - buildPhases = ( - OBJ_228 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SourceKittenPackageDescription; - productName = SourceKittenPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "Spectre::Spectre" /* Spectre */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_388 /* Build configuration list for PBXNativeTarget "Spectre" */; - buildPhases = ( - OBJ_391 /* Sources */, - OBJ_400 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Spectre; - productName = Spectre; - productReference = "Spectre::Spectre::Product" /* Spectre.framework */; - productType = "com.apple.product-type.framework"; - }; - "Spectre::SwiftPMPackageDescription" /* SpectrePackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_219 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */; - buildPhases = ( - OBJ_222 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SpectrePackageDescription; - productName = SpectrePackageDescription; - productType = "com.apple.product-type.framework"; - }; - "Stencil::Stencil" /* Stencil */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_360 /* Build configuration list for PBXNativeTarget "Stencil" */; - buildPhases = ( - OBJ_363 /* Sources */, - OBJ_383 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - OBJ_386 /* PBXTargetDependency */, - OBJ_387 /* PBXTargetDependency */, - ); - name = Stencil; - productName = Stencil; - productReference = "Stencil::Stencil::Product" /* Stencil.framework */; - productType = "com.apple.product-type.framework"; - }; - "Stencil::SwiftPMPackageDescription" /* StencilPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_201 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */; - buildPhases = ( - OBJ_204 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StencilPackageDescription; - productName = StencilPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "WeaverDI::SwiftPMPackageDescription" /* WeaverDIPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_195 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */; - buildPhases = ( - OBJ_198 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WeaverDIPackageDescription; - productName = WeaverDIPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_325 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */; - buildPhases = ( - 19F3CD5620BF3851007C3076 /* Generate Sources */, - OBJ_328 /* Sources */, - OBJ_343 /* 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 */, - ); - name = WeaverCodeGen; - productName = WeaverCodeGen; - productReference = "WeaverDI::WeaverCodeGen::Product" /* WeaverCodeGen.framework */; - productType = "com.apple.product-type.framework"; - }; - "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_296 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */; - buildPhases = ( - OBJ_299 /* Sources */, - OBJ_306 /* 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 */, - ); - name = WeaverCodeGenTests; - productName = WeaverCodeGenTests; - productReference = "WeaverDI::WeaverCodeGenTests::Product" /* WeaverCodeGenTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - "WeaverDI::WeaverCommand" /* WeaverCommand */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_243 /* Build configuration list for PBXNativeTarget "WeaverCommand" */; - buildPhases = ( - OBJ_246 /* Sources */, - OBJ_250 /* 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 */, - ); - name = WeaverCommand; - productName = WeaverCommand; - productReference = "WeaverDI::WeaverCommand::Product" /* WeaverCommand */; - productType = "com.apple.product-type.tool"; - }; - "WeaverDI::WeaverDI" /* WeaverDI */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_510 /* Build configuration list for PBXNativeTarget "WeaverDI" */; - buildPhases = ( - OBJ_513 /* Sources */, - OBJ_522 /* 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_498 /* Build configuration list for PBXNativeTarget "WeaverDITests" */; - buildPhases = ( - OBJ_501 /* Sources */, - OBJ_507 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - OBJ_509 /* 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_478 /* Build configuration list for PBXNativeTarget "CYaml" */; - buildPhases = ( - OBJ_481 /* Sources */, - OBJ_488 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = CYaml; - productName = CYaml; - productReference = "Yams::CYaml::Product" /* CYaml.framework */; - productType = "com.apple.product-type.framework"; - }; - "Yams::SwiftPMPackageDescription" /* YamsPackageDescription */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_231 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */; - buildPhases = ( - OBJ_234 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = YamsPackageDescription; - productName = YamsPackageDescription; - productType = "com.apple.product-type.framework"; - }; - "Yams::Yams" /* Yams */ = { - isa = PBXNativeTarget; - buildConfigurationList = OBJ_455 /* Build configuration list for PBXNativeTarget "Yams" */; - buildPhases = ( - OBJ_458 /* Sources */, - OBJ_475 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - OBJ_477 /* PBXTargetDependency */, - ); - name = Yams; - productName = Yams; - productReference = "Yams::Yams::Product" /* Yams.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - OBJ_1 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 9999; - }; - buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = OBJ_5; - productRefGroup = OBJ_180 /* 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 */, - "Commander::Commander" /* Commander */, - "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */, - "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */, - "Stencil::Stencil" /* Stencil */, - "Spectre::Spectre" /* Spectre */, - "PathKit::PathKit" /* PathKit */, - "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */, - "Yams::Yams" /* Yams */, - "Yams::CYaml" /* CYaml */, - "SWXMLHash::SWXMLHash" /* SWXMLHash */, - "WeaverDI::WeaverDITests" /* WeaverDITests */, - "WeaverDI::WeaverDI" /* WeaverDI */, - "WeaverDI::WeaverDIPackageTests::ProductTarget" /* WeaverDIPackageTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXShellScriptBuildPhase section */ - 19F3CD5620BF3851007C3076 /* Generate Sources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Generate Sources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make generate_sources\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - OBJ_198 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_199 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_204 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_205 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_210 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_211 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_216 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_217 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_222 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_223 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_228 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_229 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_234 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_235 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_240 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_241 /* Package.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_246 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_247 /* Arguments.swift in Sources */, - OBJ_248 /* Logger.swift in Sources */, - OBJ_249 /* main.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_284 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_299 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_328 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_363 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_391 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_404 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 0; - files = ( - OBJ_405 /* PathKit.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_410 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_458 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_481 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_492 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_501 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - OBJ_513 /* 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 */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - OBJ_261 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Commander::Commander" /* Commander */; - targetProxy = 196C2A9220B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_263 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 196C2A9320B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_265 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A9420B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_267 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A9520B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_269 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A9620B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_271 /* 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 */; - }; - OBJ_277 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A9A20B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_279 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9B20B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_316 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGen" /* WeaverCodeGen */; - targetProxy = 196C2A8920B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_317 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A8A20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_318 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A8B20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_319 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A8C20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_320 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 196C2A8D20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8E20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_322 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8F20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_323 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A9020B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_324 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9120B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_352 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Stencil::Stencil" /* Stencil */; - targetProxy = 196C2A7B20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_353 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A7E20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_354 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A7F20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_355 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SourceKitten::SourceKittenFramework" /* SourceKittenFramework */; - targetProxy = 196C2A8020B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_356 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8520B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_357 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8620B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_358 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A8720B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_359 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A8820B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_386 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Spectre::Spectre" /* Spectre */; - targetProxy = 196C2A7C20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_387 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "PathKit::PathKit" /* PathKit */; - targetProxy = 196C2A7D20B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_452 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::Yams" /* Yams */; - targetProxy = 196C2A8120B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_453 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8320B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_454 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "SWXMLHash::SWXMLHash" /* SWXMLHash */; - targetProxy = 196C2A8420B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_477 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "Yams::CYaml" /* CYaml */; - targetProxy = 196C2A8220B8E9B8003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_509 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDI" /* WeaverDI */; - targetProxy = 196C2A9C20B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_527 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverDITests" /* WeaverDITests */; - targetProxy = 196C2A9D20B8E9B9003A4AC4 /* PBXContainerItemProxy */; - }; - OBJ_528 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = "WeaverDI::WeaverCodeGenTests" /* WeaverCodeGenTests */; - targetProxy = 196C2A9E20B8E9B9003A4AC4 /* 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 */ = { - 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; - }; - name = Debug; - }; - OBJ_215 /* 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_220 /* 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_221 /* 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_226 /* 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_227 /* 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_232 /* 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_233 /* 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_238 /* 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_239 /* 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; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCommand; - }; - name = Release; - }; - OBJ_282 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_283 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_297 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; - 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/WeaverCodeGenTests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGenTests; - }; - name = Debug; - }; - OBJ_298 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; - 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/WeaverCodeGenTests_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGenTests; - }; - name = Release; - }; - OBJ_3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_NS_ASSERTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - MACOSX_DEPLOYMENT_TARGET = 10.10; - ONLY_ACTIVE_ARCH = YES; - OTHER_SWIFT_FLAGS = "-DXcode"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - USE_HEADERMAP = NO; - }; - name = Debug; - }; - OBJ_326 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGen; - }; - name = Debug; - }; - OBJ_327 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml/module.modulemap"; - PRODUCT_BUNDLE_IDENTIFIER = WeaverCodeGen; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverCodeGen; - }; - name = Release; - }; - OBJ_361 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Stencil; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - TARGET_NAME = Stencil; - }; - name = Debug; - }; - OBJ_362 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - HEADER_SEARCH_PATHS = "$(inherited)"; - INFOPLIST_FILE = WeaverDI.xcodeproj/Stencil_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = Stencil; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - TARGET_NAME = Stencil; - }; - name = Release; - }; - OBJ_389 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - 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 = Spectre; - }; - name = Debug; - }; - OBJ_390 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - 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 = Spectre; - }; - name = Release; - }; - OBJ_4 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - MACOSX_DEPLOYMENT_TARGET = 10.10; - OTHER_SWIFT_FLAGS = "-DXcode"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - USE_HEADERMAP = NO; - }; - name = Release; - }; - OBJ_402 /* 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; - SWIFT_VERSION = 4.0; - TARGET_NAME = PathKit; - }; - name = Debug; - }; - OBJ_403 /* 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; - SWIFT_VERSION = 4.0; - TARGET_NAME = PathKit; - }; - name = Release; - }; - OBJ_408 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(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"; - 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 = SourceKittenFramework; - }; - name = Debug; - }; - OBJ_409 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(SRCROOT)/.build/checkouts/SourceKit.git-6033254968535974678", - "$(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"; - 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 = SourceKittenFramework; - }; - name = Release; - }; - OBJ_456 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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; - }; - name = Debug; - }; - OBJ_457 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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", - "$(SRCROOT)/WeaverDI.xcodeproj/GeneratedModuleMap/CYaml", - ); - INFOPLIST_FILE = WeaverDI.xcodeproj/Yams_Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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; - }; - name = Release; - }; - OBJ_479 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_480 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_490 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = SWXMLHash; - }; - name = Debug; - }; - OBJ_491 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(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"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = SWXMLHash; - PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; - TARGET_NAME = SWXMLHash; - }; - name = Release; - }; - OBJ_499 /* 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 = "@loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDITests; - }; - name = Debug; - }; - OBJ_500 /* 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 = "@loader_path/../Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = "$(inherited)"; - OTHER_SWIFT_FLAGS = "$(inherited)"; - SWIFT_VERSION = 4.0; - TARGET_NAME = WeaverDITests; - }; - name = Release; - }; - OBJ_511 /* 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_512 /* 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 = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; - 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_525 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Debug; - }; - OBJ_526 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - OBJ_195 /* Build configuration list for PBXNativeTarget "WeaverDIPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_196 /* Debug */, - OBJ_197 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_2 /* Build configuration list for PBXProject "WeaverDI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_3 /* Debug */, - OBJ_4 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_201 /* Build configuration list for PBXNativeTarget "StencilPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_202 /* Debug */, - OBJ_203 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_207 /* Build configuration list for PBXNativeTarget "PathKitPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_208 /* Debug */, - OBJ_209 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_213 /* Build configuration list for PBXNativeTarget "CommanderPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_214 /* Debug */, - OBJ_215 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_219 /* Build configuration list for PBXNativeTarget "SpectrePackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_220 /* Debug */, - OBJ_221 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_225 /* Build configuration list for PBXNativeTarget "SourceKittenPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_226 /* Debug */, - OBJ_227 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_231 /* Build configuration list for PBXNativeTarget "YamsPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_232 /* Debug */, - OBJ_233 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_237 /* Build configuration list for PBXNativeTarget "SWXMLHashPackageDescription" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_238 /* Debug */, - OBJ_239 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_243 /* Build configuration list for PBXNativeTarget "WeaverCommand" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_244 /* Debug */, - OBJ_245 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_281 /* Build configuration list for PBXNativeTarget "Commander" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_282 /* Debug */, - OBJ_283 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_296 /* Build configuration list for PBXNativeTarget "WeaverCodeGenTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_297 /* Debug */, - OBJ_298 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_325 /* Build configuration list for PBXNativeTarget "WeaverCodeGen" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_326 /* Debug */, - OBJ_327 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_360 /* Build configuration list for PBXNativeTarget "Stencil" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_361 /* Debug */, - OBJ_362 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_388 /* Build configuration list for PBXNativeTarget "Spectre" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_389 /* Debug */, - OBJ_390 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_401 /* Build configuration list for PBXNativeTarget "PathKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_402 /* Debug */, - OBJ_403 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_407 /* Build configuration list for PBXNativeTarget "SourceKittenFramework" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_408 /* Debug */, - OBJ_409 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_455 /* Build configuration list for PBXNativeTarget "Yams" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_456 /* Debug */, - OBJ_457 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_478 /* Build configuration list for PBXNativeTarget "CYaml" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_479 /* Debug */, - OBJ_480 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_489 /* Build configuration list for PBXNativeTarget "SWXMLHash" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_490 /* Debug */, - OBJ_491 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_498 /* Build configuration list for PBXNativeTarget "WeaverDITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_499 /* Debug */, - OBJ_500 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_510 /* Build configuration list for PBXNativeTarget "WeaverDI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_511 /* Debug */, - OBJ_512 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - OBJ_524 /* Build configuration list for PBXAggregateTarget "WeaverDIPackageTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - OBJ_525 /* Debug */, - OBJ_526 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = OBJ_1 /* Project object */; -} 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/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