diff --git a/.codecov.yml b/.codecov.yml index 38c1e9e..3b0901b 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -13,7 +13,7 @@ coverage: changes: no ignore: - - PactConsumerSwiftTests/* + - Tests/* parsers: gcov: diff --git a/.swift-version b/.swift-version index 9f55b2c..5186d07 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -3.0 +4.0 diff --git a/.swiftlint.yml b/.swiftlint.yml index 07bf68b..92bbef1 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -2,10 +2,9 @@ excluded: - scripts - Carthage - certificates - - PactConsumerSwiftTests/ - Products/ included: - - PactConsumerSwift/ + - Sources/ opt_in_rules: - empty_count force_cast: diff --git a/.travis.yml b/.travis.yml index 0a634be..4a4e61c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,34 @@ language: objective-c osx_image: xcode9 +env: + global: + - IOS_FRAMEWORK_SCHEME="PactConsumerSwift iOS" + - MACOS_FRAMEWORK_SCHEME="PactConsumerSwift macOS" + - TVOS_FRAMEWORK_SCHEME="PactConsumerSwift tvOS" + - PROJECT_NAME="PactConsumerSwift.xcodeproj" + - secure: QmmEqePFeG6D1Qu0KrWI0w6LiwiY3V2qUWAHxQrSYFFPG4wJOZuHpwdk9NO45gOzPYxbkzXT9MynWFMs5pZKrIJCmQRkK5fNcDecwvNunsJEzBmvNYLhd0B4IKy2R1pBmKcDHPIYCzgpanPDAV7LhTXlGoUGk59+QL6qK8+hBQs= + - secure: FpfacekFs93LkX9gerQUxQKIDTjBl2abp7ZQ/8L3DiJo4nMF7xEwUGeSDQMR+2hRqRWr/SdU59Lll5k10JBqWxAaLXDTUq3Lh3aamc4nc2PAN7yp+0aq9RQG5+PaLkfx+SLs5B/CjDiRRotZg/H/uMTRRFbkqydVtxiqGv94JOg= + matrix: + - DESTINATION="OS=11.0,name=iPhone 8" SCHEME="$IOS_FRAMEWORK_SCHEME" CARTHAGE_PLATFORM="iOS" + - DESTINATION="OS=10.3.1,name=iPhone 7 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" CARTHAGE_PLATFORM="iOS" + + - DESTINATION="OS=11.0,name=Apple TV 4K (at 1080p)" SCHEME="$TVOS_FRAMEWORK_SCHEME" CARTHAGE_PLATFORM="tvOS" + + - DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME" CARTHAGE_PLATFORM="macOS" before_install: - scripts/import_keychain.sh - security find-identity -v -p codesigning - gem install pact-mock_service -v 2.1.0 - bundle install - - brew update + - brew outdated carthage || brew upgrade carthage - brew outdated swiftlint || brew upgrade swiftlint - carthage checkout script: - set -o pipefail - swiftlint - - carthage build --no-skip-current --platform iOS + - carthage build --no-skip-current --platform $CARTHAGE_PLATFORM - scripts/build.sh - bash <(curl -s https://codecov.io/bash) -J 'PactConsumerSwift' after_script: scripts/delete_keychain.sh after_success: - scripts/build_children.sh -env: - global: - - secure: QmmEqePFeG6D1Qu0KrWI0w6LiwiY3V2qUWAHxQrSYFFPG4wJOZuHpwdk9NO45gOzPYxbkzXT9MynWFMs5pZKrIJCmQRkK5fNcDecwvNunsJEzBmvNYLhd0B4IKy2R1pBmKcDHPIYCzgpanPDAV7LhTXlGoUGk59+QL6qK8+hBQs= - - secure: FpfacekFs93LkX9gerQUxQKIDTjBl2abp7ZQ/8L3DiJo4nMF7xEwUGeSDQMR+2hRqRWr/SdU59Lll5k10JBqWxAaLXDTUq3Lh3aamc4nc2PAN7yp+0aq9RQG5+PaLkfx+SLs5B/CjDiRRotZg/H/uMTRRFbkqydVtxiqGv94JOg= diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ab1910b..95a8bb7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,29 @@ # Contributing to Pact Consumer Swift ### Prepare development environment -The Pact Consumer Swift library is using carthage to manage library dependencies. You can install carthage using homebrew, then download and build the dependencies using `carthage bootstrap` +The Pact Consumer Swift library is using Carthage and Swift Package Manager to manage library dependencies. You can install carthage using homebrew, then download and build the dependencies using `carthage bootstrap` or `swift package resolve`. ### Running tests -`scan` +iOS 11.0 on iPhone 8: +``` +xcodebuild -project PactConsumerSwift.xcodeproj -scheme "PactConsumerSwift iOS" -destination "OS=11.0,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty; +``` -For more information, see the .travis.yml +macOS: +``` +xcodebuild -project PactConsumerSwift.xcodeproj -scheme "PactConsumerSwift macOS" -destination "arch=x86_64" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty; +``` + +#### Test Carthage compatibility +``` +carthage build --no-skip-current --platform iOS,macOS +``` + +#### Test Swift Package Manager build +``` +./scripts/start_server.sh && +swift build && +./scripts/stop_server.sh +``` + +For more information, see the [.travis.yml](/.travis.yml) diff --git a/Cartfile b/Cartfile index 4af2040..51edc05 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,4 @@ github "Alamofire/Alamofire" ~> 4.5 github "Thomvis/BrightFutures" ~> 5.2 github "Quick/Nimble" ~> 7.0 +github "Quick/Quick" ~> 1.1 diff --git a/Cartfile.private b/Cartfile.private deleted file mode 100644 index 3a28885..0000000 --- a/Cartfile.private +++ /dev/null @@ -1 +0,0 @@ -github "Quick/Quick" ~> 1.1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index 50d2990..b460008 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ -github "Alamofire/Alamofire" "4.5.0" +github "Alamofire/Alamofire" "4.5.1" github "Quick/Nimble" "v7.0.1" github "Quick/Quick" "v1.1.0" github "Thomvis/BrightFutures" "5.2.0" diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..9ed643f --- /dev/null +++ b/Package.resolved @@ -0,0 +1,52 @@ +{ + "object": { + "pins": [ + { + "package": "Alamofire", + "repositoryURL": "https://github.com/Alamofire/Alamofire.git", + "state": { + "branch": null, + "revision": "b8995447518fd57af14c88a47f27434a16f60403", + "version": "4.5.1" + } + }, + { + "package": "BrightFutures", + "repositoryURL": "https://github.com/Thomvis/BrightFutures.git", + "state": { + "branch": null, + "revision": "f18744a3061d2302a3673aafdb6fbdbbfe9b4f6f", + "version": "5.2.0" + } + }, + { + "package": "Nimble", + "repositoryURL": "https://github.com/Quick/Nimble.git", + "state": { + "branch": null, + "revision": "39b67002306fda9de4c9fd1290a6295f97edd09e", + "version": "7.0.1" + } + }, + { + "package": "Quick", + "repositoryURL": "https://github.com/Quick/Quick.git", + "state": { + "branch": null, + "revision": "e4fa1e85c0305ba4e0866f25812d3fa398f3a048", + "version": "1.1.0" + } + }, + { + "package": "Result", + "repositoryURL": "https://github.com/antitypical/Result.git", + "state": { + "branch": null, + "revision": "c8446185238659a2b27c0261f64ff1254291d07d", + "version": "3.2.3" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..ee0304f --- /dev/null +++ b/Package.swift @@ -0,0 +1,30 @@ +// swift-tools-version:4.0 + +import PackageDescription + +let package = Package( + name: "PactConsumerSwift", + products: [ + .library( + name: "PactConsumerSwift", + targets: ["PactConsumerSwift"] + ), + ], + dependencies: [ + .package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.5.1"), + .package(url: "https://github.com/Quick/Quick.git", from: "1.1.0"), + .package(url: "https://github.com/Quick/Nimble.git", from: "7.0.1"), + .package(url: "https://github.com/Thomvis/BrightFutures.git", from: "5.2.0") + ], + targets: [ + .target( + name: "PactConsumerSwift", + dependencies: ["Alamofire", "BrightFutures", "Nimble"], + path: "./Sources" + ), + .testTarget( + name: "PactConsumerSwiftTests", + dependencies: ["PactConsumerSwift", "Alamofire", "BrightFutures", "Nimble", "Quick"] + ) + ] +) diff --git a/PactConsumerSwiftTests/OCAnimalServiceClient.h b/PactConsumerObjCTests/OCAnimalServiceClient.h similarity index 100% rename from PactConsumerSwiftTests/OCAnimalServiceClient.h rename to PactConsumerObjCTests/OCAnimalServiceClient.h diff --git a/PactConsumerSwiftTests/OCAnimalServiceClient.m b/PactConsumerObjCTests/OCAnimalServiceClient.m similarity index 99% rename from PactConsumerSwiftTests/OCAnimalServiceClient.m rename to PactConsumerObjCTests/OCAnimalServiceClient.m index 8769e0e..155b583 100644 --- a/PactConsumerSwiftTests/OCAnimalServiceClient.m +++ b/PactConsumerObjCTests/OCAnimalServiceClient.m @@ -1,4 +1,3 @@ - #import "OCAnimalServiceClient.h" @implementation Animal diff --git a/PactConsumerSwiftTests/PactObjectiveCTests.m b/PactConsumerObjCTests/PactObjectiveCTests.m similarity index 99% rename from PactConsumerSwiftTests/PactObjectiveCTests.m rename to PactConsumerObjCTests/PactObjectiveCTests.m index f2789bc..5bfdb73 100644 --- a/PactConsumerSwiftTests/PactObjectiveCTests.m +++ b/PactConsumerObjCTests/PactObjectiveCTests.m @@ -1,4 +1,4 @@ -#import +#import #import #import "OCAnimalServiceClient.h" diff --git a/PactConsumerSwift.podspec b/PactConsumerSwift.podspec index d2f5f49..4f5477b 100644 --- a/PactConsumerSwift.podspec +++ b/PactConsumerSwift.podspec @@ -1,6 +1,7 @@ Pod::Spec.new do |s| s.name = "PactConsumerSwift" - s.version = "0.4.3" + s.module_name = "PactConsumerSwift" + s.version = "0.5.0" s.summary = "A Swift / ObjeciveC DSL for creating pacts." s.license = { :type => 'MIT' } @@ -13,18 +14,20 @@ Pod::Spec.new do |s| s.homepage = "https://github.com/DiUS/pact-consumer-swift" - s.author = { "andrewspinks" => "andrewspinks@gmail.com" } + s.author = { "andrewspinks" => "andrewspinks@gmail.com", "markojustinek" => "mjustinek@dius.com.au" } - s.ios.deployment_target = '9.0' - s.tvos.deployment_target = '9.0' + s.ios.deployment_target = '9.0' + s.tvos.deployment_target = '9.0' + s.osx.deployment_target = '10.10' s.source = { :git => "https://github.com/DiUS/pact-consumer-swift.git", :tag => "v#{s.version}" } - s.source_files = 'PactConsumerSwift/**/*.swift' - s.resources = 'scripts/start_server.sh', 'scripts/stop_server.sh' + s.source_files = 'Sources/**/*.swift' + s.resources = 'scripts/start_server.sh', 'scripts/stop_server.sh' s.requires_arc = true - s.frameworks = 'Foundation', 'UIKit', 'XCTest' + s.frameworks = 'Foundation', 'UIKit', 'XCTest', 'AppKit' - s.dependency 'Alamofire', '~> 4.4' + s.dependency 'Alamofire', '~> 4.5' s.dependency 'BrightFutures', '~> 5.1' s.dependency 'Nimble', '~> 7.0' + s.dependency 'Quick', '~> 1.1' end diff --git a/PactConsumerSwift.xcodeproj/project.pbxproj b/PactConsumerSwift.xcodeproj/project.pbxproj index 886f07c..a31010a 100644 --- a/PactConsumerSwift.xcodeproj/project.pbxproj +++ b/PactConsumerSwift.xcodeproj/project.pbxproj @@ -3,285 +3,622 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 48; objects = { /* Begin PBXBuildFile section */ - 2DC18322E8B1922183994215 /* MatcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DC18486E5D4554858BCCA32 /* MatcherSpec.swift */; }; - 2DC18CE75C65FEDED5B6B69D /* Matcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DC1855727137D1A61E22336 /* Matcher.swift */; }; - A10AC5AE1A85EFCF00F4524C /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A10AC5AD1A85EFCF00F4524C /* BrightFutures.framework */; }; - A10AC5AF1A86105B00F4524C /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A10AC5AD1A85EFCF00F4524C /* BrightFutures.framework */; }; - A10AC5B51A87087B00F4524C /* AnimalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = A10AC5B31A87087B00F4524C /* AnimalServiceClient.swift */; }; - A11F1A711A5C890D00DAB9CE /* PactConsumerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A11F1A701A5C890D00DAB9CE /* PactConsumerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A11F1A771A5C890E00DAB9CE /* PactConsumerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A11F1A6B1A5C890D00DAB9CE /* PactConsumerSwift.framework */; }; - A11F1AF01A5CF84600DAB9CE /* MockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = A11F1AEE1A5CF84600DAB9CE /* MockService.swift */; }; - A11F1AF11A5CF84600DAB9CE /* Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = A11F1AEF1A5CF84600DAB9CE /* Interaction.swift */; }; - A1343CD41A6200C100DCD05E /* InteractionSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1343CD31A6200C100DCD05E /* InteractionSpec.swift */; }; - A1343CE41A63869500DCD05E /* PactVerificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1343CE31A63869500DCD05E /* PactVerificationService.swift */; }; - A1C3413C1D681FB90067567A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E04EA71A809828006721F8 /* Nimble.framework */; }; - A1E04E971A80971A006721F8 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E04E961A80971A006721F8 /* Alamofire.framework */; }; - A1E04EA51A809828006721F8 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E04E961A80971A006721F8 /* Alamofire.framework */; }; - A1E04EA81A809828006721F8 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E04EA61A809828006721F8 /* Quick.framework */; }; - A1E04EA91A809828006721F8 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E04EA71A809828006721F8 /* Nimble.framework */; }; - A1EE189E1AA00498008B0E8C /* PactObjectiveCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A1EE189D1AA00498008B0E8C /* PactObjectiveCTests.m */; }; - A1EE18A41AA009A9008B0E8C /* OCAnimalServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = A1EE18A31AA009A9008B0E8C /* OCAnimalServiceClient.m */; }; - A1EE18A61AA00FC7008B0E8C /* PactSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = A10AC5B21A87087B00F4524C /* PactSpecs.swift */; }; + AD01EDB61F74BF4A00827C66 /* InteractionSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6511F74BAA900219F39 /* InteractionSpec.swift */; }; + AD17A5921F74AF5300219F39 /* PactConsumerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD17A5881F74AF5300219F39 /* PactConsumerSwift.framework */; }; + AD17A5991F74AF5300219F39 /* PactConsumerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD17A5B11F74AFB000219F39 /* PactConsumerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD17A5A81F74AFB000219F39 /* PactConsumerSwift.framework */; }; + AD17A5CD1F74AFC900219F39 /* PactConsumerSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD17A5C41F74AFC900219F39 /* PactConsumerSwift.framework */; }; + AD17A6171F74B3C400219F39 /* PactConsumerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD17A6181F74B3C400219F39 /* PactConsumerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD17A6191F74B3C500219F39 /* PactConsumerSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD17A6551F74BB7300219F39 /* OCAnimalServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6541F74BAC700219F39 /* OCAnimalServiceClient.m */; }; + AD17A6561F74BB7300219F39 /* PactObjectiveCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6531F74BAC700219F39 /* PactObjectiveCTests.m */; }; + AD17A6571F74BB7400219F39 /* OCAnimalServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6541F74BAC700219F39 /* OCAnimalServiceClient.m */; }; + AD17A6581F74BB7400219F39 /* PactObjectiveCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6531F74BAC700219F39 /* PactObjectiveCTests.m */; }; + AD17A65B1F74BB7E00219F39 /* AnimalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64F1F74BAA900219F39 /* AnimalServiceClient.swift */; }; + AD17A65D1F74BB7E00219F39 /* MatcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6501F74BAA900219F39 /* MatcherSpec.swift */; }; + AD17A65E1F74BB7E00219F39 /* PactSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64E1F74BAA900219F39 /* PactSpecs.swift */; }; + AD17A65F1F74BB7E00219F39 /* AnimalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64F1F74BAA900219F39 /* AnimalServiceClient.swift */; }; + AD17A6601F74BB7E00219F39 /* InteractionSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6511F74BAA900219F39 /* InteractionSpec.swift */; }; + AD17A6611F74BB7E00219F39 /* MatcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6501F74BAA900219F39 /* MatcherSpec.swift */; }; + AD17A6621F74BB7E00219F39 /* PactSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64E1F74BAA900219F39 /* PactSpecs.swift */; }; + AD17A6631F74BB7F00219F39 /* AnimalServiceClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64F1F74BAA900219F39 /* AnimalServiceClient.swift */; }; + AD17A6661F74BB7F00219F39 /* PactSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64E1F74BAA900219F39 /* PactSpecs.swift */; }; + AD17A6671F74BB8300219F39 /* Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64A1F74BA8A00219F39 /* Interaction.swift */; }; + AD17A6681F74BB8300219F39 /* Matcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64B1F74BA8A00219F39 /* Matcher.swift */; }; + AD17A6691F74BB8300219F39 /* MockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64C1F74BA8A00219F39 /* MockService.swift */; }; + AD17A66A1F74BB8300219F39 /* PactVerificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */; }; + AD17A66B1F74BB8300219F39 /* Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64A1F74BA8A00219F39 /* Interaction.swift */; }; + AD17A66C1F74BB8300219F39 /* Matcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64B1F74BA8A00219F39 /* Matcher.swift */; }; + AD17A66D1F74BB8300219F39 /* MockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64C1F74BA8A00219F39 /* MockService.swift */; }; + AD17A66E1F74BB8300219F39 /* PactVerificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */; }; + AD17A66F1F74BB8400219F39 /* Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64A1F74BA8A00219F39 /* Interaction.swift */; }; + AD17A6701F74BB8400219F39 /* Matcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64B1F74BA8A00219F39 /* Matcher.swift */; }; + AD17A6711F74BB8400219F39 /* MockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64C1F74BA8A00219F39 /* MockService.swift */; }; + AD17A6721F74BB8400219F39 /* PactVerificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */; }; + AD17A6731F74BB8400219F39 /* Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64A1F74BA8A00219F39 /* Interaction.swift */; }; + AD17A6741F74BB8400219F39 /* Matcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64B1F74BA8A00219F39 /* Matcher.swift */; }; + AD17A6751F74BB8400219F39 /* MockService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64C1F74BA8A00219F39 /* MockService.swift */; }; + AD17A6761F74BB8400219F39 /* PactVerificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */; }; + ADC03E1B1F74C41B003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E181F74C41B003FCA6A /* BrightFutures.framework */; }; + ADC03E1C1F74C41B003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E191F74C41B003FCA6A /* Nimble.framework */; }; + ADC03E1D1F74C41B003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E1A1F74C41B003FCA6A /* Alamofire.framework */; }; + ADC03E1E1F74C492003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E1A1F74C41B003FCA6A /* Alamofire.framework */; }; + ADC03E1F1F74C492003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E181F74C41B003FCA6A /* BrightFutures.framework */; }; + ADC03E201F74C492003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E191F74C41B003FCA6A /* Nimble.framework */; }; + ADC03E221F74C492003FCA6A /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E211F74C492003FCA6A /* Quick.framework */; }; + ADC03E261F74C64F003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E231F74C64E003FCA6A /* BrightFutures.framework */; }; + ADC03E271F74C64F003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E241F74C64E003FCA6A /* Nimble.framework */; }; + ADC03E281F74C64F003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E251F74C64E003FCA6A /* Alamofire.framework */; }; + ADC03E291F74C68E003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E251F74C64E003FCA6A /* Alamofire.framework */; }; + ADC03E2A1F74C68E003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E231F74C64E003FCA6A /* BrightFutures.framework */; }; + ADC03E2B1F74C68E003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E241F74C64E003FCA6A /* Nimble.framework */; }; + ADC03E2E1F74C68E003FCA6A /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E2C1F74C68E003FCA6A /* Result.framework */; }; + ADC03E2F1F74C68E003FCA6A /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E2D1F74C68E003FCA6A /* Quick.framework */; }; + ADC03E351F74C8A5003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E301F74C8A5003FCA6A /* Nimble.framework */; }; + ADC03E361F74C8A5003FCA6A /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E311F74C8A5003FCA6A /* Result.framework */; }; + ADC03E371F74C8A5003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E321F74C8A5003FCA6A /* BrightFutures.framework */; }; + ADC03E381F74C8A5003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E331F74C8A5003FCA6A /* Alamofire.framework */; }; + ADC03E391F74C8A5003FCA6A /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E341F74C8A5003FCA6A /* Quick.framework */; }; + ADC03E3A1F74C8EE003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E331F74C8A5003FCA6A /* Alamofire.framework */; }; + ADC03E3B1F74C8EE003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E321F74C8A5003FCA6A /* BrightFutures.framework */; }; + ADC03E3C1F74C8EE003FCA6A /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E301F74C8A5003FCA6A /* Nimble.framework */; }; + ADC03E3D1F74C920003FCA6A /* InteractionSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6511F74BAA900219F39 /* InteractionSpec.swift */; }; + ADC03E3E1F74C920003FCA6A /* MatcherSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6501F74BAA900219F39 /* MatcherSpec.swift */; }; + ADC03E3F1F74C987003FCA6A /* OCAnimalServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6541F74BAC700219F39 /* OCAnimalServiceClient.m */; }; + ADC03E401F74C989003FCA6A /* PactObjectiveCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17A6531F74BAC700219F39 /* PactObjectiveCTests.m */; }; + ADC03E461F74E68D003FCA6A /* BrightFutures.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E431F74E68D003FCA6A /* BrightFutures.framework */; }; + ADC03E471F74E68D003FCA6A /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E441F74E68D003FCA6A /* Alamofire.framework */; }; + ADF13D671F7B7FAE009532F6 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADC03E341F74C8A5003FCA6A /* Quick.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - A11F1A781A5C890E00DAB9CE /* PBXContainerItemProxy */ = { + AD17A5931F74AF5300219F39 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A11F1A621A5C890D00DAB9CE /* Project object */; + containerPortal = AD17A57D1F74AF1000219F39 /* Project object */; proxyType = 1; - remoteGlobalIDString = A11F1A6A1A5C890D00DAB9CE; - remoteInfo = PactConsumerSwift; + remoteGlobalIDString = AD17A5871F74AF5300219F39; + remoteInfo = "PactConsumerSwift iOS"; + }; + AD17A5B21F74AFB000219F39 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD17A57D1F74AF1000219F39 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD17A5A71F74AFB000219F39; + remoteInfo = "PactConsumerSwift macOS"; + }; + AD17A5CE1F74AFC900219F39 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = AD17A57D1F74AF1000219F39 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD17A5C31F74AFC900219F39; + remoteInfo = "PactConsumerSwift tvOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 2DC18486E5D4554858BCCA32 /* MatcherSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MatcherSpec.swift; sourceTree = ""; }; - 2DC1855727137D1A61E22336 /* Matcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Matcher.swift; sourceTree = ""; }; - 2DC1894F534D68C7B712D1DF /* README.md */ = {isa = PBXFileReference; lastKnownFileType = file.md; path = README.md; sourceTree = ""; }; - 2DC189C6CB7BB21E0063D70C /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = file.md; path = CONTRIBUTING.md; sourceTree = ""; }; - A10AC5AD1A85EFCF00F4524C /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/iOS/BrightFutures.framework; sourceTree = ""; }; - A10AC5B21A87087B00F4524C /* PactSpecs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PactSpecs.swift; sourceTree = ""; }; - A10AC5B31A87087B00F4524C /* AnimalServiceClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnimalServiceClient.swift; sourceTree = ""; }; - A11F1A6B1A5C890D00DAB9CE /* PactConsumerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PactConsumerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A11F1A6F1A5C890D00DAB9CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A11F1A701A5C890D00DAB9CE /* PactConsumerSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PactConsumerSwift.h; sourceTree = ""; }; - A11F1A761A5C890E00DAB9CE /* PactConsumerSwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PactConsumerSwiftTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - A11F1A7C1A5C890E00DAB9CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A11F1AEE1A5CF84600DAB9CE /* MockService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockService.swift; sourceTree = ""; }; - A11F1AEF1A5CF84600DAB9CE /* Interaction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Interaction.swift; sourceTree = ""; }; - A1343CD31A6200C100DCD05E /* InteractionSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InteractionSpec.swift; sourceTree = ""; }; - A1343CE31A63869500DCD05E /* PactVerificationService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PactVerificationService.swift; sourceTree = ""; }; - A1343CEB1A64D59E00DCD05E /* start_server.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = start_server.sh; sourceTree = ""; }; - A1343CEC1A64D59E00DCD05E /* stop_server.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = stop_server.sh; sourceTree = ""; }; - A1E04E961A80971A006721F8 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; - A1E04EA61A809828006721F8 /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/iOS/Quick.framework; sourceTree = ""; }; - A1E04EA71A809828006721F8 /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = Carthage/Build/iOS/Nimble.framework; sourceTree = ""; }; - A1EE189C1AA00497008B0E8C /* PactConsumerSwiftTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PactConsumerSwiftTests-Bridging-Header.h"; sourceTree = ""; }; - A1EE189D1AA00498008B0E8C /* PactObjectiveCTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PactObjectiveCTests.m; sourceTree = ""; }; - A1EE18A21AA009A9008B0E8C /* OCAnimalServiceClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCAnimalServiceClient.h; sourceTree = ""; }; - A1EE18A31AA009A9008B0E8C /* OCAnimalServiceClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCAnimalServiceClient.m; sourceTree = ""; }; - AD0FCC4C1ED6A85300E94B33 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; + AD17A5881F74AF5300219F39 /* PactConsumerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PactConsumerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PactConsumerSwift.h; sourceTree = ""; }; + AD17A58C1F74AF5300219F39 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AD17A5911F74AF5300219F39 /* PactConsumerSwift iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PactConsumerSwift iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A5981F74AF5300219F39 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AD17A5A81F74AFB000219F39 /* PactConsumerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PactConsumerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A5B01F74AFB000219F39 /* PactConsumerSwift macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PactConsumerSwift macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A5C41F74AFC900219F39 /* PactConsumerSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PactConsumerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A5CC1F74AFC900219F39 /* PactConsumerSwift tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PactConsumerSwift tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A6031F74B2B600219F39 /* PactConsumerSwift_watchOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PactConsumerSwift_watchOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD17A64A1F74BA8A00219F39 /* Interaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Interaction.swift; sourceTree = ""; }; + AD17A64B1F74BA8A00219F39 /* Matcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Matcher.swift; sourceTree = ""; }; + AD17A64C1F74BA8A00219F39 /* MockService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockService.swift; sourceTree = ""; }; + AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PactVerificationService.swift; sourceTree = ""; }; + AD17A64E1F74BAA900219F39 /* PactSpecs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PactSpecs.swift; sourceTree = ""; }; + AD17A64F1F74BAA900219F39 /* AnimalServiceClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimalServiceClient.swift; sourceTree = ""; }; + AD17A6501F74BAA900219F39 /* MatcherSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatcherSpec.swift; sourceTree = ""; }; + AD17A6511F74BAA900219F39 /* InteractionSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InteractionSpec.swift; sourceTree = ""; }; + AD17A6521F74BAC600219F39 /* OCAnimalServiceClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OCAnimalServiceClient.h; sourceTree = ""; }; + AD17A6531F74BAC700219F39 /* PactObjectiveCTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PactObjectiveCTests.m; sourceTree = ""; }; + AD17A6541F74BAC700219F39 /* OCAnimalServiceClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OCAnimalServiceClient.m; sourceTree = ""; }; + ADC03E181F74C41B003FCA6A /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/iOS/BrightFutures.framework; sourceTree = ""; }; + ADC03E191F74C41B003FCA6A /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = Carthage/Build/iOS/Nimble.framework; sourceTree = ""; }; + ADC03E1A1F74C41B003FCA6A /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; + ADC03E211F74C492003FCA6A /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/iOS/Quick.framework; sourceTree = ""; }; + ADC03E231F74C64E003FCA6A /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/Mac/BrightFutures.framework; sourceTree = ""; }; + ADC03E241F74C64E003FCA6A /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = Carthage/Build/Mac/Nimble.framework; sourceTree = ""; }; + ADC03E251F74C64E003FCA6A /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/Mac/Alamofire.framework; sourceTree = ""; }; + ADC03E2C1F74C68E003FCA6A /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/Mac/Result.framework; sourceTree = ""; }; + ADC03E2D1F74C68E003FCA6A /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/Mac/Quick.framework; sourceTree = ""; }; + ADC03E301F74C8A5003FCA6A /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = Carthage/Build/tvOS/Nimble.framework; sourceTree = ""; }; + ADC03E311F74C8A5003FCA6A /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/tvOS/Result.framework; sourceTree = ""; }; + ADC03E321F74C8A5003FCA6A /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/tvOS/BrightFutures.framework; sourceTree = ""; }; + ADC03E331F74C8A5003FCA6A /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/tvOS/Alamofire.framework; sourceTree = ""; }; + ADC03E341F74C8A5003FCA6A /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/tvOS/Quick.framework; sourceTree = ""; }; + ADC03E421F74E68D003FCA6A /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Carthage/Build/watchOS/Result.framework; sourceTree = ""; }; + ADC03E431F74E68D003FCA6A /* BrightFutures.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BrightFutures.framework; path = Carthage/Build/watchOS/BrightFutures.framework; sourceTree = ""; }; + ADC03E441F74E68D003FCA6A /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/watchOS/Alamofire.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - A11F1A671A5C890D00DAB9CE /* Frameworks */ = { + AD17A5841F74AF5300219F39 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ADC03E1D1F74C41B003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E1B1F74C41B003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E1C1F74C41B003FCA6A /* Nimble.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A58E1F74AF5300219F39 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A5921F74AF5300219F39 /* PactConsumerSwift.framework in Frameworks */, + ADC03E1E1F74C492003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E1F1F74C492003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E221F74C492003FCA6A /* Quick.framework in Frameworks */, + ADC03E201F74C492003FCA6A /* Nimble.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5A41F74AFB000219F39 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ADC03E281F74C64F003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E261F74C64F003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E271F74C64F003FCA6A /* Nimble.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5AD1F74AFB000219F39 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A5B11F74AFB000219F39 /* PactConsumerSwift.framework in Frameworks */, + ADC03E291F74C68E003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E2A1F74C68E003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E2B1F74C68E003FCA6A /* Nimble.framework in Frameworks */, + ADC03E2F1F74C68E003FCA6A /* Quick.framework in Frameworks */, + ADC03E2E1F74C68E003FCA6A /* Result.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5C01F74AFC900219F39 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ADF13D671F7B7FAE009532F6 /* Quick.framework in Frameworks */, + ADC03E3A1F74C8EE003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E3B1F74C8EE003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E3C1F74C8EE003FCA6A /* Nimble.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5C91F74AFC900219F39 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A1C3413C1D681FB90067567A /* Nimble.framework in Frameworks */, - A10AC5AE1A85EFCF00F4524C /* BrightFutures.framework in Frameworks */, - A1E04E971A80971A006721F8 /* Alamofire.framework in Frameworks */, + AD17A5CD1F74AFC900219F39 /* PactConsumerSwift.framework in Frameworks */, + ADC03E381F74C8A5003FCA6A /* Alamofire.framework in Frameworks */, + ADC03E371F74C8A5003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E351F74C8A5003FCA6A /* Nimble.framework in Frameworks */, + ADC03E391F74C8A5003FCA6A /* Quick.framework in Frameworks */, + ADC03E361F74C8A5003FCA6A /* Result.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A11F1A731A5C890E00DAB9CE /* Frameworks */ = { + AD17A5FF1F74B2B600219F39 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A10AC5AF1A86105B00F4524C /* BrightFutures.framework in Frameworks */, - A1E04EA81A809828006721F8 /* Quick.framework in Frameworks */, - A1E04EA91A809828006721F8 /* Nimble.framework in Frameworks */, - A1E04EA51A809828006721F8 /* Alamofire.framework in Frameworks */, - A11F1A771A5C890E00DAB9CE /* PactConsumerSwift.framework in Frameworks */, + ADC03E461F74E68D003FCA6A /* BrightFutures.framework in Frameworks */, + ADC03E471F74E68D003FCA6A /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - A11F1A611A5C890D00DAB9CE = { + AD17A57C1F74AF1000219F39 = { isa = PBXGroup; children = ( - AD0FCC4C1ED6A85300E94B33 /* .swiftlint.yml */, - A1343CE61A64D59E00DCD05E /* script */, - A11F1A6D1A5C890D00DAB9CE /* PactConsumerSwift */, - A11F1A7A1A5C890E00DAB9CE /* PactConsumerSwiftTests */, - A11F1A6C1A5C890D00DAB9CE /* Products */, - 2DC1894F534D68C7B712D1DF /* README.md */, - 2DC189C6CB7BB21E0063D70C /* CONTRIBUTING.md */, - A10AC5AD1A85EFCF00F4524C /* BrightFutures.framework */, - A1E04EA61A809828006721F8 /* Quick.framework */, - A1E04EA71A809828006721F8 /* Nimble.framework */, - A1E04E961A80971A006721F8 /* Alamofire.framework */, + AD17A5E91F74B03000219F39 /* Sources */, + AD17A5EA1F74B03500219F39 /* Tests */, + AD17A5EB1F74B03D00219F39 /* PactConsumerObjCTests */, + AD17A5891F74AF5300219F39 /* Products */, + ADC03E171F74C2C0003FCA6A /* Frameworks */, ); sourceTree = ""; }; - A11F1A6C1A5C890D00DAB9CE /* Products */ = { + AD17A5891F74AF5300219F39 /* Products */ = { isa = PBXGroup; children = ( - A11F1A6B1A5C890D00DAB9CE /* PactConsumerSwift.framework */, - A11F1A761A5C890E00DAB9CE /* PactConsumerSwiftTests.xctest */, + AD17A5881F74AF5300219F39 /* PactConsumerSwift.framework */, + AD17A5911F74AF5300219F39 /* PactConsumerSwift iOSTests.xctest */, + AD17A5A81F74AFB000219F39 /* PactConsumerSwift.framework */, + AD17A5B01F74AFB000219F39 /* PactConsumerSwift macOSTests.xctest */, + AD17A5C41F74AFC900219F39 /* PactConsumerSwift.framework */, + AD17A5CC1F74AFC900219F39 /* PactConsumerSwift tvOSTests.xctest */, + AD17A6031F74B2B600219F39 /* PactConsumerSwift_watchOS.framework */, ); name = Products; sourceTree = ""; }; - A11F1A6D1A5C890D00DAB9CE /* PactConsumerSwift */ = { + AD17A5E91F74B03000219F39 /* Sources */ = { isa = PBXGroup; children = ( - A1343CE31A63869500DCD05E /* PactVerificationService.swift */, - A11F1AEE1A5CF84600DAB9CE /* MockService.swift */, - A11F1AEF1A5CF84600DAB9CE /* Interaction.swift */, - A11F1A701A5C890D00DAB9CE /* PactConsumerSwift.h */, - A11F1A6E1A5C890D00DAB9CE /* Supporting Files */, - 2DC1855727137D1A61E22336 /* Matcher.swift */, - ); - path = PactConsumerSwift; + AD17A64A1F74BA8A00219F39 /* Interaction.swift */, + AD17A64B1F74BA8A00219F39 /* Matcher.swift */, + AD17A64C1F74BA8A00219F39 /* MockService.swift */, + AD17A64D1F74BA8A00219F39 /* PactVerificationService.swift */, + AD17A5ED1F74B07F00219F39 /* Supporting Files */, + ); + path = Sources; sourceTree = ""; }; - A11F1A6E1A5C890D00DAB9CE /* Supporting Files */ = { + AD17A5EA1F74B03500219F39 /* Tests */ = { isa = PBXGroup; children = ( - A11F1A6F1A5C890D00DAB9CE /* Info.plist */, + AD17A5F51F74B0CA00219F39 /* PactConsumerSwiftTests */, + AD17A5EE1F74B09D00219F39 /* Supporting Files */, + AD17A6511F74BAA900219F39 /* InteractionSpec.swift */, + AD17A6501F74BAA900219F39 /* MatcherSpec.swift */, ); - name = "Supporting Files"; + path = Tests; sourceTree = ""; }; - A11F1A7A1A5C890E00DAB9CE /* PactConsumerSwiftTests */ = { + AD17A5EB1F74B03D00219F39 /* PactConsumerObjCTests */ = { isa = PBXGroup; children = ( - A1EE18A51AA00A68008B0E8C /* PactTests */, - A11F1A7B1A5C890E00DAB9CE /* Supporting Files */, - A1343CD31A6200C100DCD05E /* InteractionSpec.swift */, - A1EE189C1AA00497008B0E8C /* PactConsumerSwiftTests-Bridging-Header.h */, - 2DC18486E5D4554858BCCA32 /* MatcherSpec.swift */, + AD17A6521F74BAC600219F39 /* OCAnimalServiceClient.h */, + AD17A6541F74BAC700219F39 /* OCAnimalServiceClient.m */, + AD17A6531F74BAC700219F39 /* PactObjectiveCTests.m */, ); - path = PactConsumerSwiftTests; + path = PactConsumerObjCTests; + sourceTree = ""; + }; + AD17A5ED1F74B07F00219F39 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + AD17A58C1F74AF5300219F39 /* Info.plist */, + AD17A58B1F74AF5300219F39 /* PactConsumerSwift.h */, + ); + path = "Supporting Files"; sourceTree = ""; }; - A11F1A7B1A5C890E00DAB9CE /* Supporting Files */ = { + AD17A5EE1F74B09D00219F39 /* Supporting Files */ = { isa = PBXGroup; children = ( - A11F1A7C1A5C890E00DAB9CE /* Info.plist */, + AD17A5981F74AF5300219F39 /* Info.plist */, ); - name = "Supporting Files"; + path = "Supporting Files"; sourceTree = ""; }; - A1343CE61A64D59E00DCD05E /* script */ = { + AD17A5F51F74B0CA00219F39 /* PactConsumerSwiftTests */ = { isa = PBXGroup; children = ( - A1343CEB1A64D59E00DCD05E /* start_server.sh */, - A1343CEC1A64D59E00DCD05E /* stop_server.sh */, + AD17A64E1F74BAA900219F39 /* PactSpecs.swift */, + AD17A64F1F74BAA900219F39 /* AnimalServiceClient.swift */, ); - path = script; + path = PactConsumerSwiftTests; sourceTree = ""; }; - A1EE18A51AA00A68008B0E8C /* PactTests */ = { + ADC03E171F74C2C0003FCA6A /* Frameworks */ = { isa = PBXGroup; children = ( - A10AC5B31A87087B00F4524C /* AnimalServiceClient.swift */, - A1EE18A21AA009A9008B0E8C /* OCAnimalServiceClient.h */, - A1EE18A31AA009A9008B0E8C /* OCAnimalServiceClient.m */, - A1EE189D1AA00498008B0E8C /* PactObjectiveCTests.m */, - A10AC5B21A87087B00F4524C /* PactSpecs.swift */, + ADC03E331F74C8A5003FCA6A /* Alamofire.framework */, + ADC03E441F74E68D003FCA6A /* Alamofire.framework */, + ADC03E321F74C8A5003FCA6A /* BrightFutures.framework */, + ADC03E431F74E68D003FCA6A /* BrightFutures.framework */, + ADC03E421F74E68D003FCA6A /* Result.framework */, + ADC03E301F74C8A5003FCA6A /* Nimble.framework */, + ADC03E341F74C8A5003FCA6A /* Quick.framework */, + ADC03E311F74C8A5003FCA6A /* Result.framework */, + ADC03E2D1F74C68E003FCA6A /* Quick.framework */, + ADC03E2C1F74C68E003FCA6A /* Result.framework */, + ADC03E251F74C64E003FCA6A /* Alamofire.framework */, + ADC03E231F74C64E003FCA6A /* BrightFutures.framework */, + ADC03E241F74C64E003FCA6A /* Nimble.framework */, + ADC03E211F74C492003FCA6A /* Quick.framework */, + ADC03E1A1F74C41B003FCA6A /* Alamofire.framework */, + ADC03E181F74C41B003FCA6A /* BrightFutures.framework */, + ADC03E191F74C41B003FCA6A /* Nimble.framework */, ); - name = PactTests; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - A11F1A681A5C890D00DAB9CE /* Headers */ = { + AD17A5851F74AF5300219F39 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A5991F74AF5300219F39 /* PactConsumerSwift.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5A51F74AFB000219F39 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A6171F74B3C400219F39 /* PactConsumerSwift.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5C11F74AFC900219F39 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A11F1A711A5C890D00DAB9CE /* PactConsumerSwift.h in Headers */, + AD17A6181F74B3C400219F39 /* PactConsumerSwift.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A6001F74B2B600219F39 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A6191F74B3C500219F39 /* PactConsumerSwift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - A11F1A6A1A5C890D00DAB9CE /* PactConsumerSwift */ = { + AD17A5871F74AF5300219F39 /* PactConsumerSwift iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD17A59E1F74AF5300219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift iOS" */; + buildPhases = ( + AD17A5831F74AF5300219F39 /* Sources */, + AD17A5841F74AF5300219F39 /* Frameworks */, + AD17A5851F74AF5300219F39 /* Headers */, + AD17A5861F74AF5300219F39 /* Resources */, + AD17A6251F74B59000219F39 /* Copy Carthage Frameworks */, + AD17A6261F74B59100219F39 /* Run Swiftlint */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PactConsumerSwift iOS"; + productName = "PactConsumerSwift iOS"; + productReference = AD17A5881F74AF5300219F39 /* PactConsumerSwift.framework */; + productType = "com.apple.product-type.framework"; + }; + AD17A5901F74AF5300219F39 /* PactConsumerSwift iOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD17A59F1F74AF5300219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift iOSTests" */; + buildPhases = ( + AD17A58D1F74AF5300219F39 /* Sources */, + AD17A58E1F74AF5300219F39 /* Frameworks */, + AD17A58F1F74AF5300219F39 /* Resources */, + AD17A62B1F74B6DF00219F39 /* Copy Carthage Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AD17A5941F74AF5300219F39 /* PBXTargetDependency */, + ); + name = "PactConsumerSwift iOSTests"; + productName = "PactConsumerSwift iOSTests"; + productReference = AD17A5911F74AF5300219F39 /* PactConsumerSwift iOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + AD17A5A71F74AFB000219F39 /* PactConsumerSwift macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD17A5B91F74AFB000219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift macOS" */; + buildPhases = ( + AD17A5A31F74AFB000219F39 /* Sources */, + AD17A5A41F74AFB000219F39 /* Frameworks */, + AD17A5A51F74AFB000219F39 /* Headers */, + AD17A5A61F74AFB000219F39 /* Resources */, + AD17A6241F74B57A00219F39 /* Copy Carthage Frameworks */, + AD17A6231F74B56D00219F39 /* Run Swiftlint */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PactConsumerSwift macOS"; + productName = "PactConsumerSwift macOS"; + productReference = AD17A5A81F74AFB000219F39 /* PactConsumerSwift.framework */; + productType = "com.apple.product-type.framework"; + }; + AD17A5AF1F74AFB000219F39 /* PactConsumerSwift macOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD17A5BC1F74AFB000219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift macOSTests" */; + buildPhases = ( + AD17A5AC1F74AFB000219F39 /* Sources */, + AD17A5AD1F74AFB000219F39 /* Frameworks */, + AD17A5AE1F74AFB000219F39 /* Resources */, + AD17A62C1F74B6EC00219F39 /* Copy Carthage Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AD17A5B31F74AFB000219F39 /* PBXTargetDependency */, + ); + name = "PactConsumerSwift macOSTests"; + productName = "PactConsumerSwift macOSTests"; + productReference = AD17A5B01F74AFB000219F39 /* PactConsumerSwift macOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + AD17A5C31F74AFC900219F39 /* PactConsumerSwift tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = A11F1A811A5C890E00DAB9CE /* Build configuration list for PBXNativeTarget "PactConsumerSwift" */; + buildConfigurationList = AD17A5D51F74AFC900219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift tvOS" */; buildPhases = ( - A11F1A661A5C890D00DAB9CE /* Sources */, - A11F1A671A5C890D00DAB9CE /* Frameworks */, - A11F1A681A5C890D00DAB9CE /* Headers */, - A11F1A691A5C890D00DAB9CE /* Resources */, - A1E04E981A809724006721F8 /* Include Carthage Frameworks */, - AD0FCC4B1ED6A78800E94B33 /* Run SwiftLint */, + AD17A5BF1F74AFC900219F39 /* Sources */, + AD17A5C01F74AFC900219F39 /* Frameworks */, + AD17A5C11F74AFC900219F39 /* Headers */, + AD17A5C21F74AFC900219F39 /* Resources */, + AD17A6271F74B5A600219F39 /* Copy Carthage Frameworks */, + AD17A6281F74B5A700219F39 /* Run Swiftlint */, ); buildRules = ( ); dependencies = ( ); - name = PactConsumerSwift; - productName = PactConsumerSwift; - productReference = A11F1A6B1A5C890D00DAB9CE /* PactConsumerSwift.framework */; + name = "PactConsumerSwift tvOS"; + productName = "PactConsumerSwift tvOS"; + productReference = AD17A5C41F74AFC900219F39 /* PactConsumerSwift.framework */; productType = "com.apple.product-type.framework"; }; - A11F1A751A5C890E00DAB9CE /* PactConsumerSwiftTests */ = { + AD17A5CB1F74AFC900219F39 /* PactConsumerSwift tvOSTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A11F1A841A5C890E00DAB9CE /* Build configuration list for PBXNativeTarget "PactConsumerSwiftTests" */; + buildConfigurationList = AD17A5D81F74AFC900219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift tvOSTests" */; buildPhases = ( - A11F1A721A5C890E00DAB9CE /* Sources */, - A11F1A731A5C890E00DAB9CE /* Frameworks */, - A11F1A741A5C890E00DAB9CE /* Resources */, - A1E04E991A809747006721F8 /* Run Script */, + AD17A5C81F74AFC900219F39 /* Sources */, + AD17A5C91F74AFC900219F39 /* Frameworks */, + AD17A5CA1F74AFC900219F39 /* Resources */, + AD17A62D1F74B6F700219F39 /* Copy Carthage Frameworks */, ); buildRules = ( ); dependencies = ( - A11F1A791A5C890E00DAB9CE /* PBXTargetDependency */, + AD17A5CF1F74AFC900219F39 /* PBXTargetDependency */, ); - name = PactConsumerSwiftTests; - productName = PactConsumerSwiftTests; - productReference = A11F1A761A5C890E00DAB9CE /* PactConsumerSwiftTests.xctest */; + name = "PactConsumerSwift tvOSTests"; + productName = "PactConsumerSwift tvOSTests"; + productReference = AD17A5CC1F74AFC900219F39 /* PactConsumerSwift tvOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + AD17A6021F74B2B600219F39 /* PactConsumerSwift watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD17A6081F74B2B600219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift watchOS" */; + buildPhases = ( + AD17A5FE1F74B2B600219F39 /* Sources */, + AD17A5FF1F74B2B600219F39 /* Frameworks */, + AD17A6001F74B2B600219F39 /* Headers */, + AD17A6011F74B2B600219F39 /* Resources */, + AD17A6291F74B5BF00219F39 /* Copy Carthage Frameworks */, + AD17A62A1F74B5C000219F39 /* Run Swiftlint */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PactConsumerSwift watchOS"; + productName = "PactConsumerSwift watchOS"; + productReference = AD17A6031F74B2B600219F39 /* PactConsumerSwift_watchOS.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - A11F1A621A5C890D00DAB9CE /* Project object */ = { + AD17A57D1F74AF1000219F39 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftMigration = 0700; - LastSwiftUpdateCheck = 0700; + LastSwiftUpdateCheck = 0900; LastUpgradeCheck = 0900; - ORGANIZATIONNAME = "Andrew Spinks"; TargetAttributes = { - A11F1A6A1A5C890D00DAB9CE = { - CreatedOnToolsVersion = 6.1.1; + AD17A5871F74AF5300219F39 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; + }; + AD17A5901F74AF5300219F39 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; + }; + AD17A5A71F74AFB000219F39 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; + }; + AD17A5AF1F74AFB000219F39 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; + }; + AD17A5C31F74AFC900219F39 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; + }; + AD17A5CB1F74AFC900219F39 = { + CreatedOnToolsVersion = 9.0; LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; }; - A11F1A751A5C890E00DAB9CE = { - CreatedOnToolsVersion = 6.1.1; + AD17A6021F74B2B600219F39 = { + CreatedOnToolsVersion = 9.0; LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; }; }; }; - buildConfigurationList = A11F1A651A5C890D00DAB9CE /* Build configuration list for PBXProject "PactConsumerSwift" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + buildConfigurationList = AD17A5801F74AF1000219F39 /* Build configuration list for PBXProject "PactConsumerSwift" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = A11F1A611A5C890D00DAB9CE; - productRefGroup = A11F1A6C1A5C890D00DAB9CE /* Products */; + mainGroup = AD17A57C1F74AF1000219F39; + productRefGroup = AD17A5891F74AF5300219F39 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - A11F1A6A1A5C890D00DAB9CE /* PactConsumerSwift */, - A11F1A751A5C890E00DAB9CE /* PactConsumerSwiftTests */, + AD17A5871F74AF5300219F39 /* PactConsumerSwift iOS */, + AD17A5901F74AF5300219F39 /* PactConsumerSwift iOSTests */, + AD17A5A71F74AFB000219F39 /* PactConsumerSwift macOS */, + AD17A5AF1F74AFB000219F39 /* PactConsumerSwift macOSTests */, + AD17A5C31F74AFC900219F39 /* PactConsumerSwift tvOS */, + AD17A5CB1F74AFC900219F39 /* PactConsumerSwift tvOSTests */, + AD17A6021F74B2B600219F39 /* PactConsumerSwift watchOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - A11F1A691A5C890D00DAB9CE /* Resources */ = { + AD17A5861F74AF5300219F39 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A58F1F74AF5300219F39 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5A61F74AFB000219F39 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5AE1F74AFB000219F39 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5C21F74AFC900219F39 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5CA1F74AFC900219F39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A11F1A741A5C890E00DAB9CE /* Resources */ = { + AD17A6011F74B2B600219F39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -291,7 +628,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - A1E04E981A809724006721F8 /* Include Carthage Frameworks */ = { + AD17A6231F74B56D00219F39 /* Run Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Swiftlint"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + AD17A6241F74B57A00219F39 /* Copy Carthage Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/Mac/Alamofire.framework", + "$(SRCROOT)/Carthage/Build/Mac/BrightFutures.framework", + "$(SRCROOT)/Carthage/Build/Mac/Nimble.framework", + ); + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "PATH=/usr/local/bin:$PATH\n\nif [ -f $SRCROOT/Carthage/Build/Mac/Alamofire.framework ];\nthen\n carthage copy-frameworks\nfi"; + }; + AD17A6251F74B59000219F39 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -299,92 +667,275 @@ inputPaths = ( "$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework", "$(SRCROOT)/Carthage/Build/iOS/BrightFutures.framework", - "$(SRCROOT)/Carthage/Build/iOS/Result.framework", "$(SRCROOT)/Carthage/Build/iOS/Nimble.framework", ); - name = "Include Carthage Frameworks"; + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "PATH=/usr/local/bin:$PATH\n\nif [ -f $SRCROOT/Carthage/Build/iOS/Alamofire.framework ];\nthen\n carthage copy-frameworks\nfi"; + }; + AD17A6261F74B59100219F39 /* Run Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Swiftlint"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + AD17A6271F74B5A600219F39 /* Copy Carthage Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/tvOS/Alamofire.framework", + "$(SRCROOT)/Carthage/Build/tvOS/BrightFutures.framework", + "$(SRCROOT)/Carthage/Build/tvOS/Nimble.framework", + ); + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "PATH=/usr/local/bin:$PATH\n\nif [ -f $SRCROOT/Carthage/Build/tvOS/Alamofire.framework ];\nthen\n carthage copy-frameworks\nfi"; + }; + AD17A6281F74B5A700219F39 /* Run Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Swiftlint"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; + }; + AD17A6291F74B5BF00219F39 /* Copy Carthage Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/watchOS/Alamofire.framework", + "$(SRCROOT)/Carthage/Build/watchOS/BrightFuture.framework", + ); + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "PATH=/usr/local/bin:$PATH\n\nif [ -f $SRCROOT/Carthage/Build/watchOS/Alamofire.framework ];\nthen\n carthage copy-frameworks\nfi"; + }; + AD17A62A1F74B5C000219F39 /* Run Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Swiftlint"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/bash; - shellScript = "PATH=/usr/local/bin:/opt/boxen/homebrew/bin:$PATH\n\nif [ -f $SRCROOT/Carthage/Build/iOS/Alamofire.framework ];\nthen\n carthage copy-frameworks\nfi"; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; }; - A1E04E991A809747006721F8 /* Run Script */ = { + AD17A62B1F74B6DF00219F39 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( "$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework", - "$(SRCROOT)/Carthage/Build/iOS/Quick.framework", - "$(SRCROOT)/Carthage/Build/iOS/Nimble.framework", "$(SRCROOT)/Carthage/Build/iOS/BrightFutures.framework", + "$(SRCROOT)/Carthage/Build/iOS/Nimble.framework", "$(SRCROOT)/Carthage/Build/iOS/Result.framework", + "$(SRCROOT)/Carthage/Build/iOS/Quick.framework", ); - name = "Run Script"; + name = "Copy Carthage Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PATH=/usr/local/bin:/opt/boxen/homebrew/bin:$PATH\ncarthage copy-frameworks"; + shellScript = "PATH=/usr/local/bin:$PATH\n\ncarthage copy-frameworks"; }; - AD0FCC4B1ED6A78800E94B33 /* Run SwiftLint */ = { + AD17A62C1F74B6EC00219F39 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "$(SRCROOT)/Carthage/Build/Mac/Alamofire.framework", + "$(SRCROOT)/Carthage/Build/Mac/BrightFutures.framework", + "$(SRCROOT)/Carthage/Build/Mac/Nimble.framework", + "$(SRCROOT)/Carthage/Build/Mac/Quick.framework", + "$(SRCROOT)/Carthage/Build/Mac/Result.framework", ); - name = "Run SwiftLint"; + name = "Copy Carthage Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; + shellScript = "PATH=/usr/local/bin:$PATH\ncarthage copy-frameworks"; + }; + AD17A62D1F74B6F700219F39 /* Copy Carthage Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/tvOS/Alamofire.framework", + "$(SRCROOT)/Carthage/Build/tvOS/BrightFutures.framework", + "$(SRCROOT)/Carthage/Build/tvOS/Nimble.framework", + "$(SRCROOT)/Carthage/Build/tvOS/Quick.framework", + "$(SRCROOT)/Carthage/Build/tvOS/Result.framework", + ); + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "PATH=/usr/local/bin:$PATH\ncarthage copy-frameworks"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - A11F1A661A5C890D00DAB9CE /* Sources */ = { + AD17A5831F74AF5300219F39 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A11F1AF11A5CF84600DAB9CE /* Interaction.swift in Sources */, - A1343CE41A63869500DCD05E /* PactVerificationService.swift in Sources */, - A11F1AF01A5CF84600DAB9CE /* MockService.swift in Sources */, - 2DC18CE75C65FEDED5B6B69D /* Matcher.swift in Sources */, + AD17A66A1F74BB8300219F39 /* PactVerificationService.swift in Sources */, + AD17A6671F74BB8300219F39 /* Interaction.swift in Sources */, + AD17A6681F74BB8300219F39 /* Matcher.swift in Sources */, + AD17A6691F74BB8300219F39 /* MockService.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A11F1A721A5C890E00DAB9CE /* Sources */ = { + AD17A58D1F74AF5300219F39 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A1EE18A41AA009A9008B0E8C /* OCAnimalServiceClient.m in Sources */, - A1EE18A61AA00FC7008B0E8C /* PactSpecs.swift in Sources */, - A1343CD41A6200C100DCD05E /* InteractionSpec.swift in Sources */, - A1EE189E1AA00498008B0E8C /* PactObjectiveCTests.m in Sources */, - A10AC5B51A87087B00F4524C /* AnimalServiceClient.swift in Sources */, - 2DC18322E8B1922183994215 /* MatcherSpec.swift in Sources */, + AD17A65E1F74BB7E00219F39 /* PactSpecs.swift in Sources */, + AD17A65B1F74BB7E00219F39 /* AnimalServiceClient.swift in Sources */, + AD17A65D1F74BB7E00219F39 /* MatcherSpec.swift in Sources */, + AD17A6551F74BB7300219F39 /* OCAnimalServiceClient.m in Sources */, + AD17A6561F74BB7300219F39 /* PactObjectiveCTests.m in Sources */, + AD01EDB61F74BF4A00827C66 /* InteractionSpec.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - A11F1A791A5C890E00DAB9CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A11F1A6A1A5C890D00DAB9CE /* PactConsumerSwift */; - targetProxy = A11F1A781A5C890E00DAB9CE /* PBXContainerItemProxy */; + AD17A5A31F74AFB000219F39 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A66E1F74BB8300219F39 /* PactVerificationService.swift in Sources */, + AD17A66C1F74BB8300219F39 /* Matcher.swift in Sources */, + AD17A66B1F74BB8300219F39 /* Interaction.swift in Sources */, + AD17A66D1F74BB8300219F39 /* MockService.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; -/* End PBXTargetDependency section */ + AD17A5AC1F74AFB000219F39 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A6571F74BB7400219F39 /* OCAnimalServiceClient.m in Sources */, + AD17A65F1F74BB7E00219F39 /* AnimalServiceClient.swift in Sources */, + AD17A6621F74BB7E00219F39 /* PactSpecs.swift in Sources */, + AD17A6581F74BB7400219F39 /* PactObjectiveCTests.m in Sources */, + AD17A6611F74BB7E00219F39 /* MatcherSpec.swift in Sources */, + AD17A6601F74BB7E00219F39 /* InteractionSpec.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5BF1F74AFC900219F39 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A6721F74BB8400219F39 /* PactVerificationService.swift in Sources */, + AD17A6701F74BB8400219F39 /* Matcher.swift in Sources */, + AD17A66F1F74BB8400219F39 /* Interaction.swift in Sources */, + AD17A6711F74BB8400219F39 /* MockService.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5C81F74AFC900219F39 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ADC03E3F1F74C987003FCA6A /* OCAnimalServiceClient.m in Sources */, + AD17A6631F74BB7F00219F39 /* AnimalServiceClient.swift in Sources */, + AD17A6661F74BB7F00219F39 /* PactSpecs.swift in Sources */, + ADC03E401F74C989003FCA6A /* PactObjectiveCTests.m in Sources */, + ADC03E3D1F74C920003FCA6A /* InteractionSpec.swift in Sources */, + ADC03E3E1F74C920003FCA6A /* MatcherSpec.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AD17A5FE1F74B2B600219F39 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AD17A6761F74BB8400219F39 /* PactVerificationService.swift in Sources */, + AD17A6741F74BB8400219F39 /* Matcher.swift in Sources */, + AD17A6731F74BB8400219F39 /* Interaction.swift in Sources */, + AD17A6751F74BB8400219F39 /* MockService.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + AD17A5941F74AF5300219F39 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD17A5871F74AF5300219F39 /* PactConsumerSwift iOS */; + targetProxy = AD17A5931F74AF5300219F39 /* PBXContainerItemProxy */; + }; + AD17A5B31F74AFB000219F39 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD17A5A71F74AFB000219F39 /* PactConsumerSwift macOS */; + targetProxy = AD17A5B21F74AFB000219F39 /* PBXContainerItemProxy */; + }; + AD17A5CF1F74AFC900219F39 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AD17A5C31F74AFC900219F39 /* PactConsumerSwift tvOS */; + targetProxy = AD17A5CE1F74AFC900219F39 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - A11F1A7F1A5C890E00DAB9CE /* Debug */ = { + AD17A5811F74AF1000219F39 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(PROJECT_NAME)"; + }; + name = Debug; + }; + AD17A5821F74AF1000219F39 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(PROJECT_NAME)"; + }; + name = Release; + }; + AD17A59A1F74AF5300219F39 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + 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; @@ -393,6 +944,7 @@ CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = 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; @@ -403,14 +955,26 @@ 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_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -418,29 +982,38 @@ "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; 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; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - A11F1A801A5C890E00DAB9CE /* Release */ = { + AD17A59B1F74AF5300219F39 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + 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; @@ -449,6 +1022,7 @@ CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = 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; @@ -459,14 +1033,26 @@ 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_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -474,10 +1060,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -485,136 +1078,920 @@ }; name = Release; }; - A11F1A821A5C890E00DAB9CE /* Debug */ = { + AD17A59C1F74AF5300219F39 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = PactConsumerSwift/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-framework", - XCTest, + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", ); - PRODUCT_BUNDLE_IDENTIFIER = "spinks.$(PRODUCT_NAME:rfc1034identifier)"; + 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; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - A11F1A831A5C890E00DAB9CE /* Release */ = { + AD17A59D1F74AF5300219F39 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = PactConsumerSwift/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-framework", - XCTest, - ); - PRODUCT_BUNDLE_IDENTIFIER = "spinks.$(PRODUCT_NAME:rfc1034identifier)"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - A11F1A851A5C890E00DAB9CE /* Debug */ = { + AD17A5BA1F74AFB000219F39 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build/Mac", ); + FRAMEWORK_VERSION = A; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = PactConsumerSwiftTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "spinks.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PactConsumerSwiftTests/PactConsumerSwiftTests-Bridging-Header.h"; + 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; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - A11F1A861A5C890E00DAB9CE /* Release */ = { + AD17A5BB1F74AFB000219F39 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build/Mac", ); - INFOPLIST_FILE = PactConsumerSwiftTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "spinks.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PactConsumerSwiftTests/PactConsumerSwiftTests-Bridging-Header.h"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; + FRAMEWORK_VERSION = A; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; -/* End XCBuildConfiguration section */ + AD17A5BD1F74AFB000219F39 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "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; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-macOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + AD17A5BE1F74AFB000219F39 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-macOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + AD17A5D61F74AFC900219F39 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "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; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + AD17A5D71F74AFC900219F39 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(PROJECT_NAME)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + AD17A5D91F74AFC900219F39 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "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; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + }; + name = Debug; + }; + AD17A5DA1F74AFC900219F39 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.PactConsumerSwift-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + AD17A6091F74B2B600219F39 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "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; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + }; + name = Debug; + }; + AD17A60A1F74B2B600219F39 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_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_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_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = "Sources/Supporting Files/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "au.com.dius.pact.$(PROJECT_NAME)"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = 4; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - A11F1A651A5C890D00DAB9CE /* Build configuration list for PBXProject "PactConsumerSwift" */ = { + AD17A5801F74AF1000219F39 /* Build configuration list for PBXProject "PactConsumerSwift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD17A5811F74AF1000219F39 /* Debug */, + AD17A5821F74AF1000219F39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AD17A59E1F74AF5300219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD17A59A1F74AF5300219F39 /* Debug */, + AD17A59B1F74AF5300219F39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AD17A59F1F74AF5300219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift iOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD17A59C1F74AF5300219F39 /* Debug */, + AD17A59D1F74AF5300219F39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AD17A5B91F74AFB000219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD17A5BA1F74AFB000219F39 /* Debug */, + AD17A5BB1F74AFB000219F39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AD17A5BC1F74AFB000219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift macOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AD17A5BD1F74AFB000219F39 /* Debug */, + AD17A5BE1F74AFB000219F39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AD17A5D51F74AFC900219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - A11F1A7F1A5C890E00DAB9CE /* Debug */, - A11F1A801A5C890E00DAB9CE /* Release */, + AD17A5D61F74AFC900219F39 /* Debug */, + AD17A5D71F74AFC900219F39 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A11F1A811A5C890E00DAB9CE /* Build configuration list for PBXNativeTarget "PactConsumerSwift" */ = { + AD17A5D81F74AFC900219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift tvOSTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - A11F1A821A5C890E00DAB9CE /* Debug */, - A11F1A831A5C890E00DAB9CE /* Release */, + AD17A5D91F74AFC900219F39 /* Debug */, + AD17A5DA1F74AFC900219F39 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A11F1A841A5C890E00DAB9CE /* Build configuration list for PBXNativeTarget "PactConsumerSwiftTests" */ = { + AD17A6081F74B2B600219F39 /* Build configuration list for PBXNativeTarget "PactConsumerSwift watchOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - A11F1A851A5C890E00DAB9CE /* Debug */, - A11F1A861A5C890E00DAB9CE /* Release */, + AD17A6091F74B2B600219F39 /* Debug */, + AD17A60A1F74B2B600219F39 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = A11F1A621A5C890D00DAB9CE /* Project object */; + rootObject = AD17A57D1F74AF1000219F39 /* Project object */; } diff --git a/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift.xcscheme b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift iOS.xcscheme similarity index 72% rename from PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift.xcscheme rename to PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift iOS.xcscheme index c55e2ce..33e9ba9 100644 --- a/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift.xcscheme +++ b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift iOS.xcscheme @@ -14,23 +14,9 @@ buildForAnalyzing = "YES"> - - - - @@ -48,13 +34,13 @@ ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + scriptText = "PATH="$HOME"/.rvm/rubies/ruby-2.3.1/bin:$PATH "$SRCROOT"/scripts/start_server.sh"> @@ -66,13 +52,13 @@ ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + scriptText = "PATH="$HOME"/.rvm/rubies/ruby-2.3.1/bin:$PATH "$SRCROOT"/scripts/stop_server.sh"> @@ -84,9 +70,9 @@ skipped = "NO"> @@ -94,9 +80,9 @@ @@ -117,9 +103,9 @@ @@ -135,9 +121,9 @@ diff --git a/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift macOS.xcscheme b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift macOS.xcscheme new file mode 100644 index 0000000..5f1bfa2 --- /dev/null +++ b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift macOS.xcscheme @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift tvOS.xcscheme b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift tvOS.xcscheme new file mode 100644 index 0000000..63ad089 --- /dev/null +++ b/PactConsumerSwift.xcodeproj/xcshareddata/xcschemes/PactConsumerSwift tvOS.xcscheme @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PactConsumerSwiftTests/PactConsumerSwiftTests-Bridging-Header.h b/PactConsumerSwiftTests/PactConsumerSwiftTests-Bridging-Header.h deleted file mode 100644 index 1b2cb5d..0000000 --- a/PactConsumerSwiftTests/PactConsumerSwiftTests-Bridging-Header.h +++ /dev/null @@ -1,4 +0,0 @@ -// -// Use this file to import your target's public headers that you would like to expose to Swift. -// - diff --git a/README.md b/README.md index 70d3224..a330143 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,18 @@ # Pact Consumer Swift -* Core Library build: [![Build Status](https://travis-ci.org/DiUS/pact-consumer-swift.svg?branch=master)](https://travis-ci.org/DiUS/pact-consumer-swift) -* Core Library Code coverage: [![codecov](https://codecov.io/gh/DiUS/pact-consumer-swift/branch/master/graph/badge.svg)](https://codecov.io/gh/DiUS/pact-consumer-swift) -* Swift, Carthage Example build: [![Swift, Carthage Example - Build Status](https://travis-ci.org/andrewspinks/PactSwiftExample.svg?branch=master)](https://travis-ci.org/andrewspinks/PactSwiftExample) -* ObjeciveC, Git Submodules Example build: [![Build Status](https://travis-ci.org/andrewspinks/PactObjectiveCExample.svg?branch=master)](https://travis-ci.org/andrewspinks/PactObjectiveCExample) + +[![Build Status](https://travis-ci.org/DiUS/pact-consumer-swift.svg?branch=master)](https://travis-ci.org/DiUS/pact-consumer-swift) +[![codecov](https://codecov.io/gh/DiUS/pact-consumer-swift/branch/master/graph/badge.svg)](https://codecov.io/gh/DiUS/pact-consumer-swift) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Swift Package Manager Compatible](https://img.shields.io/badge/swift_package_manager-compatible-brightgreen.svg)]() +![Swift](https://img.shields.io/badge/Swift-4.0-orange.svg?style=flat) +[![Badge w/ Version](https://cocoapod-badges.herokuapp.com/v/PactConsumerSwift/badge.png)](https://cocoadocs.org/docsets/PactConsumerSwift) +[![Badge w/ Platform](https://cocoapod-badges.herokuapp.com/p/PactConsumerSwift/badge.svg)](https://cocoadocs.org/docsets/PactConsumerSwift) ![MIT](https://cocoapod-badges.herokuapp.com/l/PactConsumerSwift/badge.png) +[![Twitter](https://img.shields.io/badge/twitter-@pact__up-blue.svg?style=flat)](http://twitter.com/pact_up) This library provides a Swift / Objective C DSL for creating Consumer [Pacts](http://pact.io). -Why? To test communication boundaries between your app and services. You can view a presentation I gave on how Pact can work in a mobile context here: [Yow Connected Talk](https://www.youtube.com/watch?v=UQkMr4bKYp4) +Why? To test communication boundaries between your app and services. +You can view a presentation on how Pact can work in a mobile context here: [Yow! Connected 2016 Andrew Spinks - Increasing The Confidence In Your Service Integrations](https://www.youtube.com/watch?v=UQkMr4bKYp4). Implements [Pact Specification v2](https://github.com/pact-foundation/pact-specification/tree/version-2), including [flexible matching](http://docs.pact.io/documentation/matching.html). @@ -17,15 +23,33 @@ This DSL relies on the Ruby [pact-mock_service][pact-mock-service] gem to provid Note: see [Upgrading][upgrading] for notes on upgrading from 0.2 to 0.3 ### Install the [pact-mock_service][pact-mock-service] - `sudo gem install pact-mock_service -v 2.1.0` + +Run `sudo gem install pact-mock_service -v 2.1.0` in your terminal. + +In Xcode, edit your scheme and add pre- and post-actions for your `Test` step to run the provided scripts in `./scripts/` folder. Make sure you select your target in _Provide build settings from_ the drop down menu. +``` +# Examples: +# Pre-actions +PATH=/full/path/to/your/rubies/bin:$PATH +"$SRCROOT"/scripts/start_server.sh + +# Post-actions +PATH=/full/path/to/your/rubies/bin:$PATH +"$SRCROOT"/scripts/stop_server.sh +``` +![Xcode Scheme Test Pre-actions](scripts/images/xcode-scheme-test-pre-actions.png) ### Add the PactConsumerSwift library to your project #### Using [Carthage](https://github.com/Carthage/Carthage) library manager -- See the [PactSwiftExample](https://github.com/andrewspinks/PactSwiftExample) for an example project using the library with Carthage. +- See the [PactSwiftExample](https://github.com/andrewspinks/PactSwiftExample) [![Swift, Carthage Example - Build Status](https://travis-ci.org/andrewspinks/PactSwiftExample.svg?branch=master)](https://travis-ci.org/andrewspinks/PactSwiftExample) for an example project using `pact-consumer-swift` with Carthage for an iOS target. +- See the [PactMacOSExample](https://github.com/surpher/PactMacOSExample) [![Build Status](https://travis-ci.org/surpher/PactMacOSExample.svg?branch=master)](https://travis-ci.org/surpher/PactMacOSExample) for an example project using `pact-consumer-swift` through Carthage for a macOS target. + +#### Using [CocoaPods](https://cocoapods.org/pods/PactConsumerSwift) (Git Submodules) +- See the [PactObjectiveCExample](https://github.com/andrewspinks/PactObjectiveCExample) [![Build Status](https://travis-ci.org/andrewspinks/PactObjectiveCExample.svg?branch=master)](https://travis-ci.org/andrewspinks/PactObjectiveCExample) for an example project using `pact-consumer-swift` with CocoaPods for an iOS target. -#### Using CocoaPods -- See the [PactObjectiveCExample](https://github.com/andrewspinks/PactObjectiveCExample) for an example project using the library with CocoaPods. +#### Using [Swift Package Manager](https://swift.org/package-manager/) dependencies manager +- See the [PactSwiftPMExample](http://github.com/surpher/PactSwiftPMExample) [![Build Status](https://travis-ci.org/surpher/PactSwiftPMExample.svg?branch=master)](https://travis-ci.org/surpher/PactSwiftPMExample) for an example project using `pact-consumer-swift` library through Swift Package Manager for an executable file that runs in terminal. ## Writing Pact Tests @@ -115,6 +139,56 @@ import PactConsumerSwift } timeout:60]; } ``` + +### Testing with XCTest +Write a Unit Test similar to the following: +```swift +import PactConsumerSwift +... + var animalMockService: MockService? + var animalServiceClient: AnimalServiceClient? + + override func setUp() { + super.setUp() + + animalMockService = MockService(provider: "Animal Provider", consumer: "Animal Service Client") + animalServiceClient = AnimalServiceClient(baseUrl: animalMockService!.baseUrl) + } + + func testItGetsAlligator() { + // Prepare the expecated behaviour using pact's MockService + animalMockService! + .given("an alligator exists") + .uponReceiving("a request for alligator") + .withRequest(method: .GET, path: "/alligator") + .willRespondWith(status: 200, + headers: ["Content-Type": "application/json"], + body: [ "name": "Mary" ]) + + // Run the test + animalMockService!.run(timeout: 60) { (testComplete) -> Void in + self.animalServiceClient!.getAlligator { (response) -> in + XCTAssertEqual(response.name, "Mary") + testComplete() + } + } + } + ... +``` + +An optional `timeout` (seconds) parameter can be included on the run function. Defaults to 30 seconds. + +```swift +... + // Run the test + animalMockService!.run(timeout: 60) { (testComplete) -> Void in + self.animalServiceClient!.getAlligator { (response) -> in + XCTAssertEqual(response.name, "Mary") + testComplete() + } + } +``` + ### Matching In addition to verbatim value matching, you have 3 useful matching functions diff --git a/Scanfile b/Scanfile deleted file mode 100644 index dbdb1be..0000000 --- a/Scanfile +++ /dev/null @@ -1,4 +0,0 @@ -clean true -code_coverage false -skip_slack true -device "iPhone 7" diff --git a/PactConsumerSwift/Interaction.swift b/Sources/Interaction.swift similarity index 99% rename from PactConsumerSwift/Interaction.swift rename to Sources/Interaction.swift index 1314e7b..6223bc6 100644 --- a/PactConsumerSwift/Interaction.swift +++ b/Sources/Interaction.swift @@ -1,3 +1,4 @@ +import Foundation import Alamofire @objc diff --git a/PactConsumerSwift/Matcher.swift b/Sources/Matcher.swift similarity index 72% rename from PactConsumerSwift/Matcher.swift rename to Sources/Matcher.swift index 28bf4a6..a985f18 100644 --- a/PactConsumerSwift/Matcher.swift +++ b/Sources/Matcher.swift @@ -1,6 +1,7 @@ import Foundation -@objc open class Matcher: NSObject { +@objc +open class Matcher: NSObject { @objc open class func term(matcher: String, generate: String) -> [String: Any] { return [ "json_class": "Pact::Term", @@ -13,14 +14,16 @@ import Foundation ] ] } - @objc open class func somethingLike(_ value: Any) -> [String: Any] { + @objc + open class func somethingLike(_ value: Any) -> [String: Any] { return [ "json_class": "Pact::SomethingLike", "contents": value ] } - @objc open class func eachLike(_ value: Any, min: Int = 1) -> [String: Any] { + @objc + open class func eachLike(_ value: Any, min: Int = 1) -> [String: Any] { return [ "json_class": "Pact::ArrayLike", "contents": value, diff --git a/PactConsumerSwift/MockService.swift b/Sources/MockService.swift similarity index 93% rename from PactConsumerSwift/MockService.swift rename to Sources/MockService.swift index 27b2c80..4e19b9d 100644 --- a/PactConsumerSwift/MockService.swift +++ b/Sources/MockService.swift @@ -4,7 +4,8 @@ import BrightFutures import Result import Nimble -@objc open class MockService: NSObject { +@objc +open class MockService: NSObject { fileprivate let provider: String fileprivate let consumer: String fileprivate let pactVerificationService: PactVerificationService @@ -56,7 +57,7 @@ import Nimble self.run(nil, line: nil, timeout: timeout, testFunction: testFunction) } - open func run(_ file: String? = #file, line: UInt? = #line, timeout: TimeInterval = 30, + open func run(_ file: FileString? = #file, line: UInt? = #line, timeout: TimeInterval = 30, testFunction: @escaping (_ testComplete: @escaping () -> Void) -> Void) { waitUntilWithLocation(timeout: timeout, file: file, line: line) { done in self.pactVerificationService.setup(self.interactions).onSuccess { _ in @@ -77,7 +78,7 @@ import Nimble } } - func failWithLocation(_ message: String, file: String?, line: UInt?) { + func failWithLocation(_ message: String, file: FileString?, line: UInt?) { if let fileName = file, let lineNumber = line { fail(message, file: fileName, line: lineNumber) } else { diff --git a/PactConsumerSwift/PactVerificationService.swift b/Sources/PactVerificationService.swift similarity index 91% rename from PactConsumerSwift/PactVerificationService.swift rename to Sources/PactVerificationService.swift index 82b2a6d..96a9ec4 100644 --- a/PactConsumerSwift/PactVerificationService.swift +++ b/Sources/PactVerificationService.swift @@ -67,7 +67,7 @@ open class PactVerificationService { Router.baseURLString = baseUrl } - func setup (_ interactions: [Interaction]) -> Future { + func setup(_ interactions: [Interaction]) -> Future { let promise = Promise() self.clean().onSuccess { _ in promise.completeWith(self.setupInteractions(interactions)) @@ -93,7 +93,6 @@ open class PactVerificationService { let promise = Promise() Alamofire.request(Router.verify()) .validate() - .responseString { response in self.requestHandler(promise)(response) } return promise.future } @@ -102,7 +101,7 @@ open class PactVerificationService { let promise = Promise() Alamofire.request(Router.write(["consumer": [ "name": consumer ], - "provider": ["name": provider]])) + "provider": [ "name": provider ]])) .validate() .responseString { response in self.requestHandler(promise)(response) } @@ -142,9 +141,7 @@ open class PactVerificationService { } else { errorMessage = error.localizedDescription } - let userInfo = [NSLocalizedDescriptionKey: NSLocalizedString("Error", - value: errorMessage, - comment: "")] + let userInfo = [NSLocalizedDescriptionKey: NSLocalizedString("Error", value: errorMessage, comment: "")] promise.failure(NSError(domain: "", code: 0, userInfo: userInfo)) } } diff --git a/PactConsumerSwift/Info.plist b/Sources/Supporting Files/Info.plist similarity index 90% rename from PactConsumerSwift/Info.plist rename to Sources/Supporting Files/Info.plist index d3de8ee..1007fd9 100644 --- a/PactConsumerSwift/Info.plist +++ b/Sources/Supporting Files/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -16,8 +16,6 @@ FMWK CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/PactConsumerSwift/PactConsumerSwift.h b/Sources/Supporting Files/PactConsumerSwift.h similarity index 54% rename from PactConsumerSwift/PactConsumerSwift.h rename to Sources/Supporting Files/PactConsumerSwift.h index 316305b..d4b4669 100644 --- a/PactConsumerSwift/PactConsumerSwift.h +++ b/Sources/Supporting Files/PactConsumerSwift.h @@ -2,17 +2,17 @@ // PactConsumerSwift.h // PactConsumerSwift // -// Created by Andrew Spinks on 7/01/2015. -// Copyright (c) 2015 Andrew Spinks. All rights reserved. +// Created by Marko Justinek on 22/9/17. // -#import +#import //! Project version number for PactConsumerSwift. -FOUNDATION_EXPORT double PactConsumerSwiftVersionNumber; +FOUNDATION_EXPORT double PactConsumerSwift_VersionNumber; //! Project version string for PactConsumerSwift. -FOUNDATION_EXPORT const unsigned char PactConsumerSwiftVersionString[]; +FOUNDATION_EXPORT const unsigned char PactConsumerSwift_VersionString[]; // In this header, you should import all the public headers of your framework using statements like #import + diff --git a/PactConsumerSwiftTests/InteractionSpec.swift b/Tests/InteractionSpec.swift similarity index 100% rename from PactConsumerSwiftTests/InteractionSpec.swift rename to Tests/InteractionSpec.swift diff --git a/PactConsumerSwiftTests/MatcherSpec.swift b/Tests/MatcherSpec.swift similarity index 100% rename from PactConsumerSwiftTests/MatcherSpec.swift rename to Tests/MatcherSpec.swift diff --git a/PactConsumerSwiftTests/AnimalServiceClient.swift b/Tests/PactConsumerSwiftTests/AnimalServiceClient.swift similarity index 100% rename from PactConsumerSwiftTests/AnimalServiceClient.swift rename to Tests/PactConsumerSwiftTests/AnimalServiceClient.swift diff --git a/PactConsumerSwiftTests/PactSpecs.swift b/Tests/PactConsumerSwiftTests/PactSpecs.swift similarity index 100% rename from PactConsumerSwiftTests/PactSpecs.swift rename to Tests/PactConsumerSwiftTests/PactSpecs.swift diff --git a/PactConsumerSwiftTests/Info.plist b/Tests/Supporting Files/Info.plist similarity index 89% rename from PactConsumerSwiftTests/Info.plist rename to Tests/Supporting Files/Info.plist index ba72822..6c40a6c 100644 --- a/PactConsumerSwiftTests/Info.plist +++ b/Tests/Supporting Files/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -16,8 +16,6 @@ BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/scripts/build.sh b/scripts/build.sh index 4626a0e..4ba5fad 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,3 +1,14 @@ #!/bin/bash -fastlane scan +if [[ -z "${PROJECT_NAME}" ]]; then + PROJECT_NAME="PactConsumerSwift.xcodeproj"; + DESTINATION="OS=11.0,name=iPhone 8"; + SCHEME="PactConsumerSwift iOS"; +fi + +echo "Running: \"xcodebuild -project $PROJECT_NAME -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty;\"" + +xcodebuild -project $PROJECT_NAME -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty; + +echo "Running: \"xcodebuild -project $PROJECT_NAME -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty;\"" +xcodebuild -project $PROJECT_NAME -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty; diff --git a/scripts/images/xcode-scheme-test-pre-actions.png b/scripts/images/xcode-scheme-test-pre-actions.png new file mode 100644 index 0000000..038dff7 Binary files /dev/null and b/scripts/images/xcode-scheme-test-pre-actions.png differ