From 9aa7dd0df530832ccb08b94aea9d2c497d47e9ae Mon Sep 17 00:00:00 2001 From: Ryan Arana Date: Sat, 30 Apr 2016 12:30:57 -0700 Subject: [PATCH 1/5] Add support for Objective-C bridging You still have to opt in to get the bridging support with `extension Foo: _ObjectiveCBridgeable { }` but this supplies the implementation of that protocol for ValueCoding types. --- ValueCoding/ValueCoding.swift | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ValueCoding/ValueCoding.swift b/ValueCoding/ValueCoding.swift index 68b49d7..93dbc3d 100644 --- a/ValueCoding/ValueCoding.swift +++ b/ValueCoding/ValueCoding.swift @@ -72,6 +72,32 @@ extension CodingType where ValueType: ValueCoding, ValueType.Coder == Self { } } +/** + Objective-C bridging support. Allows for use of value types in `NSArray` and company. + */ +extension ValueCoding where Coder: NSCoding, Coder.ValueType == Self { + static func _isBridgedToObjectiveC() -> Bool { + return true + } + + static func _getObjectiveCType() -> Any.Type { + return Coder.self + } + + static func _forceBridgeFromObjectiveC(source: Coder, inout result: Self?) { + result = source.value + } + + static func _conditionallyBridgeFromObjectiveC(source: Coder, inout result: Self?) -> Bool { + result = source.value + return true + } + + func _bridgeToObjectiveC() -> Coder { + return encoded + } +} + extension SequenceType where Generator.Element: CodingType { From a55b6efac3bd7927455b6978f50081ea4a574307 Mon Sep 17 00:00:00 2001 From: Daniel Thorpe Date: Wed, 31 Aug 2016 22:52:41 +0100 Subject: [PATCH 2/5] Support multiple platforms for multiple Swift versions (#19) * [VCD-19]: Reconfigures project * [VCD-19]: Removes Objective-C stuff * [VCD-19]: Updates CI & scripts * [VCD-19]: Adds bundle install step * [VCD-19]: Updates Ruby dependencies * [VCD-19]: Updates Fastfile destinations * [VCD-19]: Fixes bug with pipeline template * [VCD-19]: Changes scan to use destination value * [VCD-19]: Changes to 9.3 * [VCD-19]: Removes slather - its just the worst. * [VCD-19]: Attempts to add Codecov support * [VCD-19]: No idea how Codecov is supposed to work --- .ci/buildkite/pipeline.template.yml | 26 +- .ci/buildkite/upload | 2 +- .ci/scripts/lint | 2 +- .ci/scripts/send-coverage | 4 - .ci/scripts/test-ios | 2 +- .ci/scripts/test-osx | 2 +- .codecov.yml | 7 + .fastlane/Fastfile | 37 +- Gemfile.lock | 195 +-- {ValueCoding => Sources}/ValueCoding.swift | 26 - .../Info.plist | 2 +- .../ValueCoding.h | 4 +- Supporting Files/ValueCoding.xcconfig | 45 + Supporting Files/Version.xcconfig | 1 + Tests/Info.plist | 2 - ValueCoding.xcodeproj/project.pbxproj | 1157 ++--------------- .../xcschemes/ValueCoding-iOS.xcscheme | 100 -- .../xcschemes/ValueCoding-tvOS.xcscheme | 100 -- .../xcschemes/ValueCoding-watchOS.xcscheme | 81 -- ...ding-OSX.xcscheme => ValueCoding.xcscheme} | 24 +- 20 files changed, 336 insertions(+), 1483 deletions(-) delete mode 100755 .ci/scripts/send-coverage create mode 100644 .codecov.yml rename {ValueCoding => Sources}/ValueCoding.swift (87%) rename {ValueCoding/Supporting Files => Supporting Files}/Info.plist (95%) rename {ValueCoding/Supporting Files => Supporting Files}/ValueCoding.h (73%) create mode 100644 Supporting Files/ValueCoding.xcconfig create mode 100644 Supporting Files/Version.xcconfig delete mode 100644 ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-iOS.xcscheme delete mode 100644 ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-tvOS.xcscheme delete mode 100644 ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-watchOS.xcscheme rename ValueCoding.xcodeproj/xcshareddata/xcschemes/{ValueCoding-OSX.xcscheme => ValueCoding.xcscheme} (82%) diff --git a/.ci/buildkite/pipeline.template.yml b/.ci/buildkite/pipeline.template.yml index 4dfdbf2..731d446 100755 --- a/.ci/buildkite/pipeline.template.yml +++ b/.ci/buildkite/pipeline.template.yml @@ -1,21 +1,23 @@ steps: - - name: ":muscle: Lint" + name: "Lint" command: .ci/scripts/lint + agents: + iOS-Simulator: false + swift: "$BUILDKITE_AGENT_META_DATA_SWIFT" + - - name: ":fastlane: Test Mac OS X" + name: "Mac" command: .ci/scripts/test-osx agents: - name: "$BUILDKITE_AGENT_META_DATA_NAME" + iOS-Simulator: false + swift: "$BUILDKITE_AGENT_META_DATA_SWIFT" - - name: ":fastlane: Test iOS" + name: "iOS" command: .ci/scripts/test-ios agents: - name: "$BUILDKITE_AGENT_META_DATA_NAME" - - - type: "waiter" - - - name: ":muscle: Send Coverage" - command: .ci/scripts/send-coverage - agents: - name: "$BUILDKITE_AGENT_META_DATA_NAME" + iOS-Simulator: true + swift: "$BUILDKITE_AGENT_META_DATA_SWIFT" + env: + FL_SLATHER_BUILDKITE_ENABLED: true + FL_SLATHER_COVERALLS_ENABLED: true \ No newline at end of file diff --git a/.ci/buildkite/upload b/.ci/buildkite/upload index 508329a..7f734f3 100755 --- a/.ci/buildkite/upload +++ b/.ci/buildkite/upload @@ -3,4 +3,4 @@ set -eu # Makes sure all the steps run on this same agent -sed "s/\$BUILDKITE_AGENT_META_DATA_NAME/$BUILDKITE_AGENT_META_DATA_NAME/" .ci/buildkite/pipeline.template.yml +sed "s/\$BUILDKITE_AGENT_META_DATA_SWIFT/$BUILDKITE_AGENT_META_DATA_SWIFT/" .ci/buildkite/pipeline.template.yml diff --git a/.ci/scripts/lint b/.ci/scripts/lint index 35a8be9..f23a80d 100755 --- a/.ci/scripts/lint +++ b/.ci/scripts/lint @@ -1,4 +1,4 @@ #!/usr/bin/env bash source /usr/local/opt/chruby/share/chruby/chruby.sh chruby ruby -bundle exec fastlane lint +bundle install --quiet && bundle exec fastlane lint diff --git a/.ci/scripts/send-coverage b/.ci/scripts/send-coverage deleted file mode 100755 index a1678bb..0000000 --- a/.ci/scripts/send-coverage +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -source /usr/local/opt/chruby/share/chruby/chruby.sh -chruby ruby -bundle exec slather coverage --scheme "ValueCoding-iOS" --buildkite --coveralls --build-directory .ci/xcodebuild-data \ No newline at end of file diff --git a/.ci/scripts/test-ios b/.ci/scripts/test-ios index 34615bc..4bca5be 100755 --- a/.ci/scripts/test-ios +++ b/.ci/scripts/test-ios @@ -1,5 +1,5 @@ #!/usr/bin/env bash source /usr/local/opt/chruby/share/chruby/chruby.sh chruby ruby -bundle exec fastlane ios test +bundle install --quiet && bundle exec fastlane ios test diff --git a/.ci/scripts/test-osx b/.ci/scripts/test-osx index 87b71a5..f030742 100755 --- a/.ci/scripts/test-osx +++ b/.ci/scripts/test-osx @@ -1,4 +1,4 @@ #!/usr/bin/env bash source /usr/local/opt/chruby/share/chruby/chruby.sh chruby ruby -bundle exec fastlane mac test +bundle install --quiet && bundle exec fastlane mac test diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 0000000..772ad2c --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,7 @@ +comment: + layout: header, changes, diff +coverage: + ignore: + - Tests/.* + status: + patch: false \ No newline at end of file diff --git a/.fastlane/Fastfile b/.fastlane/Fastfile index a269d86..8e21c34 100644 --- a/.fastlane/Fastfile +++ b/.fastlane/Fastfile @@ -9,30 +9,29 @@ end platform :ios do - desc "Runs all the tests" - lane :test do + desc "Runs all the tests" + lane :test do - scan( - scheme: "ValueCoding-iOS", - output_directory: ".ci/xcodebuild-data/", - xcargs: "-derivedDataPath .ci/xcodebuild-data/" - ) - - end - + scan( + project: "ValueCoding.xcodeproj", + scheme: "ValueCoding", + destination: "platform=iOS Simulator,OS=9.3,name=iPhone 6s", + code_coverage: true + ) + + end end platform :mac do - desc "Runs all the tests" - lane :test do + desc "Runs all the tests" + lane :test do - scan( - scheme: "ValueCoding-OSX", - output_directory: ".ci/xcodebuild-data/", - xcargs: "-derivedDataPath .ci/xcodebuild-data/" - ) + scan( + project: "ValueCoding.xcodeproj", + scheme: "ValueCoding", + device: "My Mac" + ) - end - + end end diff --git a/Gemfile.lock b/Gemfile.lock index 9a0ab7b..8f1883e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,36 +1,36 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.6) + activesupport (4.2.7.1) i18n (~> 0.7) json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.3.8) + addressable (2.4.0) babosa (1.0.2) - cert (1.4.0) - fastlane_core (>= 0.29.1, < 1.0.0) - spaceship (>= 0.22.0, < 1.0.0) - claide (0.9.1) + cert (1.4.2) + fastlane_core (>= 0.50.3, < 1.0.0) + spaceship (>= 0.32.0, < 1.0.0) + claide (1.0.0) clamp (0.6.5) colored (1.2) - commander (4.3.5) + commander (4.4.0) highline (~> 1.7.2) - credentials_manager (0.15.0) + credentials_manager (0.16.0) colored commander (>= 4.3.5) highline (>= 1.7.1) security - deliver (1.10.5) - credentials_manager (>= 0.12.0, < 1.0.0) + deliver (1.13.3) + credentials_manager (>= 0.16.0, < 1.0.0) fastimage (~> 1.6) - fastlane_core (>= 0.37.0, < 1.0.0) + fastlane_core (>= 0.50.3, < 1.0.0) plist (~> 3.1.0) - spaceship (>= 0.19.0, < 1.0.0) - domain_name (0.5.20160310) + spaceship (>= 0.31.6, < 1.0.0) + domain_name (0.5.20160615) unf (>= 0.0.5, < 1.0.0) - dotenv (2.1.0) + dotenv (2.1.1) excon (0.45.4) faraday (0.9.2) multipart-post (>= 1.2, < 3) @@ -41,50 +41,56 @@ GEM faraday (>= 0.7.4, < 0.10) fastimage (1.6.8) addressable (~> 2.3, >= 2.3.5) - fastlane (1.67.0) - addressable (~> 2.3.8) - cert (>= 1.4.0, < 2.0.0) - credentials_manager (>= 0.15.0, < 1.0.0) - deliver (>= 1.10.5, < 2.0.0) - fastlane_core (>= 0.37.0, < 1.0.0) - frameit (>= 2.5.1, < 3.0.0) - gym (>= 1.6.2, < 2.0.0) - krausefx-shenzhen (>= 0.14.7) - match (>= 0.4.0, < 1.0.0) - pem (>= 1.3.0, < 2.0.0) - pilot (>= 1.4.1, < 2.0.0) + fastlane (1.102.0) + activesupport (< 5) + addressable (~> 2.3) + bundler (~> 1.12) + cert (>= 1.4.1, < 2.0.0) + credentials_manager (>= 0.16.0, < 1.0.0) + deliver (>= 1.13.3, < 2.0.0) + fastlane_core (>= 0.50.2, < 1.0.0) + frameit (>= 2.7.0, < 3.0.0) + gym (>= 1.7.0, < 2.0.0) + krausefx-shenzhen (>= 0.14.10) + match (>= 0.6.3, < 1.0.0) + multipart-post (~> 2.0.0) + pem (>= 1.3.2, < 2.0.0) + pilot (>= 1.10.0, < 2.0.0) plist (~> 3.1.0) - produce (>= 1.1.1, < 2.0.0) - scan (>= 0.5.2, < 1.0.0) - screengrab (>= 0.3.1, < 1.0.0) - sigh (>= 1.6.0, < 2.0.0) + produce (>= 1.2.0, < 2.0.0) + scan (>= 0.11.3, < 2.0.0) + screengrab (>= 0.5.0, < 1.0.0) + sigh (>= 1.10.0, < 2.0.0) slack-notifier (~> 1.3) - snapshot (>= 1.12.0, < 2.0.0) - spaceship (>= 0.24.0, < 1.0.0) - supply (>= 0.4.0, < 1.0.0) + snapshot (>= 1.14.0, < 2.0.0) + spaceship (>= 0.32.0, < 1.0.0) + supply (>= 0.7.0, < 1.0.0) terminal-notifier (~> 1.6.2) terminal-table (~> 1.4.5) + word_wrap (~> 1.0.0) + xcode-install (~> 2.0.0) xcodeproj (>= 0.20, < 2.0.0) xcpretty (>= 0.2.1) - fastlane_core (0.39.0) + fastlane_core (0.50.3) babosa colored - commander (= 4.3.5) - credentials_manager (>= 0.11.0, < 1.0.0) + commander (>= 4.4.0, <= 5.0.0) + credentials_manager (>= 0.16.0, < 1.0.0) excon (~> 0.45.0) + gh_inspector (>= 1.0.1, < 2.0.0) highline (>= 1.7.2) json multi_json plist (~> 3.1) rubyzip (~> 1.1.6) - sentry-raven (~> 0.15) terminal-table (~> 1.4.5) - frameit (2.5.1) + frameit (2.7.0) deliver (> 0.3) fastimage (~> 1.6.3) fastlane_core (>= 0.36.1, < 1.0.0) - mini_magick (~> 4.0.2) - google-api-client (0.9.4) + mini_magick (~> 4.5.1) + gh_inspector (1.0.2) + google-api-client (0.9.13) addressable (~> 2.3) googleauth (~> 0.5) httpclient (~> 2.7) @@ -93,7 +99,6 @@ GEM mime-types (>= 1.6) representable (~> 2.3.0) retriable (~> 2.0) - thor (~> 0.19) googleauth (0.5.1) faraday (~> 0.9) jwt (~> 1.4) @@ -102,8 +107,8 @@ GEM multi_json (~> 1.11) os (~> 0.9) signet (~> 0.7) - gym (1.6.2) - fastlane_core (>= 0.36.1, < 1.0.0) + gym (1.8.0) + fastlane_core (>= 0.50.0, < 1.0.0) plist rubyzip (>= 1.1.7) terminal-table @@ -111,13 +116,13 @@ GEM highline (1.7.8) http-cookie (1.0.2) domain_name (~> 0.5) - httpclient (2.7.1) + httpclient (2.8.2.3) hurley (0.2) i18n (0.7.0) json (1.8.3) - jwt (1.5.3) - krausefx-shenzhen (0.14.7) - commander (~> 4.3) + jwt (1.5.4) + krausefx-shenzhen (0.14.10) + commander (>= 4.3, < 5.0) dotenv (>= 0.7) faraday (~> 0.9) faraday_middleware (~> 0.9) @@ -132,92 +137,92 @@ GEM logging (2.1.0) little-plugger (~> 1.1) multi_json (~> 1.10) - match (0.4.0) - cert (>= 1.2.8, < 2.0.0) - credentials_manager (>= 0.13.0, < 1.0.0) - fastlane_core (>= 0.39.0, < 1.0.0) + match (0.6.3) + cert (>= 1.4.1, < 2.0.0) + credentials_manager (>= 0.16.0, < 1.0.0) + fastlane_core (>= 0.50.3, < 1.0.0) security - sigh (>= 1.2.2, < 2.0.0) - spaceship (>= 0.24.0, < 1.0.0) - memoist (0.14.0) - mime-types (3.0) + sigh (>= 1.9.0, < 2.0.0) + spaceship (>= 0.31.10, < 1.0.0) + memoist (0.15.0) + mime-types (3.1) mime-types-data (~> 3.2015) - mime-types-data (3.2016.0221) - mini_magick (4.0.4) - mini_portile2 (2.0.0) - minitest (5.8.4) - multi_json (1.11.2) + mime-types-data (3.2016.0521) + mini_magick (4.5.1) + mini_portile2 (2.1.0) + minitest (5.9.0) + multi_json (1.12.1) multi_xml (0.5.5) multipart-post (2.0.0) net-sftp (2.1.2) net-ssh (>= 2.6.5) - net-ssh (3.1.0) - nokogiri (1.6.7.2) - mini_portile2 (~> 2.0.0.rc2) + net-ssh (3.2.0) + nokogiri (1.6.8) + mini_portile2 (~> 2.1.0) + pkg-config (~> 1.1.7) os (0.9.6) - pem (1.3.0) - fastlane_core (>= 0.36.1, < 1.0.0) - spaceship (>= 0.22.0, < 1.0.0) - pilot (1.4.1) + pem (1.3.2) + fastlane_core (>= 0.43.1, < 1.0.0) + spaceship (>= 0.26.2, < 1.0.0) + pilot (1.10.0) credentials_manager (>= 0.3.0) - fastlane_core (>= 0.36.5, < 1.0.0) - spaceship (>= 0.20.0, < 1.0.0) + fastlane_core (>= 0.46.2, < 1.0.0) + spaceship (>= 0.29.0, < 1.0.0) terminal-table (~> 1.4.5) + pkg-config (1.1.7) plist (3.1.0) - produce (1.1.1) + produce (1.2.0) fastlane_core (>= 0.30.0, < 1.0.0) - spaceship (>= 0.16.0) + spaceship (>= 0.31.1, < 1.0.0) representable (2.3.0) uber (~> 0.0.7) retriable (2.1.0) - rouge (1.10.1) + rouge (1.11.1) rubyzip (1.1.7) - scan (0.5.2) - fastlane_core (>= 0.36.1, < 1.0.0) + scan (0.11.3) + fastlane_core (>= 0.50.0, < 1.0.0) slack-notifier (~> 1.3) terminal-table xcpretty (>= 0.2.1) xcpretty-travis-formatter (>= 0.0.3) - screengrab (0.3.1) - fastlane_core (>= 0.38.0, < 1.0.0) + screengrab (0.5.1) + fastlane_core (>= 0.50.3, < 1.0.0) security (0.1.3) - sentry-raven (0.15.6) - faraday (>= 0.7.6) - sigh (1.6.0) + sigh (1.10.1) fastlane_core (>= 0.36.1, < 1.0.0) plist (~> 3.1) - spaceship (>= 0.22.0, < 1.0.0) - signet (0.7.2) + spaceship (>= 0.29.1, < 1.0.0) + signet (0.7.3) addressable (~> 2.3) faraday (~> 0.9) jwt (~> 1.5) multi_json (~> 1.10) slack-notifier (1.5.1) - slather (2.0.1) + slather (2.3.0) + activesupport (>= 4.0.2, < 5) clamp (~> 0.6) nokogiri (~> 1.6.3) - xcodeproj (>= 0.28.2, < 1.1.0) - snapshot (1.12.1) + xcodeproj (>= 0.20, < 2.0.0) + snapshot (1.14.0) fastimage (~> 1.6.3) - fastlane_core (>= 0.36.1, < 1.0.0) + fastlane_core (>= 0.50.3, < 1.0.0) plist (~> 3.1.0) xcpretty (>= 0.2.1) - spaceship (0.24.0) + spaceship (0.32.0) colored - credentials_manager (>= 0.9.0) + credentials_manager (>= 0.16.0) faraday (~> 0.9) faraday-cookie_jar (~> 0.0.6) faraday_middleware (~> 0.9) fastimage (~> 1.6) multi_xml (~> 0.5) plist (~> 3.1) - supply (0.5.2) + supply (0.7.1) credentials_manager (>= 0.15.0) - fastlane_core (>= 0.35.0) + fastlane_core (>= 0.43.4) google-api-client (~> 0.9.1) terminal-notifier (1.6.3) terminal-table (1.4.5) - thor (0.19.1) thread_safe (0.3.5) tzinfo (1.2.2) thread_safe (~> 0.1) @@ -225,9 +230,13 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.2) - xcodeproj (0.28.2) + word_wrap (1.0.0) + xcode-install (2.0.2) + claide (>= 0.9.1, < 1.1.0) + spaceship (>= 0.25.1, < 1.0.0) + xcodeproj (1.2.0) activesupport (>= 3) - claide (~> 0.9.1) + claide (>= 1.0.0, < 2.0) colored (~> 1.2) xcpretty (0.2.2) rouge (~> 1.8) @@ -244,4 +253,4 @@ DEPENDENCIES xcpretty BUNDLED WITH - 1.11.2 + 1.12.5 diff --git a/ValueCoding/ValueCoding.swift b/Sources/ValueCoding.swift similarity index 87% rename from ValueCoding/ValueCoding.swift rename to Sources/ValueCoding.swift index 93dbc3d..68b49d7 100644 --- a/ValueCoding/ValueCoding.swift +++ b/Sources/ValueCoding.swift @@ -72,32 +72,6 @@ extension CodingType where ValueType: ValueCoding, ValueType.Coder == Self { } } -/** - Objective-C bridging support. Allows for use of value types in `NSArray` and company. - */ -extension ValueCoding where Coder: NSCoding, Coder.ValueType == Self { - static func _isBridgedToObjectiveC() -> Bool { - return true - } - - static func _getObjectiveCType() -> Any.Type { - return Coder.self - } - - static func _forceBridgeFromObjectiveC(source: Coder, inout result: Self?) { - result = source.value - } - - static func _conditionallyBridgeFromObjectiveC(source: Coder, inout result: Self?) -> Bool { - result = source.value - return true - } - - func _bridgeToObjectiveC() -> Coder { - return encoded - } -} - extension SequenceType where Generator.Element: CodingType { diff --git a/ValueCoding/Supporting Files/Info.plist b/Supporting Files/Info.plist similarity index 95% rename from ValueCoding/Supporting Files/Info.plist rename to Supporting Files/Info.plist index ccaae09..d6e331b 100644 --- a/ValueCoding/Supporting Files/Info.plist +++ b/Supporting Files/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - $(PROJECT_VERSION) + $(VALUECODING_VERSION) CFBundleSignature ???? CFBundleVersion diff --git a/ValueCoding/Supporting Files/ValueCoding.h b/Supporting Files/ValueCoding.h similarity index 73% rename from ValueCoding/Supporting Files/ValueCoding.h rename to Supporting Files/ValueCoding.h index d62064b..fee0b27 100644 --- a/ValueCoding/Supporting Files/ValueCoding.h +++ b/Supporting Files/ValueCoding.h @@ -1,9 +1,7 @@ // -// ValueCoding.h // ValueCoding // -// Created by Daniel Thorpe on 11/10/2015. -// +// Copyright © 2016 Daniel Thorpe. All rights reserved. // #import diff --git a/Supporting Files/ValueCoding.xcconfig b/Supporting Files/ValueCoding.xcconfig new file mode 100644 index 0000000..47f94c3 --- /dev/null +++ b/Supporting Files/ValueCoding.xcconfig @@ -0,0 +1,45 @@ +// +// ValueCoding +// +// Copyright © 2016 Daniel Thorpe. All rights reserved. +// + +#include "Version.xcconfig" + +// Metadata +INFOPLIST_FILE_framework = $(SRCROOT)/Supporting Files/Info.plist +INFOPLIST_FILE_xctest = $(SRCROOT)/Tests/Info.plist +INFOPLIST_FILE = $(INFOPLIST_FILE_$(WRAPPER_EXTENSION)) + +PRODUCT_BUNDLE_IDENTIFIER_framework = me.danthorpe.ValueCoding +PRODUCT_BUNDLE_IDENTIFIER_xctest = me.danthorpe.ValueCodingTests +PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER_$(WRAPPER_EXTENSION)) + +PRODUCT_NAME_framework = ValueCoding +PRODUCT_NAME_xctest = ValueCodingTests +PRODUCT_NAME = $(PRODUCT_NAME_$(WRAPPER_EXTENSION)) + +APPLICATION_EXTENSION_API_ONLY_framework = YES +APPLICATION_EXTENSION_API_ONLY_xctest = NO +APPLICATION_EXTENSION_API_ONLY = $(APPLICATION_EXTENSION_API_ONLY_$(WRAPPER_EXTENSION)) + +// Build Settings +SWIFT_VERSION = 2.2 +SUPPORTED_PLATFORMS = macosx iphoneos appletvos watchos appletvsimulator iphonesimulator watchsimulator +CLANG_ENABLE_CODE_COVERAGE = YES + +// Code Signing +CODE_SIGN_IDENTITY = - + +// Deployment +DEFINES_MODULE = YES + +MACOSX_DEPLOYMENT_TARGET = 10.11 +IPHONEOS_DEPLOYMENT_TARGET = 8.0 +TVOS_DEPLOYMENT_TARGET = 9.2 +WATCHOS_DEPLOYMENT_TARGET = 2.2 + +LD_RUNPATH_SEARCH_PATHS_framework = @executable_path/../Frameworks @loader_path/Frameworks +LD_RUNPATH_SEARCH_PATHS_xctest = @loader_path/Frameworks @executable_path/Frameworks @loader_path/../Frameworks @executable_path/../Frameworks +LD_RUNPATH_SEARCH_PATHS = $(LD_RUNPATH_SEARCH_PATHS_$(WRAPPER_EXTENSION)) + diff --git a/Supporting Files/Version.xcconfig b/Supporting Files/Version.xcconfig new file mode 100644 index 0000000..9271bd9 --- /dev/null +++ b/Supporting Files/Version.xcconfig @@ -0,0 +1 @@ +VALUECODING_VERSION = 1.4.0 diff --git a/Tests/Info.plist b/Tests/Info.plist index ba72822..6c6c23c 100644 --- a/Tests/Info.plist +++ b/Tests/Info.plist @@ -16,8 +16,6 @@ BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/ValueCoding.xcodeproj/project.pbxproj b/ValueCoding.xcodeproj/project.pbxproj index 9e02569..60f1d37 100644 --- a/ValueCoding.xcodeproj/project.pbxproj +++ b/ValueCoding.xcodeproj/project.pbxproj @@ -7,451 +7,197 @@ objects = { /* Begin PBXBuildFile section */ - 652D3D8D1BCAA5AE00712107 /* ValueCoding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 652D3D821BCAA5AD00712107 /* ValueCoding.framework */; }; - 652D3DA91BCAA66500712107 /* ValueCoding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 652D3D9F1BCAA66500712107 /* ValueCoding.framework */; }; - 652D3DBE1BCAA72C00712107 /* ValueCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 652D3DBB1BCAA72C00712107 /* ValueCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 652D3DBF1BCAA7D700712107 /* ValueCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 652D3DBB1BCAA72C00712107 /* ValueCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 652D3DC11BCAA81600712107 /* ValueCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC01BCAA81600712107 /* ValueCoding.swift */; }; - 652D3DC21BCAA81900712107 /* ValueCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC01BCAA81600712107 /* ValueCoding.swift */; }; - 652D3DC41BCAA84D00712107 /* ValueCodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC31BCAA84D00712107 /* ValueCodingTests.swift */; }; - 652D3DC51BCAA84D00712107 /* ValueCodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC31BCAA84D00712107 /* ValueCodingTests.swift */; }; - 652D3DCA1BCAA8C200712107 /* Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC91BCAA8C200712107 /* Support.swift */; }; - 652D3DCB1BCAA8C200712107 /* Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC91BCAA8C200712107 /* Support.swift */; }; - 652D3DD91BCAB8A300712107 /* ValueCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC01BCAA81600712107 /* ValueCoding.swift */; }; - 652D3DDA1BCAB8BE00712107 /* ValueCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 652D3DBB1BCAA72C00712107 /* ValueCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65E7661F1BDFA84300889368 /* ValueCoding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65E766151BDFA84200889368 /* ValueCoding.framework */; }; - 65E7662C1BDFA86B00889368 /* ValueCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC01BCAA81600712107 /* ValueCoding.swift */; }; - 65E7662D1BDFA87300889368 /* Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC91BCAA8C200712107 /* Support.swift */; }; - 65E7662E1BDFA87300889368 /* ValueCodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 652D3DC31BCAA84D00712107 /* ValueCodingTests.swift */; }; - 65E7662F1BDFA89A00889368 /* ValueCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 652D3DBB1BCAA72C00712107 /* ValueCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 658A7B661D776B7600F897C8 /* ValueCoding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 658A7B5C1D776B7600F897C8 /* ValueCoding.framework */; }; + 65CF6F551D776BBC004B3503 /* ValueCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65CF6F511D776BBC004B3503 /* ValueCoding.swift */; }; + 65CF6F571D776BBC004B3503 /* ValueCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 65CF6F541D776BBC004B3503 /* ValueCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65CF6F5D1D77744D004B3503 /* Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65CF6F5B1D77744D004B3503 /* Support.swift */; }; + 65CF6F5E1D77744D004B3503 /* ValueCodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65CF6F5C1D77744D004B3503 /* ValueCodingTests.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 652D3D8E1BCAA5AE00712107 /* PBXContainerItemProxy */ = { + 658A7B671D776B7600F897C8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 652D3D771BCAA53A00712107 /* Project object */; + containerPortal = 658A7B511D776B4100F897C8 /* Project object */; proxyType = 1; - remoteGlobalIDString = 652D3D811BCAA5AD00712107; - remoteInfo = "ValueCoding-OSX"; - }; - 652D3DAA1BCAA66500712107 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 652D3D771BCAA53A00712107 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 652D3D9E1BCAA66500712107; - remoteInfo = "ValueCoding-iOS"; - }; - 65E766201BDFA84300889368 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 652D3D771BCAA53A00712107 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 65E766141BDFA84200889368; - remoteInfo = "ValueCoding-tvOS"; + remoteGlobalIDString = 658A7B5B1D776B7600F897C8; + remoteInfo = ValueCoding; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 652D3D821BCAA5AD00712107 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 652D3D8C1BCAA5AE00712107 /* ValueCoding-OSXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ValueCoding-OSXTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 652D3D9F1BCAA66500712107 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 652D3DA81BCAA66500712107 /* ValueCoding-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ValueCoding-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 652D3DB71BCAA72C00712107 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 652D3DBA1BCAA72C00712107 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 652D3DBB1BCAA72C00712107 /* ValueCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueCoding.h; sourceTree = ""; }; - 652D3DC01BCAA81600712107 /* ValueCoding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueCoding.swift; sourceTree = ""; }; - 652D3DC31BCAA84D00712107 /* ValueCodingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueCodingTests.swift; sourceTree = ""; }; - 652D3DC91BCAA8C200712107 /* Support.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Support.swift; sourceTree = ""; }; - 652D3DD11BCAB86D00712107 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 652D3DD31BCAB86D00712107 /* ValueCoding-watchOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ValueCoding-watchOS.h"; sourceTree = ""; }; - 652D3DD51BCAB86D00712107 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 65E766151BDFA84200889368 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 65E7661E1BDFA84300889368 /* ValueCoding-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ValueCoding-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 658A7B5C1D776B7600F897C8 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 658A7B651D776B7600F897C8 /* ValueCodingTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ValueCodingTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 65CF6F511D776BBC004B3503 /* ValueCoding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueCoding.swift; sourceTree = ""; }; + 65CF6F531D776BBC004B3503 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 65CF6F541D776BBC004B3503 /* ValueCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueCoding.h; sourceTree = ""; }; + 65CF6F581D776BD5004B3503 /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; + 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ValueCoding.xcconfig; sourceTree = ""; }; + 65CF6F5B1D77744D004B3503 /* Support.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Support.swift; sourceTree = ""; }; + 65CF6F5C1D77744D004B3503 /* ValueCodingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueCodingTests.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 652D3D7E1BCAA5AD00712107 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D891BCAA5AE00712107 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3D8D1BCAA5AE00712107 /* ValueCoding.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D9B1BCAA66500712107 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DA51BCAA66500712107 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DA91BCAA66500712107 /* ValueCoding.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DCD1BCAB86D00712107 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 65E766111BDFA84200889368 /* Frameworks */ = { + 658A7B581D776B7600F897C8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 65E7661B1BDFA84300889368 /* Frameworks */ = { + 658A7B621D776B7600F897C8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 65E7661F1BDFA84300889368 /* ValueCoding.framework in Frameworks */, + 658A7B661D776B7600F897C8 /* ValueCoding.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 652D3D761BCAA53A00712107 = { + 658A7B501D776B4100F897C8 = { isa = PBXGroup; children = ( - 652D3DB81BCAA72C00712107 /* ValueCoding */, - 652D3DB61BCAA72C00712107 /* Tests */, - 652D3DD21BCAB86D00712107 /* ValueCoding-watchOS */, - 652D3D831BCAA5AD00712107 /* Products */, + 65CF6F501D776BBC004B3503 /* Sources */, + 65CF6F5A1D77744D004B3503 /* Tests */, + 65CF6F521D776BBC004B3503 /* Supporting Files */, + 658A7B5D1D776B7600F897C8 /* Products */, ); sourceTree = ""; }; - 652D3D831BCAA5AD00712107 /* Products */ = { + 658A7B5D1D776B7600F897C8 /* Products */ = { isa = PBXGroup; children = ( - 652D3D821BCAA5AD00712107 /* ValueCoding.framework */, - 652D3D8C1BCAA5AE00712107 /* ValueCoding-OSXTests.xctest */, - 652D3D9F1BCAA66500712107 /* ValueCoding.framework */, - 652D3DA81BCAA66500712107 /* ValueCoding-iOSTests.xctest */, - 652D3DD11BCAB86D00712107 /* ValueCoding.framework */, - 65E766151BDFA84200889368 /* ValueCoding.framework */, - 65E7661E1BDFA84300889368 /* ValueCoding-tvOSTests.xctest */, + 658A7B5C1D776B7600F897C8 /* ValueCoding.framework */, + 658A7B651D776B7600F897C8 /* ValueCodingTests.xctest */, ); name = Products; sourceTree = ""; }; - 652D3DB61BCAA72C00712107 /* Tests */ = { - isa = PBXGroup; - children = ( - 652D3DB71BCAA72C00712107 /* Info.plist */, - 652D3DC91BCAA8C200712107 /* Support.swift */, - 652D3DC31BCAA84D00712107 /* ValueCodingTests.swift */, - ); - path = Tests; - sourceTree = ""; - }; - 652D3DB81BCAA72C00712107 /* ValueCoding */ = { + 65CF6F501D776BBC004B3503 /* Sources */ = { isa = PBXGroup; children = ( - 652D3DC01BCAA81600712107 /* ValueCoding.swift */, - 652D3DB91BCAA72C00712107 /* Supporting Files */, + 65CF6F511D776BBC004B3503 /* ValueCoding.swift */, ); - path = ValueCoding; + path = Sources; sourceTree = ""; }; - 652D3DB91BCAA72C00712107 /* Supporting Files */ = { + 65CF6F521D776BBC004B3503 /* Supporting Files */ = { isa = PBXGroup; children = ( - 652D3DBA1BCAA72C00712107 /* Info.plist */, - 652D3DBB1BCAA72C00712107 /* ValueCoding.h */, + 65CF6F541D776BBC004B3503 /* ValueCoding.h */, + 65CF6F531D776BBC004B3503 /* Info.plist */, + 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */, + 65CF6F581D776BD5004B3503 /* Version.xcconfig */, ); path = "Supporting Files"; sourceTree = ""; }; - 652D3DD21BCAB86D00712107 /* ValueCoding-watchOS */ = { + 65CF6F5A1D77744D004B3503 /* Tests */ = { isa = PBXGroup; children = ( - 652D3DD31BCAB86D00712107 /* ValueCoding-watchOS.h */, - 652D3DD51BCAB86D00712107 /* Info.plist */, + 65CF6F5B1D77744D004B3503 /* Support.swift */, + 65CF6F5C1D77744D004B3503 /* ValueCodingTests.swift */, ); - path = "ValueCoding-watchOS"; + path = Tests; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 652D3D7F1BCAA5AD00712107 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DBE1BCAA72C00712107 /* ValueCoding.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D9C1BCAA66500712107 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DBF1BCAA7D700712107 /* ValueCoding.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DCE1BCAB86D00712107 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DDA1BCAB8BE00712107 /* ValueCoding.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 65E766121BDFA84200889368 /* Headers */ = { + 658A7B591D776B7600F897C8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 65E7662F1BDFA89A00889368 /* ValueCoding.h in Headers */, + 65CF6F571D776BBC004B3503 /* ValueCoding.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 652D3D811BCAA5AD00712107 /* ValueCoding-OSX */ = { - isa = PBXNativeTarget; - buildConfigurationList = 652D3D981BCAA5AE00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-OSX" */; - buildPhases = ( - 65A76FB51CA1FF2A00F62CBD /* Swift Lint */, - 652D3D7D1BCAA5AD00712107 /* Sources */, - 652D3D7E1BCAA5AD00712107 /* Frameworks */, - 652D3D7F1BCAA5AD00712107 /* Headers */, - 652D3D801BCAA5AD00712107 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ValueCoding-OSX"; - productName = "ValueCoding-OSX"; - productReference = 652D3D821BCAA5AD00712107 /* ValueCoding.framework */; - productType = "com.apple.product-type.framework"; - }; - 652D3D8B1BCAA5AE00712107 /* ValueCoding-OSXTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 652D3D991BCAA5AE00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-OSXTests" */; - buildPhases = ( - 652D3D881BCAA5AE00712107 /* Sources */, - 652D3D891BCAA5AE00712107 /* Frameworks */, - 652D3D8A1BCAA5AE00712107 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 652D3D8F1BCAA5AE00712107 /* PBXTargetDependency */, - ); - name = "ValueCoding-OSXTests"; - productName = "ValueCoding-OSXTests"; - productReference = 652D3D8C1BCAA5AE00712107 /* ValueCoding-OSXTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 652D3D9E1BCAA66500712107 /* ValueCoding-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 652D3DB01BCAA66500712107 /* Build configuration list for PBXNativeTarget "ValueCoding-iOS" */; - buildPhases = ( - 65A76FB61CA1FF5900F62CBD /* Swift Lint */, - 652D3D9A1BCAA66500712107 /* Sources */, - 652D3D9B1BCAA66500712107 /* Frameworks */, - 652D3D9C1BCAA66500712107 /* Headers */, - 652D3D9D1BCAA66500712107 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ValueCoding-iOS"; - productName = "ValueCoding-iOS"; - productReference = 652D3D9F1BCAA66500712107 /* ValueCoding.framework */; - productType = "com.apple.product-type.framework"; - }; - 652D3DA71BCAA66500712107 /* ValueCoding-iOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 652D3DB31BCAA66500712107 /* Build configuration list for PBXNativeTarget "ValueCoding-iOSTests" */; - buildPhases = ( - 652D3DA41BCAA66500712107 /* Sources */, - 652D3DA51BCAA66500712107 /* Frameworks */, - 652D3DA61BCAA66500712107 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 652D3DAB1BCAA66500712107 /* PBXTargetDependency */, - ); - name = "ValueCoding-iOSTests"; - productName = "ValueCoding-iOSTests"; - productReference = 652D3DA81BCAA66500712107 /* ValueCoding-iOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 652D3DD01BCAB86D00712107 /* ValueCoding-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 652D3DD61BCAB86D00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-watchOS" */; - buildPhases = ( - 65A76FB71CA1FF7E00F62CBD /* Swift Lint */, - 652D3DCC1BCAB86D00712107 /* Sources */, - 652D3DCD1BCAB86D00712107 /* Frameworks */, - 652D3DCE1BCAB86D00712107 /* Headers */, - 652D3DCF1BCAB86D00712107 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "ValueCoding-watchOS"; - productName = "ValueCoding-watchOS"; - productReference = 652D3DD11BCAB86D00712107 /* ValueCoding.framework */; - productType = "com.apple.product-type.framework"; - }; - 65E766141BDFA84200889368 /* ValueCoding-tvOS */ = { + 658A7B5B1D776B7600F897C8 /* ValueCoding */ = { isa = PBXNativeTarget; - buildConfigurationList = 65E7662A1BDFA84300889368 /* Build configuration list for PBXNativeTarget "ValueCoding-tvOS" */; + buildConfigurationList = 658A7B6E1D776B7600F897C8 /* Build configuration list for PBXNativeTarget "ValueCoding" */; buildPhases = ( - 65A76FB81CA1FF9900F62CBD /* Swift Lint */, - 65E766101BDFA84200889368 /* Sources */, - 65E766111BDFA84200889368 /* Frameworks */, - 65E766121BDFA84200889368 /* Headers */, - 65E766131BDFA84200889368 /* Resources */, + 658A7B571D776B7600F897C8 /* Sources */, + 658A7B581D776B7600F897C8 /* Frameworks */, + 658A7B591D776B7600F897C8 /* Headers */, + 658A7B5A1D776B7600F897C8 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = "ValueCoding-tvOS"; - productName = "ValueCoding-tvOS"; - productReference = 65E766151BDFA84200889368 /* ValueCoding.framework */; + name = ValueCoding; + productName = ValueCoding; + productReference = 658A7B5C1D776B7600F897C8 /* ValueCoding.framework */; productType = "com.apple.product-type.framework"; }; - 65E7661D1BDFA84300889368 /* ValueCoding-tvOSTests */ = { + 658A7B641D776B7600F897C8 /* ValueCodingTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 65E7662B1BDFA84300889368 /* Build configuration list for PBXNativeTarget "ValueCoding-tvOSTests" */; + buildConfigurationList = 658A7B711D776B7600F897C8 /* Build configuration list for PBXNativeTarget "ValueCodingTests" */; buildPhases = ( - 65E7661A1BDFA84300889368 /* Sources */, - 65E7661B1BDFA84300889368 /* Frameworks */, - 65E7661C1BDFA84300889368 /* Resources */, + 658A7B611D776B7600F897C8 /* Sources */, + 658A7B621D776B7600F897C8 /* Frameworks */, + 658A7B631D776B7600F897C8 /* Resources */, ); buildRules = ( ); dependencies = ( - 65E766211BDFA84300889368 /* PBXTargetDependency */, + 658A7B681D776B7600F897C8 /* PBXTargetDependency */, ); - name = "ValueCoding-tvOSTests"; - productName = "ValueCoding-tvOSTests"; - productReference = 65E7661E1BDFA84300889368 /* ValueCoding-tvOSTests.xctest */; + name = ValueCodingTests; + productName = ValueCodingTests; + productReference = 658A7B651D776B7600F897C8 /* ValueCodingTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 652D3D771BCAA53A00712107 /* Project object */ = { + 658A7B511D776B4100F897C8 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 0710; + LastSwiftUpdateCheck = 0800; + LastUpgradeCheck = 0800; TargetAttributes = { - 652D3D811BCAA5AD00712107 = { - CreatedOnToolsVersion = 7.0.1; - }; - 652D3D8B1BCAA5AE00712107 = { - CreatedOnToolsVersion = 7.0.1; - }; - 652D3D9E1BCAA66500712107 = { - CreatedOnToolsVersion = 7.0.1; + 658A7B5B1D776B7600F897C8 = { + CreatedOnToolsVersion = 8.0; + ProvisioningStyle = Automatic; }; - 652D3DA71BCAA66500712107 = { - CreatedOnToolsVersion = 7.0.1; - }; - 652D3DD01BCAB86D00712107 = { - CreatedOnToolsVersion = 7.0.1; - }; - 65E766141BDFA84200889368 = { - CreatedOnToolsVersion = 7.1; - }; - 65E7661D1BDFA84300889368 = { - CreatedOnToolsVersion = 7.1; + 658A7B641D776B7600F897C8 = { + CreatedOnToolsVersion = 8.0; + ProvisioningStyle = Automatic; }; }; }; - buildConfigurationList = 652D3D7A1BCAA53A00712107 /* Build configuration list for PBXProject "ValueCoding" */; + buildConfigurationList = 658A7B541D776B4100F897C8 /* Build configuration list for PBXProject "ValueCoding" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 652D3D761BCAA53A00712107; - productRefGroup = 652D3D831BCAA5AD00712107 /* Products */; + mainGroup = 658A7B501D776B4100F897C8; + productRefGroup = 658A7B5D1D776B7600F897C8 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 652D3D811BCAA5AD00712107 /* ValueCoding-OSX */, - 652D3D8B1BCAA5AE00712107 /* ValueCoding-OSXTests */, - 652D3D9E1BCAA66500712107 /* ValueCoding-iOS */, - 652D3DA71BCAA66500712107 /* ValueCoding-iOSTests */, - 652D3DD01BCAB86D00712107 /* ValueCoding-watchOS */, - 65E766141BDFA84200889368 /* ValueCoding-tvOS */, - 65E7661D1BDFA84300889368 /* ValueCoding-tvOSTests */, + 658A7B5B1D776B7600F897C8 /* ValueCoding */, + 658A7B641D776B7600F897C8 /* ValueCodingTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 652D3D801BCAA5AD00712107 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D8A1BCAA5AE00712107 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D9D1BCAA66500712107 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DA61BCAA66500712107 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DCF1BCAB86D00712107 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 65E766131BDFA84200889368 /* Resources */ = { + 658A7B5A1D776B7600F897C8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 65E7661C1BDFA84300889368 /* Resources */ = { + 658A7B631D776B7600F897C8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -460,179 +206,54 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 65A76FB51CA1FF2A00F62CBD /* Swift Lint */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Swift Lint"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint autocorrect\n [ -f .swiftlint.yml ] && CONFIG=\".swiftlint.yml\" || CONFIG=\"$HOME/.swiftlint.yml\"\n swiftlint lint --config $CONFIG\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; - showEnvVarsInLog = 0; - }; - 65A76FB61CA1FF5900F62CBD /* Swift Lint */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Swift Lint"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint autocorrect\n [ -f .swiftlint.yml ] && CONFIG=\".swiftlint.yml\" || CONFIG=\"$HOME/.swiftlint.yml\"\n swiftlint lint --config $CONFIG\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; - showEnvVarsInLog = 0; - }; - 65A76FB71CA1FF7E00F62CBD /* Swift Lint */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Swift Lint"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint autocorrect\n [ -f .swiftlint.yml ] && CONFIG=\".swiftlint.yml\" || CONFIG=\"$HOME/.swiftlint.yml\"\n swiftlint lint --config $CONFIG\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; - showEnvVarsInLog = 0; - }; - 65A76FB81CA1FF9900F62CBD /* Swift Lint */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Swift Lint"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint autocorrect\n [ -f .swiftlint.yml ] && CONFIG=\".swiftlint.yml\" || CONFIG=\"$HOME/.swiftlint.yml\"\n swiftlint lint --config $CONFIG\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ - 652D3D7D1BCAA5AD00712107 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DC11BCAA81600712107 /* ValueCoding.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D881BCAA5AE00712107 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DC41BCAA84D00712107 /* ValueCodingTests.swift in Sources */, - 652D3DCA1BCAA8C200712107 /* Support.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3D9A1BCAA66500712107 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DC21BCAA81900712107 /* ValueCoding.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DA41BCAA66500712107 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DC51BCAA84D00712107 /* ValueCodingTests.swift in Sources */, - 652D3DCB1BCAA8C200712107 /* Support.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 652D3DCC1BCAB86D00712107 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 652D3DD91BCAB8A300712107 /* ValueCoding.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 65E766101BDFA84200889368 /* Sources */ = { + 658A7B571D776B7600F897C8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 65E7662C1BDFA86B00889368 /* ValueCoding.swift in Sources */, + 65CF6F551D776BBC004B3503 /* ValueCoding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 65E7661A1BDFA84300889368 /* Sources */ = { + 658A7B611D776B7600F897C8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 65E7662E1BDFA87300889368 /* ValueCodingTests.swift in Sources */, - 65E7662D1BDFA87300889368 /* Support.swift in Sources */, + 65CF6F5D1D77744D004B3503 /* Support.swift in Sources */, + 65CF6F5E1D77744D004B3503 /* ValueCodingTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 652D3D8F1BCAA5AE00712107 /* PBXTargetDependency */ = { + 658A7B681D776B7600F897C8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 652D3D811BCAA5AD00712107 /* ValueCoding-OSX */; - targetProxy = 652D3D8E1BCAA5AE00712107 /* PBXContainerItemProxy */; - }; - 652D3DAB1BCAA66500712107 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 652D3D9E1BCAA66500712107 /* ValueCoding-iOS */; - targetProxy = 652D3DAA1BCAA66500712107 /* PBXContainerItemProxy */; - }; - 65E766211BDFA84300889368 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 65E766141BDFA84200889368 /* ValueCoding-tvOS */; - targetProxy = 65E766201BDFA84300889368 /* PBXContainerItemProxy */; + target = 658A7B5B1D776B7600F897C8 /* ValueCoding */; + targetProxy = 658A7B671D776B7600F897C8 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 652D3D7B1BCAA53A00712107 /* Debug */ = { + 658A7B551D776B4100F897C8 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */; buildSettings = { - CLANG_ENABLE_CODE_COVERAGE = YES; - ENABLE_TESTABILITY = YES; - INFOPLIST_FILE = "$(SRCROOT)/ValueCoding/Supporting Files/Info.plist"; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.$(PRODUCT_NAME)"; - PRODUCT_NAME = ValueCoding; - PROJECT_VERSION = 1.3.0; }; name = Debug; }; - 652D3D7C1BCAA53A00712107 /* Release */ = { + 658A7B561D776B4100F897C8 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */; buildSettings = { - CLANG_ENABLE_CODE_COVERAGE = YES; - INFOPLIST_FILE = "$(SRCROOT)/ValueCoding/Supporting Files/Info.plist"; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.$(PRODUCT_NAME)"; - PRODUCT_NAME = ValueCoding; - PROJECT_VERSION = 1.3.0; }; name = Release; }; - 652D3D941BCAA5AE00712107 /* Debug */ = { + 658A7B6F1D776B7600F897C8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -640,10 +261,13 @@ CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COMBINE_HIDPI_IMAGES = YES; @@ -672,23 +296,23 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 652D3D951BCAA5AE00712107 /* Release */ = { + 658A7B701D776B7600F897C8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -696,10 +320,13 @@ CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COMBINE_HIDPI_IMAGES = YES; @@ -722,20 +349,22 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 652D3D961BCAA5AE00712107 /* Debug */ = { + 658A7B721D776B7600F897C8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -743,12 +372,16 @@ CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; @@ -768,22 +401,20 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = Tests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.ValueCoding-OSXTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; }; name = Debug; }; - 652D3D971BCAA5AE00712107 /* Release */ = { + 658A7B731D776B7600F897C8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -791,12 +422,16 @@ CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -810,575 +445,45 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = Tests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.ValueCoding-OSXTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; - }; - name = Release; - }; - 652D3DB11BCAA66500712107 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 652D3DB21BCAA66500712107 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 652D3DB41BCAA66500712107 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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/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 = "me.danthorpe.ValueCoding-iOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 652D3DB51BCAA66500712107 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.ValueCoding-iOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 652D3DD71BCAB86D00712107 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - 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; - SDKROOT = watchos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = 4; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 652D3DD81BCAB86D00712107 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - 65E766261BDFA84300889368 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - 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; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 65E766271BDFA84300889368 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = 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; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 65E766281BDFA84300889368 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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/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 = "me.danthorpe.ValueCoding-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - 65E766291BDFA84300889368 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "me.danthorpe.ValueCoding-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.0; - VALIDATE_PRODUCT = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 652D3D7A1BCAA53A00712107 /* Build configuration list for PBXProject "ValueCoding" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 652D3D7B1BCAA53A00712107 /* Debug */, - 652D3D7C1BCAA53A00712107 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 652D3D981BCAA5AE00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-OSX" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 652D3D941BCAA5AE00712107 /* Debug */, - 652D3D951BCAA5AE00712107 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 652D3D991BCAA5AE00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-OSXTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 652D3D961BCAA5AE00712107 /* Debug */, - 652D3D971BCAA5AE00712107 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 652D3DB01BCAA66500712107 /* Build configuration list for PBXNativeTarget "ValueCoding-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 652D3DB11BCAA66500712107 /* Debug */, - 652D3DB21BCAA66500712107 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 652D3DB31BCAA66500712107 /* Build configuration list for PBXNativeTarget "ValueCoding-iOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 652D3DB41BCAA66500712107 /* Debug */, - 652D3DB51BCAA66500712107 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 652D3DD61BCAB86D00712107 /* Build configuration list for PBXNativeTarget "ValueCoding-watchOS" */ = { + 658A7B541D776B4100F897C8 /* Build configuration list for PBXProject "ValueCoding" */ = { isa = XCConfigurationList; buildConfigurations = ( - 652D3DD71BCAB86D00712107 /* Debug */, - 652D3DD81BCAB86D00712107 /* Release */, + 658A7B551D776B4100F897C8 /* Debug */, + 658A7B561D776B4100F897C8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 65E7662A1BDFA84300889368 /* Build configuration list for PBXNativeTarget "ValueCoding-tvOS" */ = { + 658A7B6E1D776B7600F897C8 /* Build configuration list for PBXNativeTarget "ValueCoding" */ = { isa = XCConfigurationList; buildConfigurations = ( - 65E766261BDFA84300889368 /* Debug */, - 65E766271BDFA84300889368 /* Release */, + 658A7B6F1D776B7600F897C8 /* Debug */, + 658A7B701D776B7600F897C8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 65E7662B1BDFA84300889368 /* Build configuration list for PBXNativeTarget "ValueCoding-tvOSTests" */ = { + 658A7B711D776B7600F897C8 /* Build configuration list for PBXNativeTarget "ValueCodingTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 65E766281BDFA84300889368 /* Debug */, - 65E766291BDFA84300889368 /* Release */, + 658A7B721D776B7600F897C8 /* Debug */, + 658A7B731D776B7600F897C8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 652D3D771BCAA53A00712107 /* Project object */; + rootObject = 658A7B511D776B4100F897C8 /* Project object */; } diff --git a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-iOS.xcscheme b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-iOS.xcscheme deleted file mode 100644 index c7e38a3..0000000 --- a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-iOS.xcscheme +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-tvOS.xcscheme b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-tvOS.xcscheme deleted file mode 100644 index 162e0a7..0000000 --- a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-tvOS.xcscheme +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-watchOS.xcscheme b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-watchOS.xcscheme deleted file mode 100644 index bf0c6e7..0000000 --- a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-watchOS.xcscheme +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-OSX.xcscheme b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme similarity index 82% rename from ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-OSX.xcscheme rename to ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme index adbedda..8362628 100644 --- a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding-OSX.xcscheme +++ b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme @@ -1,6 +1,6 @@ @@ -33,9 +33,9 @@ skipped = "NO"> @@ -43,9 +43,9 @@ @@ -65,9 +65,9 @@ @@ -83,9 +83,9 @@ From 56e4a6de919aecb818f73dc834e2827fbe902178 Mon Sep 17 00:00:00 2001 From: Daniel Thorpe Date: Sun, 30 Oct 2016 16:58:39 +0000 Subject: [PATCH 3/5] Updates for Xcode 8.1 (#26) --- .swift-version | 1 + Sources/ValueCoding.swift | 6 ++--- Supporting Files/ValueCoding.xcconfig | 1 + Supporting Files/Warnings.xcconfig | 27 +++++++++++++++++++ Tests/ValueCodingTests.swift | 4 +-- ValueCoding.xcodeproj/project.pbxproj | 17 +++++++++--- .../xcschemes/ValueCoding.xcscheme | 2 +- 7 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 .swift-version create mode 100644 Supporting Files/Warnings.xcconfig diff --git a/.swift-version b/.swift-version new file mode 100644 index 0000000..bb576db --- /dev/null +++ b/.swift-version @@ -0,0 +1 @@ +2.3 diff --git a/Sources/ValueCoding.swift b/Sources/ValueCoding.swift index 9dec72b..290b90f 100644 --- a/Sources/ValueCoding.swift +++ b/Sources/ValueCoding.swift @@ -76,7 +76,7 @@ public extension ValueCoding where Coder: NSCoding, Coder.Value == Self { be of `Coder` type. - returns: an optional `Self` */ - static func decode(_ object: AnyObject?) -> Self? { + static func decode(_ object: Any?) -> Self? { return (object as? Coder)?.value } @@ -89,7 +89,7 @@ public extension ValueCoding where Coder: NSCoding, Coder.Value == Self { - parameter objects: a `SequenceType` of `AnyObject`. - returns: the array of values which were able to be unarchived. */ - static func decode(_ objects: S?) -> [Self] where S.Iterator.Element: AnyObject { + static func decode(_ objects: S?) -> [Self] where S.Iterator.Element: Any { return objects?.flatMap(Self.decode) ?? [] } @@ -99,7 +99,7 @@ public extension ValueCoding where Coder: NSCoding, Coder.Value == Self { - parameter objects: a `SequenceType` of `SequenceType` of `AnyObject`. - returns: the array of arrays of values which were able to be unarchived. */ - static func decode(_ objects: S?) -> [[Self]] where S.Iterator.Element: Sequence, S.Iterator.Element.Iterator.Element: AnyObject { + static func decode(_ objects: S?) -> [[Self]] where S.Iterator.Element: Sequence, S.Iterator.Element.Iterator.Element: Any { return objects?.flatMap(Self.decode) ?? [] } diff --git a/Supporting Files/ValueCoding.xcconfig b/Supporting Files/ValueCoding.xcconfig index 6c60088..37abc2d 100644 --- a/Supporting Files/ValueCoding.xcconfig +++ b/Supporting Files/ValueCoding.xcconfig @@ -43,3 +43,4 @@ LD_RUNPATH_SEARCH_PATHS_framework = @executable_path/../Frameworks @loader_path/ LD_RUNPATH_SEARCH_PATHS_xctest = @loader_path/Frameworks @executable_path/Frameworks @loader_path/../Frameworks @executable_path/../Frameworks LD_RUNPATH_SEARCH_PATHS = $(LD_RUNPATH_SEARCH_PATHS_$(WRAPPER_EXTENSION)) +#include "Warnings.xcconfig" diff --git a/Supporting Files/Warnings.xcconfig b/Supporting Files/Warnings.xcconfig new file mode 100644 index 0000000..676b23d --- /dev/null +++ b/Supporting Files/Warnings.xcconfig @@ -0,0 +1,27 @@ +// +// ValueCoding +// +// Copyright © 2016 ProcedureKit. All rights reserved. +// + +CLANG_WARN_DOCUMENTATION_COMMENTS = YES +CLANG_WARN_BOOL_CONVERSION = YES +CLANG_WARN_CONSTANT_CONVERSION = YES +CLANG_WARN_EMPTY_BODY = YES +CLANG_WARN_ENUM_CONVERSION = YES +CLANG_WARN_INFINITE_RECURSION = YES +CLANG_WARN_INT_CONVERSION = YES +CLANG_WARN_SUSPICIOUS_MOVE = YES +CLANG_WARN_UNREACHABLE_CODE = YES +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +ENABLE_STRICT_OBJC_MSGSEND = YES +ENABLE_TESTABILITY = YES +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 +CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR +CLANG_ANALYZER_NONNULL = YES diff --git a/Tests/ValueCodingTests.swift b/Tests/ValueCodingTests.swift index 4feb05e..c4b79c4 100644 --- a/Tests/ValueCodingTests.swift +++ b/Tests/ValueCodingTests.swift @@ -55,12 +55,12 @@ class ValueCodingTests: XCTestCase { } func test__multiple_archiving() { - let unarchived = Foo.decode(items.encoded) + let unarchived: [Foo] = Foo.decode(items.encoded) XCTAssertEqual(unarchived, items) } func test__nested_archiving() { - let unarchived = Foo.decode(nested.encoded) + let unarchived: [[Foo]] = Foo.decode(nested.encoded) XCTAssertEqual(unarchived.count, 1) XCTAssertEqual(unarchived[0], nested[0]) } diff --git a/ValueCoding.xcodeproj/project.pbxproj b/ValueCoding.xcodeproj/project.pbxproj index a26c910..a822611 100644 --- a/ValueCoding.xcodeproj/project.pbxproj +++ b/ValueCoding.xcodeproj/project.pbxproj @@ -27,6 +27,7 @@ /* Begin PBXFileReference section */ 658A7B5C1D776B7600F897C8 /* ValueCoding.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ValueCoding.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 658A7B651D776B7600F897C8 /* ValueCodingTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ValueCodingTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 65A3B8821DC659FE0042BB95 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 65CF6F511D776BBC004B3503 /* ValueCoding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueCoding.swift; sourceTree = ""; }; 65CF6F531D776BBC004B3503 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 65CF6F541D776BBC004B3503 /* ValueCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueCoding.h; sourceTree = ""; }; @@ -60,8 +61,7 @@ children = ( 65CF6F501D776BBC004B3503 /* Sources */, 65CF6F5A1D77744D004B3503 /* Tests */, - 65CF6F521D776BBC004B3503 /* Supporting Files */, - 658A7B5D1D776B7600F897C8 /* Products */, + 65A3B8811DC659EA0042BB95 /* ... */, ); sourceTree = ""; }; @@ -74,6 +74,15 @@ name = Products; sourceTree = ""; }; + 65A3B8811DC659EA0042BB95 /* ... */ = { + isa = PBXGroup; + children = ( + 65CF6F521D776BBC004B3503 /* Supporting Files */, + 658A7B5D1D776B7600F897C8 /* Products */, + ); + name = ...; + sourceTree = ""; + }; 65CF6F501D776BBC004B3503 /* Sources */ = { isa = PBXGroup; children = ( @@ -89,6 +98,7 @@ 65CF6F531D776BBC004B3503 /* Info.plist */, 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */, 65CF6F581D776BD5004B3503 /* Version.xcconfig */, + 65A3B8821DC659FE0042BB95 /* Warnings.xcconfig */, ); path = "Supporting Files"; sourceTree = ""; @@ -159,7 +169,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0800; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0810; TargetAttributes = { 658A7B5B1D776B7600F897C8 = { CreatedOnToolsVersion = 8.0; @@ -241,6 +251,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 65CF6F591D77704D004B3503 /* ValueCoding.xcconfig */; buildSettings = { + ONLY_ACTIVE_ARCH = YES; }; name = Debug; }; diff --git a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme index 8362628..089de83 100644 --- a/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme +++ b/ValueCoding.xcodeproj/xcshareddata/xcschemes/ValueCoding.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 14 Sep 2017 22:06:28 +0100 Subject: [PATCH 4/5] Updates for Xcode 9 (#29) * [VCD-28]: Adds template macro for file headers * [VCD-28]: Updates file headers * [VCD-28]: Updates Swift version to 3.2 * [VCD-28]: Updates CI templates * [VCD-28]: Updates Fastfile * [VCD-28]: Switches back to Xcode based agent selection * [VCD-28]: Updates upload script too * [VCD-28]: Updates pipeline template * [VCD-28]: Removes whitespace * [VCD-28]: Fixes Support file enum names * [VCD-28]: More Swiftlint stuff --- .ci/buildkite/pipeline.template.yml | 8 +++----- .fastlane/Fastfile | 14 ++++++------- Sources/ValueCoding.swift | 9 +++++---- Supporting Files/ValueCoding.xcconfig | 2 +- Tests/Support.swift | 20 ++++++++++--------- Tests/ValueCodingTests.swift | 11 +++++----- .../xcshareddata/IDETemplateMacros.plist | 16 +++++++++++++++ 7 files changed, 49 insertions(+), 31 deletions(-) create mode 100644 ValueCoding.xcodeproj/xcshareddata/IDETemplateMacros.plist diff --git a/.ci/buildkite/pipeline.template.yml b/.ci/buildkite/pipeline.template.yml index e9a8aa6..c37d45b 100755 --- a/.ci/buildkite/pipeline.template.yml +++ b/.ci/buildkite/pipeline.template.yml @@ -3,21 +3,19 @@ steps: name: "Lint" command: .ci/scripts/lint agents: - iOS-Simulator: false xcode: "$BUILDKITE_AGENT_META_DATA_XCODE" - + - name: "Mac" command: .ci/scripts/test-osx agents: - iOS-Simulator: false xcode: "$BUILDKITE_AGENT_META_DATA_XCODE" - name: "iOS" command: .ci/scripts/test-ios agents: - iOS-Simulator: true + queue: "iOS-Simulator" xcode: "$BUILDKITE_AGENT_META_DATA_XCODE" env: FL_SLATHER_BUILDKITE_ENABLED: true - FL_SLATHER_COVERALLS_ENABLED: true \ No newline at end of file + FL_SLATHER_COVERALLS_ENABLED: true diff --git a/.fastlane/Fastfile b/.fastlane/Fastfile index de11db0..f2ebe8a 100644 --- a/.fastlane/Fastfile +++ b/.fastlane/Fastfile @@ -1,7 +1,7 @@ lane :lint do swiftLint( - mode: :lint, + mode: :lint, config_file: '.swiftlint.yml' ) end @@ -11,11 +11,11 @@ platform :ios do desc "Runs all the tests" lane :test do - + scan( project: "ValueCoding.xcodeproj", - scheme: "ValueCoding", - destination: "platform=iOS Simulator,OS=10.0,name=iPhone 5s", + scheme: "ValueCoding", + destination: "platform=iOS Simulator,OS=11.0,name=iPhone SE", code_coverage: true ) @@ -23,14 +23,14 @@ platform :ios do end platform :mac do - + desc "Runs all the tests" lane :test do scan( project: "ValueCoding.xcodeproj", - scheme: "ValueCoding", - device: "My Mac" + scheme: "ValueCoding", + device: "My Mac" ) end diff --git a/Sources/ValueCoding.swift b/Sources/ValueCoding.swift index 290b90f..7f48790 100644 --- a/Sources/ValueCoding.swift +++ b/Sources/ValueCoding.swift @@ -1,9 +1,11 @@ // -// ValueCoding.swift -// ValueCoding +// ValueCoding +// File created on 11/10/2015. // -// Created by Daniel Thorpe on 11/10/2015. +// Copyright (c) 2015-2017 Daniel Thorpe // +// ValueCoding is licensed under the MIT License. Read the full license at +// https://github.com/danthorpe/ValueCoding/blob/master/LICENSE // import Foundation @@ -23,7 +25,6 @@ public protocol CodedValue { var value: Value { get } } - /** A generic protocol for classes which can encode/decode value types. diff --git a/Supporting Files/ValueCoding.xcconfig b/Supporting Files/ValueCoding.xcconfig index 37abc2d..b4b4359 100644 --- a/Supporting Files/ValueCoding.xcconfig +++ b/Supporting Files/ValueCoding.xcconfig @@ -24,7 +24,7 @@ APPLICATION_EXTENSION_API_ONLY_xctest = NO APPLICATION_EXTENSION_API_ONLY = $(APPLICATION_EXTENSION_API_ONLY_$(WRAPPER_EXTENSION)) // Build Settings -SWIFT_VERSION = 3.0 +SWIFT_VERSION = 3.2 SUPPORTED_PLATFORMS = macosx iphoneos appletvos watchos appletvsimulator iphonesimulator watchsimulator CLANG_ENABLE_CODE_COVERAGE = YES diff --git a/Tests/Support.swift b/Tests/Support.swift index 4ece566..8fad42b 100644 --- a/Tests/Support.swift +++ b/Tests/Support.swift @@ -1,9 +1,11 @@ // -// Support.swift -// ValueCoding +// ValueCoding +// File created on 11/10/2015. // -// Created by Daniel Thorpe on 11/10/2015. +// Copyright (c) 2015-2017 Daniel Thorpe // +// ValueCoding is licensed under the MIT License. Read the full license at +// https://github.com/danthorpe/ValueCoding/blob/master/LICENSE // import Foundation @@ -17,7 +19,7 @@ struct Foo: ValueCoding { class FooCoder: NSObject, NSCoding, CodingProtocol { enum Keys: String { - case Bar = "bar" + case bar } let value: Foo @@ -27,12 +29,12 @@ class FooCoder: NSObject, NSCoding, CodingProtocol { } required init?(coder aDecoder: NSCoder) { - let bar = aDecoder.decodeObject(forKey: Keys.Bar.rawValue) as? String + let bar = aDecoder.decodeObject(forKey: Keys.bar.rawValue) as? String value = Foo(bar: bar!) } func encode(with aCoder: NSCoder) { - aCoder.encode(value.bar, forKey: Keys.Bar.rawValue) + aCoder.encode(value.bar, forKey: Keys.bar.rawValue) } } @@ -56,7 +58,7 @@ func == (lhs: Baz, rhs: Baz) -> Bool { class BazCoder: NSObject, NSCoding, CodingProtocol { enum Keys: String { - case Bat = "bat" + case baz } let value: Baz @@ -66,11 +68,11 @@ class BazCoder: NSObject, NSCoding, CodingProtocol { } required init?(coder aDecoder: NSCoder) { - let bat = aDecoder.decodeObject(forKey: Keys.Bat.rawValue) as? String + let bat = aDecoder.decodeObject(forKey: Keys.baz.rawValue) as? String value = Baz(bat: bat!) } func encode(with aCoder: NSCoder) { - aCoder.encode(value.bat, forKey: Keys.Bat.rawValue) + aCoder.encode(value.bat, forKey: Keys.baz.rawValue) } } diff --git a/Tests/ValueCodingTests.swift b/Tests/ValueCodingTests.swift index c4b79c4..b601183 100644 --- a/Tests/ValueCodingTests.swift +++ b/Tests/ValueCodingTests.swift @@ -1,16 +1,17 @@ // -// ValueCodingTests.swift -// ValueCoding +// ValueCoding +// File created on 11/10/2015. // -// Created by Daniel Thorpe on 11/10/2015. +// Copyright (c) 2015-2017 Daniel Thorpe // +// ValueCoding is licensed under the MIT License. Read the full license at +// https://github.com/danthorpe/ValueCoding/blob/master/LICENSE // import Foundation import XCTest @testable import ValueCoding - class ValueCodingTests: XCTestCase { var item: Foo! @@ -36,7 +37,7 @@ class ValueCodingTests: XCTestCase { Foo(bar: "Bonjour le monde"), Foo(bar: "Hallo Welt"), Foo(bar: "हैलो वर्ल्ड"), - Foo(bar: "こんにちは世界"), + Foo(bar: "こんにちは世界") ] nested = [ items diff --git a/ValueCoding.xcodeproj/xcshareddata/IDETemplateMacros.plist b/ValueCoding.xcodeproj/xcshareddata/IDETemplateMacros.plist new file mode 100644 index 0000000..d5c2200 --- /dev/null +++ b/ValueCoding.xcodeproj/xcshareddata/IDETemplateMacros.plist @@ -0,0 +1,16 @@ + + + + + FILEHEADER + +// ___PROJECTNAME___ +// File created on ___DATE___. +// +// Copyright (c) 2015-___YEAR___ Daniel Thorpe +// +// ValueCoding is licensed under the MIT License. Read the full license at +// https://github.com/danthorpe/ValueCoding/blob/master/LICENSE +// + + From 23a8a15b8a87691d73631412facb5eadbcabbf49 Mon Sep 17 00:00:00 2001 From: Daniel Thorpe Date: Thu, 14 Sep 2017 22:26:04 +0100 Subject: [PATCH 5/5] [2.2.0]: Version updates --- .jazzy.json | 8 ++++---- .swift-version | 2 +- CHANGELOG.md | 5 ++++- README.md | 3 +-- Supporting Files/Version.xcconfig | 2 +- ValueCoding.podspec | 19 +++++++++---------- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.jazzy.json b/.jazzy.json index 1d898ff..b1ce152 100644 --- a/.jazzy.json +++ b/.jazzy.json @@ -3,12 +3,12 @@ "author_url": "http://danthorpe.me", "github_url": "https://github.com/danthorpe/ValueCoding", "module": "ValueCoding", - "module_version": "2.0.0", + "module_version": "2.2.0", "readme": "README.md", - "swift_version": "2.3", + "swift_version": "3.2", "xcodebuild_arguments": [ - "-project", "ValueCoding.xcodeproj", + "-project", "ValueCoding.xcodeproj", "-scheme", "ValueCoding" ], "exclude": ["Tests"] -} \ No newline at end of file +} diff --git a/.swift-version b/.swift-version index 9f55b2c..a3ec5a4 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -3.0 +3.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3be7f6e..541116e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 2.2.0 +This is for Xcode 9, Swift 3.2 + # 2.1.0 This is for Xcode 8.1, Swift 3.0.1 @@ -18,7 +21,7 @@ This is a Swift 2.3 compatible version # 1.2.0 1. [[VCD-9, VCD-10](https://github.com/danthorpe/ValueCoding/pull/10)]: Adds support for a single level of nesting inside SequenceType values. For example it is now possible to encode and decode `[[Foo]]` structures where `Foo` conforms to `ValueCoding`. - + # 1.1.1 1. [[VCD-7](https://github.com/danthorpe/ValueCoding/pull/7)]: Updates CI stuff. 2. [[VCD-8](https://github.com/danthorpe/ValueCoding/pull/8)]: Updates documentation and README. Thanks [@mrackwitz](https://github.com/danthorpe/ValueCoding/commit/489809da1ba70abf09bc519b784d77a3c47b9f41). diff --git a/README.md b/README.md index 8573c55..507b15d 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ struct Foo: ValueCoding { class FooCoder: NSObject, NSCoding, CodingType { enum Keys: String { - case Bar = "bar" + case bar = "bar" } let value: Foo @@ -87,4 +87,3 @@ ValueCoding builds as a cross platform (iOS, OS X, watchOS, tvOS) extension comp ```ruby pod 'ValueCoding' ``` - diff --git a/Supporting Files/Version.xcconfig b/Supporting Files/Version.xcconfig index 70e6e70..f7555ee 100644 --- a/Supporting Files/Version.xcconfig +++ b/Supporting Files/Version.xcconfig @@ -1 +1 @@ -VALUECODING_VERSION = 2.1.0 +VALUECODING_VERSION = 2.2.0 diff --git a/ValueCoding.podspec b/ValueCoding.podspec index 3c62ec0..1b1e9bc 100644 --- a/ValueCoding.podspec +++ b/ValueCoding.podspec @@ -1,16 +1,16 @@ Pod::Spec.new do |s| s.name = "ValueCoding" - s.version = "2.1.0" + s.version = "2.2.0" s.summary = "Swift protocols for encoding/decoding value types." s.description = <<-DESC - - ValueCoding is a simple pair of protocols to support the archiving + + ValueCoding is a simple pair of protocols to support the archiving and unarchiving of Swift value types. - It works by allowing a value type, which must conform to ValueCoding - to define via a typealias its archiver. The archiver is another type - which implements the ArchiverType protocol. This type will typically - be an NSObject which implements NSCoding and is an adaptor which is + It works by allowing a value type, which must conform to ValueCoding + to define via a typealias its archiver. The archiver is another type + which implements the ArchiverType protocol. This type will typically + be an NSObject which implements NSCoding and is an adaptor which is responsible for encoding and decoding the properties of the value. DESC @@ -24,7 +24,6 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.10' s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - s.source_files = 'Sources/*.swift' + s.watchos.deployment_target = '2.0' + s.source_files = 'Sources/*.swift' end -