From 56aaae86d4e31bbf0ec39fab97b6afff342774d0 Mon Sep 17 00:00:00 2001 From: Tom Fox <13188249+TomWFox@users.noreply.github.com> Date: Sat, 19 Sep 2020 17:19:24 +0100 Subject: [PATCH 1/9] Release 2.7.2 (#229) * Update CHANGELOG.md * Update CHANGELOG.md * Update ParseLiveQuery.podspec * Update Cartfile * test circle with Carthage build on PR * update carthage dependencies --- .circleci/config.yml | 1 + CHANGELOG.md | 88 +++++++++++++++------------- Cartfile | 4 +- Cartfile.resolved | 4 +- Carthage/Checkouts/Parse-SDK-iOS-OSX | 2 +- Carthage/Checkouts/facebook-objc-sdk | 2 +- ParseLiveQuery.podspec | 4 +- 7 files changed, 56 insertions(+), 49 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0a33bbff..bca63bd6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -55,6 +55,7 @@ workflows: version: 2 pr: jobs: + - carthage - ios - macos - demo diff --git a/CHANGELOG.md b/CHANGELOG.md index 227417ca..53ecc630 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,27 +2,33 @@ ### Master -[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.1...master) +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.2...master) + +### 2.7.2 + +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.1...2.7.2) + +- Bump Parse SDK to v.1.19.0 ([#229](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/229)), thanks to [Tom Fox](https://github.com/TomWFox). ### 2.7.1 [Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.0...2.7.1) - Bump Parse SDK to v1.18.0 -([#226](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/226)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) +([#226](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/226)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas). - Remove Bolts-ObjC as dependency -([#223](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/223)), thanks to [Joe Szymanski](https://github.com/JoeSzymanski) +([#223](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/223)), thanks to [Joe Szymanski](https://github.com/JoeSzymanski). ### 2.7.0 [Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.6.1...2.7.0) -- Build compatibility with Xcode 11 and iOS 13 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz) -- Bump Parse SDK to v1.17.3 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz) -- Moves to Swift 5 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz) -- Bump Bolts-Swift dependency to v1.5.0 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz) -- Properly encode Array of GeoPoints ([#208](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/208)), thanks to [Diamond Lewis](https://github.com/dplewis) +- Build compatibility with Xcode 11 and iOS 13 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz). +- Bump Parse SDK to v1.17.3 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz). +- Moves to Swift 5 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz). +- Bump Bolts-Swift dependency to v1.5.0 ([#210](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/210)), thanks to [Nathan Kellert](https://github.com/noobs2ninjas) & [Darren Black](https://github.com/drdaz). +- Properly encode Array of GeoPoints ([#208](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/208)), thanks to [Diamond Lewis](https://github.com/dplewis). ### 2.6.1 @@ -30,65 +36,65 @@ **This will be the final release for Swift 4.2** -- Fix #190, thanks to [rostopira](https://github.com/rostopira) -- Bumps Parse SDK to 1.17.1 -- Bumps Starscream to 3.0.5 +- Fix #190, thanks to [rostopira](https://github.com/rostopira). +- Bumps Parse SDK to 1.17.1. +- Bumps Starscream to 3.0.5. ### 2.6.0 - Fixed issue where no "where" property sent when no constraints where added to a query. This is required by the LiveQuery protocol. -- Support for .or queries. Fixes #156, #47, and #85. Allows orQuery to be encoded without throwing. Thanks to [dblythy](https://github.com/dblythy) -- Added @objc to compile with objective-c . Thanks to [Junya Yamaguchi](https://github.com/junya100) [(#184)](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/184) -- Encode Date object with __type: Date. Thanks to [anafang](https://github.com/ananfang) [#186](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/186) +- Support for `.or` queries. Fixes #156, #47, and #85. Allows orQuery to be encoded without throwing, thanks to [dblythy](https://github.com/dblythy). +- Added @objc to compile with objective-c ([#184](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/184)), thanks to [Junya Yamaguchi](https://github.com/junya100). +- Encode Date object with __type: Date ([#186](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/186)), thanks to [anafang](https://github.com/ananfang). ### 2.5.0 -- Bumps Bolts-Swift to 1.4.0 -- Bumps Swift version to 4.2 +- Bumps Bolts-Swift to 1.4.0. +- Bumps Swift version to 4.2. ### 2.4.0 -- Bumps Parse SDK to 1.17.0 -- Bumps cocoapods to 1.4.0 -- Set Swift version to 3.2 +- Bumps Parse SDK to 1.17.0. +- Bumps cocoapods to 1.4.0. +- Set Swift version to 3.2. ### 2.3.0 -- Bumps Parse SDK to 1.16.0 -- Bumps Starscream to 3.0.4 -- Fixes warnings in Swift 4 +- Bumps Parse SDK to 1.16.0. +- Bumps Starscream to 3.0.4. +- Fixes warnings in Swift 4. ### 2.2.3 -- Bumps Parse SDK to 1.15.4 and Bolts to 1.9.0, thanks to [marcgovi](https://github.com/marcgovi) -- Updates logging strategy for websockets, thanks to [Joe Szymanski](https://github.com/JoeSzymanski) -- Ensures unsubscribed queries are removed from subscriptions list, thanks to [Joe Szymanski](https://github.com/JoeSzymanski) -- Do not attempt to reconnect if a connection is already in progress, thanks to [Joe Szymanski](https://github.com/JoeSzymanski) +- Bumps Parse SDK to 1.15.4 and Bolts to 1.9.0, thanks to [marcgovi](https://github.com/marcgovi). +- Updates logging strategy for websockets, thanks to [Joe Szymanski](https://github.com/JoeSzymanski). +- Ensures unsubscribed queries are removed from subscriptions list, thanks to [Joe Szymanski](https://github.com/JoeSzymanski). +- Do not attempt to reconnect if a connection is already in progress, thanks to [Joe Szymanski](https://github.com/JoeSzymanski). ### 2.2.2 -- Adds ability to set the clientKey on the connect message, thanks to [bryandel](https://github.com/bryandel) -- Adds ability to silence the logs, thanks to [ananfang](https://github.com/ananfang) -- Ensures that `wss` URL's are properly handled, thanks to [Joe Szymanski](https://github.com/JoeSzymanski) +- Adds ability to set the clientKey on the connect message, thanks to [bryandel](https://github.com/bryandel). +- Adds ability to silence the logs, thanks to [ananfang](https://github.com/ananfang). +- Ensures that `wss` URL's are properly handled, thanks to [Joe Szymanski](https://github.com/JoeSzymanski). ### 2.0.0 -- Full carthage support, thanks to [David Starke](https://github.com/dstarke) +- Full carthage support, thanks to [David Starke](https://github.com/dstarke). **Deprecates usage of SocketRocket in favour of Starscream** -- Adds support for sessionToken and user authentication, thanks to [Andrew Gordeev](https://github.com/andrew8712) -- Adds support for tvOS, thanks to [Kurt (kajensen)](https://github.com/kajensen) -- Adds support for updating subscription, thanks to [Florent Vilmart](https://github.com/flovilmart) -- Fixes for object decoding +- Adds support for sessionToken and user authentication, thanks to [Andrew Gordeev](https://github.com/andrew8712). +- Adds support for tvOS, thanks to [Kurt (kajensen)](https://github.com/kajensen). +- Adds support for updating subscription, thanks to [Florent Vilmart](https://github.com/flovilmart). +- Fixes for object decoding. ### 1.1.0 -- Breaking change: Swift 3 support -- Breaking change: OSX deployment target to 10.10 -- New: Carthage support, thanks to [Florent Vilmart](https://github.com/flovilmart) -- New: Supports PFGeoPoints, thanks to [Nikita Lutsenko](https://github.com/nlutsenko) -- Fix: Deduplicates subscription requests, thanks to [Nathan Kellert](https://github.com/noobs2ninjas) -- New: Support for wss, thanks to [@kajensen](https://github.com/kajensen) -- Fix: Properly deliver events back to obj-c, thanks to [Richard Ross](https://github.com/richardjrossiii) +- Breaking change: Swift 3 support. +- Breaking change: OSX deployment target to 10.10. +- New: Carthage support, thanks to [Florent Vilmart](https://github.com/flovilmart). +- New: Supports PFGeoPoints, thanks to [Nikita Lutsenko](https://github.com/nlutsenko). +- Fix: Deduplicates subscription requests, thanks to [Nathan Kellert](https://github.com/noobs2ninjas). +- New: Support for wss, thanks to [@kajensen](https://github.com/kajensen). +- Fix: Properly deliver events back to obj-c, thanks to [Richard Ross](https://github.com/richardjrossiii). diff --git a/Cartfile b/Cartfile index 59a29b3e..41c800aa 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "BoltsFramework/Bolts-Swift" >= 1.5.0 -github "ParsePlatform/Parse-SDK-iOS-OSX" >= 1.18.0 -github "daltoniam/Starscream" == 3.1.1 \ No newline at end of file +github "ParsePlatform/Parse-SDK-iOS-OSX" >= 1.19.0 +github "daltoniam/Starscream" == 3.1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 347b3e5f..7cc709d8 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,5 @@ github "BoltsFramework/Bolts-ObjC" "1.9.1" github "BoltsFramework/Bolts-Swift" "1.5.0" -github "ParsePlatform/Parse-SDK-iOS-OSX" "1.18.0" +github "ParsePlatform/Parse-SDK-iOS-OSX" "1.19.0" github "daltoniam/Starscream" "3.1.1" -github "facebook/facebook-objc-sdk" "v5.15.1" +github "facebook/facebook-objc-sdk" "v6.5.2" diff --git a/Carthage/Checkouts/Parse-SDK-iOS-OSX b/Carthage/Checkouts/Parse-SDK-iOS-OSX index 09815dc1..931684b3 160000 --- a/Carthage/Checkouts/Parse-SDK-iOS-OSX +++ b/Carthage/Checkouts/Parse-SDK-iOS-OSX @@ -1 +1 @@ -Subproject commit 09815dc16c7119336603d7a854d7ace36d5c4099 +Subproject commit 931684b3dce25ec447d3df38b02e988970663c24 diff --git a/Carthage/Checkouts/facebook-objc-sdk b/Carthage/Checkouts/facebook-objc-sdk index 9398d300..cdb8c71f 160000 --- a/Carthage/Checkouts/facebook-objc-sdk +++ b/Carthage/Checkouts/facebook-objc-sdk @@ -1 +1 @@ -Subproject commit 9398d30089c2c14e0f0026e24388ca0829f8f1c5 +Subproject commit cdb8c71fb7f22b4f1af05c21246c12c1aa49f89e diff --git a/ParseLiveQuery.podspec b/ParseLiveQuery.podspec index 39660c4a..008d1902 100644 --- a/ParseLiveQuery.podspec +++ b/ParseLiveQuery.podspec @@ -22,8 +22,8 @@ Pod::Spec.new do |s| s.source_files = 'Sources/ParseLiveQuery/**/*.{swift,h}' s.module_name = 'ParseLiveQuery' - s.dependency 'Parse', '~> 1.18.0' + s.dependency 'Parse', '~> 1.19.0' s.dependency 'Bolts-Swift', '~> 1.5.0' s.dependency 'Starscream', '3.1.0' -end \ No newline at end of file +end From 57d2b011b6beea18f8f1ed62898eb5cfe5ce84a3 Mon Sep 17 00:00:00 2001 From: Darren Black Date: Mon, 21 Sep 2020 22:16:38 +0200 Subject: [PATCH 2/9] Updates version numbers (#231) --- ParseLiveQuery.podspec | 2 +- Sources/ParseLiveQuery.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ParseLiveQuery.podspec b/ParseLiveQuery.podspec index 008d1902..a5982290 100644 --- a/ParseLiveQuery.podspec +++ b/ParseLiveQuery.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ParseLiveQuery' - s.version = '2.7.1' + s.version = '2.7.2' s.license = { :type => 'BSD' } s.summary = 'Allows for subscriptions to queries in conjunction with parse-server.' s.homepage = 'http://parseplatform.org' diff --git a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj index 2070a9cb..7719acaa 100644 --- a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj +++ b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj @@ -953,7 +953,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.7.0; + MARKETING_VERSION = 2.7.2; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -980,7 +980,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.7.0; + MARKETING_VERSION = 2.7.2; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -1006,7 +1006,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.1; + MARKETING_VERSION = 2.7.2; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; @@ -1035,7 +1035,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.1; + MARKETING_VERSION = 2.7.2; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; From db0458f7dcd280cbb75b298658af9cef2707819c Mon Sep 17 00:00:00 2001 From: Corey Date: Mon, 16 Nov 2020 14:09:26 -0500 Subject: [PATCH 3/9] Add watchOS and tvOS support (#235) * add watchOS support to cocoapods * add cache to CI and bump version numbers * fix colon * fix circle cache * current circle builds don't need bundle, no need to waste time with it * add back bundle install * fix travis cache * fix travis cache * updates CI to 11.6 * remove OS req in circle build. Update gems * update travis * update jazzy script * update travis * latest working version of Jazzy. It won't build for jazzy >0.13.1 * revert travis * add watchOS and tvOS targets * add watchOS and tvOS to circle * watchOS/tvOS devices on xcode 11 * no need to specify destination * Starscream can't be higher Higher versions of Starscream will cause breaking change * Update ParseLiveQuery.podspec * Update pod spec to match min between dependencies and reduce warnings * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Tom Fox <13188249+TomWFox@users.noreply.github.com> Co-authored-by: Tom Fox <13188249+TomWFox@users.noreply.github.com> --- .circleci/config.yml | 50 ++- .jazzy.yaml | 9 - .travis.yml | 25 +- CHANGELOG.md | 13 +- Cartfile | 2 +- Cartfile.resolved | 2 +- Carthage/Checkouts/Parse-SDK-iOS-OSX | 2 +- Gemfile | 4 +- Gemfile.lock | 71 ++-- ParseLiveQuery.podspec | 5 +- Sources/ParseLiveQuery-tvOS/Info.plist | 22 + .../ParseLiveQuery-tvOS/ParseLiveQuery_tvOS.h | 19 + Sources/ParseLiveQuery-watchOS/Info.plist | 22 + .../ParseLiveQuery_watchOS.h | 19 + .../ParseLiveQuery.xcodeproj/project.pbxproj | 391 +++++++++++++++++- .../xcschemes/ParseLiveQuery-tvOS.xcscheme | 67 +++ .../xcschemes/ParseLiveQuery-watchOS.xcscheme | 67 +++ jazzy.sh | 13 + 18 files changed, 732 insertions(+), 71 deletions(-) delete mode 100644 .jazzy.yaml create mode 100644 Sources/ParseLiveQuery-tvOS/Info.plist create mode 100644 Sources/ParseLiveQuery-tvOS/ParseLiveQuery_tvOS.h create mode 100644 Sources/ParseLiveQuery-watchOS/Info.plist create mode 100644 Sources/ParseLiveQuery-watchOS/ParseLiveQuery_watchOS.h create mode 100644 Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-tvOS.xcscheme create mode 100644 Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-watchOS.xcscheme create mode 100755 jazzy.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index bca63bd6..e4eb360b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,12 +1,22 @@ defaults: &defaults macos: - xcode: "11.2.1" + xcode: "11.6.0" shell: /bin/bash --login -eo pipefail aliases: + - &cache-pull + keys: + - gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }} + - gem-cache-v1-{{ arch }}-{{ .Branch }} + - gem-cache-v1 + - &cache-push + key: gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }} + paths: + - vendor/bundle - &prepare | git submodule update --init --recursive sudo gem install bundler + bundle config set path 'vendor/bundle' bundle install - &filter-only-master branches: @@ -19,8 +29,10 @@ jobs: <<: *defaults steps: - checkout + - restore_cache: *cache-pull - run: *prepare - - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk iphonesimulator -scheme ParseLiveQuery-iOS -configuration Debug -destination "platform=iOS Simulator,name=iPhone 11,OS=13.2.2" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; + - save_cache: *cache-push + - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk iphonesimulator -scheme ParseLiveQuery-iOS -configuration Debug -destination "platform=iOS Simulator,name=iPhone 11" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - run: bash <(curl -s https://codecov.io/bash) - store_test_results: path: build/reports @@ -28,16 +40,42 @@ jobs: <<: *defaults steps: - checkout + - restore_cache: *cache-pull - run: *prepare + - save_cache: *cache-push - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk macosx -scheme ParseLiveQuery-OSX -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - run: bash <(curl -s https://codecov.io/bash) - store_test_results: path: build/reports + watchos: + <<: *defaults + steps: + - checkout + - restore_cache: *cache-pull + - run: *prepare + - save_cache: *cache-push + - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-watchOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; + - run: bash <(curl -s https://codecov.io/bash) + - store_test_results: + path: build/reports + tvos: + <<: *defaults + steps: + - checkout + - restore_cache: *cache-pull + - run: *prepare + - save_cache: *cache-push + - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-tvOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; + - run: bash <(curl -s https://codecov.io/bash) + - store_test_results: + path: build/reports demo: <<: *defaults steps: - checkout + - restore_cache: *cache-pull - run: *prepare + - save_cache: *cache-push - run: | xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo | xcpretty -c; xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo -configuration Debug | xcpretty -c; @@ -48,17 +86,23 @@ jobs: <<: *defaults steps: - checkout + - restore_cache: *cache-pull - run: *prepare + - save_cache: *cache-push - run: carthage build --no-skip-current --platform macos,ios workflows: version: 2 pr: jobs: - - carthage - ios - macos + - watchos + - tvos - demo + - carthage: + requires: + - ios nightly: jobs: - carthage diff --git a/.jazzy.yaml b/.jazzy.yaml deleted file mode 100644 index 2dcea0ec..00000000 --- a/.jazzy.yaml +++ /dev/null @@ -1,9 +0,0 @@ -module: "ParseLiveQuery" -xcodebuild_arguments: ["-scheme","ParseLiveQuery-iOS"] -theme: "fullwidth" -skip_undocumented: true -clean: true -author_url: "http://parseplatform.org" -github_url: "https://github.com/parse-community/ParseLiveQuery-iOS-OSX" -root_url: "http://parseplatform.org/ParseLiveQuery-iOS-OSX/" -author: "Parse Community" diff --git a/.travis.yml b/.travis.yml index 6d4b3e42..e604b90a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,36 +1,41 @@ language: objective-c os: osx -osx_image: xcode11.2 +osx_image: xcode11.6 branches: only: - master - /^v?[0-9]+\.[0-9]+\.[0-9]+(-.*)?$/ cache: - - cocoapods + directories: + - vendor/bundle install: - - bundle install + - bundle config set path 'vendor/bundle' + - travis_wait bundle install jobs: include: - stage: release env: CocoaPods - script: bundle exec pod lib lint --allow-warnings + script: + - bundle exec pod setup + - travis_wait bundle exec pod lib lint --allow-warnings deploy: provider: script - cleanup: false - script: bundle exec pod trunk push ParseLiveQuery.podspec --allow-warnings + skip_cleanup: true + script: travis_wait bundle exec pod trunk push ParseLiveQuery.podspec --allow-warnings on: tags: true all_branches: true - stage: release env: Docs - script: bundle exec jazzy + script: + - ./jazzy.sh deploy: provider: pages - cleanup: false - github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard - local_dir: docs/ + skip_cleanup: true + github_token: $GITHUB_TOKEN + local_dir: ./docs/ on: tags: true all_branches: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 53ecc630..791ee72d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,17 @@ ### Master -[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.2...master) +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.3...master) + +### 2.7.3 + +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.2...2.7.3) + +- Add watchOS and tvOS support ([#235](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/235)), thanks to [Corey Baker](https://github.com/cbaker6) +- Add caching to CI for faster builds ([#235](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/235)), thanks to [Corey Baker](https://github.com/cbaker6) +- Update project and podspecs with respect to dependencies ([#235](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/235)), thanks to [Corey Baker](https://github.com/cbaker6) +- Update jazzy docs to newer version ([#235](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/235)), thanks to [Corey Baker](https://github.com/cbaker6) +- Minimum support due to dependencies (iOS 8, macOS 10.10, tvOS 10, watchOS 2.0) ([#235](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/235)), thanks to [Corey Baker](https://github.com/cbaker6) ### 2.7.2 @@ -97,4 +107,3 @@ - Fix: Deduplicates subscription requests, thanks to [Nathan Kellert](https://github.com/noobs2ninjas). - New: Support for wss, thanks to [@kajensen](https://github.com/kajensen). - Fix: Properly deliver events back to obj-c, thanks to [Richard Ross](https://github.com/richardjrossiii). - diff --git a/Cartfile b/Cartfile index 41c800aa..62665176 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "BoltsFramework/Bolts-Swift" >= 1.5.0 -github "ParsePlatform/Parse-SDK-iOS-OSX" >= 1.19.0 +github "ParsePlatform/Parse-SDK-iOS-OSX" >= 1.19.1 github "daltoniam/Starscream" == 3.1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 7cc709d8..53bf59e0 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,5 @@ github "BoltsFramework/Bolts-ObjC" "1.9.1" github "BoltsFramework/Bolts-Swift" "1.5.0" -github "ParsePlatform/Parse-SDK-iOS-OSX" "1.19.0" +github "ParsePlatform/Parse-SDK-iOS-OSX" "1.19.1" github "daltoniam/Starscream" "3.1.1" github "facebook/facebook-objc-sdk" "v6.5.2" diff --git a/Carthage/Checkouts/Parse-SDK-iOS-OSX b/Carthage/Checkouts/Parse-SDK-iOS-OSX index 931684b3..9d1b958f 160000 --- a/Carthage/Checkouts/Parse-SDK-iOS-OSX +++ b/Carthage/Checkouts/Parse-SDK-iOS-OSX @@ -1 +1 @@ -Subproject commit 931684b3dce25ec447d3df38b02e988970663c24 +Subproject commit 9d1b958fc146312b06a571b4ee367106e0b0f9b2 diff --git a/Gemfile b/Gemfile index ff15c32e..54f5ff46 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,3 @@ source 'https://rubygems.org' -gem 'jazzy', '~> 0.11.1' -gem 'xcpretty' -gem 'cocoapods', '~> 1.8.4' +gem 'jazzy', '0.13.1' diff --git a/Gemfile.lock b/Gemfile.lock index 084058a9..f7d328f6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,25 +2,26 @@ GEM remote: https://rubygems.org/ specs: CFPropertyList (3.0.2) - activesupport (4.2.11.1) - i18n (~> 0.7) + activesupport (5.2.4.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - algoliasearch (1.27.1) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) claide (1.0.3) - cocoapods (1.8.4) - activesupport (>= 4.0.2, < 5) + cocoapods (1.10.0) + addressable (~> 2.6) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.8.4) + cocoapods-core (= 1.10.0) cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.2.2, < 2.0) + cocoapods-downloader (>= 1.4.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-stats (>= 1.0.0, < 2.0) cocoapods-trunk (>= 1.4.0, < 2.0) cocoapods-try (>= 1.1.0, < 2.0) colored2 (~> 3.1) @@ -30,34 +31,39 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.11.1, < 2.0) - cocoapods-core (1.8.4) - activesupport (>= 4.0.2, < 6) + xcodeproj (>= 1.19.0, < 2.0) + cocoapods-core (1.10.0) + activesupport (> 5.0, < 6) + addressable (~> 2.6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) + netrc (~> 0.11) + public_suffix + typhoeus (~> 1.0) cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.3.0) + cocoapods-downloader (1.4.0) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) - cocoapods-stats (1.1.0) - cocoapods-trunk (1.4.1) + cocoapods-trunk (1.5.0) nap (>= 0.8, < 2.0) netrc (~> 0.11) - cocoapods-try (1.1.0) + cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.1.6) + concurrent-ruby (1.1.7) escape (0.0.4) - ffi (1.12.2) + ethon (0.12.0) + ffi (>= 1.3.0) + ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) - i18n (0.9.5) + i18n (1.8.5) concurrent-ruby (~> 1.0) - jazzy (0.11.2) + jazzy (0.13.1) cocoapods (~> 1.5) mustache (~> 1.1) open4 @@ -66,42 +72,41 @@ GEM sassc (~> 2.1) sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) - json (2.3.0) + json (2.3.1) liferaft (0.0.6) - minitest (5.14.0) + minitest (5.14.2) molinillo (0.6.6) mustache (1.1.1) - nanaimo (0.2.6) + nanaimo (0.3.0) nap (1.1.0) netrc (0.11.0) open4 (1.3.4) + public_suffix (4.0.6) redcarpet (3.5.0) - rouge (2.0.7) + rouge (3.25.0) ruby-macho (1.4.0) - sassc (2.3.0) + sassc (2.4.0) ffi (~> 1.9) sqlite3 (1.4.2) thread_safe (0.3.6) - tzinfo (1.2.7) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.8) thread_safe (~> 0.1) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.16.0) + xcodeproj (1.19.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.6) - xcpretty (0.3.0) - rouge (~> 2.0.7) + nanaimo (~> 0.3.0) PLATFORMS ruby DEPENDENCIES - cocoapods (~> 1.8.4) - jazzy (~> 0.11.1) - xcpretty + jazzy (= 0.13.1) BUNDLED WITH 2.1.4 diff --git a/ParseLiveQuery.podspec b/ParseLiveQuery.podspec index a5982290..9fbd4cf3 100644 --- a/ParseLiveQuery.podspec +++ b/ParseLiveQuery.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ParseLiveQuery' - s.version = '2.7.2' + s.version = '2.7.3' s.license = { :type => 'BSD' } s.summary = 'Allows for subscriptions to queries in conjunction with parse-server.' s.homepage = 'http://parseplatform.org' @@ -17,7 +17,8 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.tvos.deployment_target = '10.0' - s.osx.deployment_target = '10.12' + s.watchos.deployment_target = '2.0' + s.osx.deployment_target = '10.10' s.source_files = 'Sources/ParseLiveQuery/**/*.{swift,h}' s.module_name = 'ParseLiveQuery' diff --git a/Sources/ParseLiveQuery-tvOS/Info.plist b/Sources/ParseLiveQuery-tvOS/Info.plist new file mode 100644 index 00000000..9bcb2444 --- /dev/null +++ b/Sources/ParseLiveQuery-tvOS/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/Sources/ParseLiveQuery-tvOS/ParseLiveQuery_tvOS.h b/Sources/ParseLiveQuery-tvOS/ParseLiveQuery_tvOS.h new file mode 100644 index 00000000..8f067e90 --- /dev/null +++ b/Sources/ParseLiveQuery-tvOS/ParseLiveQuery_tvOS.h @@ -0,0 +1,19 @@ +// +// ParseLiveQuery_tvOS.h +// ParseLiveQuery-tvOS +// +// Created by Corey Baker on 11/15/20. +// Copyright © 2020 Parse. All rights reserved. +// + +#import + +//! Project version number for ParseLiveQuery_tvOS. +FOUNDATION_EXPORT double ParseLiveQuery_tvOSVersionNumber; + +//! Project version string for ParseLiveQuery_tvOS. +FOUNDATION_EXPORT const unsigned char ParseLiveQuery_tvOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Sources/ParseLiveQuery-watchOS/Info.plist b/Sources/ParseLiveQuery-watchOS/Info.plist new file mode 100644 index 00000000..9bcb2444 --- /dev/null +++ b/Sources/ParseLiveQuery-watchOS/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/Sources/ParseLiveQuery-watchOS/ParseLiveQuery_watchOS.h b/Sources/ParseLiveQuery-watchOS/ParseLiveQuery_watchOS.h new file mode 100644 index 00000000..47b493a8 --- /dev/null +++ b/Sources/ParseLiveQuery-watchOS/ParseLiveQuery_watchOS.h @@ -0,0 +1,19 @@ +// +// ParseLiveQuery_watchOS.h +// ParseLiveQuery-watchOS +// +// Created by Corey Baker on 11/15/20. +// Copyright © 2020 Parse. All rights reserved. +// + +#import + +//! Project version number for ParseLiveQuery_watchOS. +FOUNDATION_EXPORT double ParseLiveQuery_watchOSVersionNumber; + +//! Project version string for ParseLiveQuery_watchOS. +FOUNDATION_EXPORT const unsigned char ParseLiveQuery_watchOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj index 7719acaa..060266a3 100644 --- a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj +++ b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj @@ -20,6 +20,12 @@ 4A6AE37F200FD00E007CA404 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A6AE37B200FC9C5007CA404 /* Starscream.framework */; }; 4A819D9D1D937866009C0F61 /* ObjCCompat.swift in Sources */ = {isa = PBXBuildFile; fileRef = F54D58B51C8E33D9009F8D6C /* ObjCCompat.swift */; }; 4A819D9E1D93786A009C0F61 /* ObjCCompat.swift in Sources */ = {isa = PBXBuildFile; fileRef = F54D58B51C8E33D9009F8D6C /* ObjCCompat.swift */; }; + 708836762561F503005B32F0 /* ParseLiveQuery_watchOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 708836742561F503005B32F0 /* ParseLiveQuery_watchOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 708836982561F55B005B32F0 /* ParseLiveQuery_tvOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 708836962561F55B005B32F0 /* ParseLiveQuery_tvOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 708836A02561F58F005B32F0 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A6AE37B200FC9C5007CA404 /* Starscream.framework */; }; + 708836A12561F58F005B32F0 /* Starscream.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4A6AE37B200FC9C5007CA404 /* Starscream.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 708836A32561F5A6005B32F0 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A6AE37B200FC9C5007CA404 /* Starscream.framework */; }; + 708836A42561F5A6005B32F0 /* Starscream.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4A6AE37B200FC9C5007CA404 /* Starscream.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F534A5B21BDAFE0200CBD11A /* Subscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = F534A5B11BDAFE0200CBD11A /* Subscription.swift */; }; F534A5B41BDB09CE00CBD11A /* Operation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F534A5B31BDB09CE00CBD11A /* Operation.swift */; }; F54D58B81C8E3446009F8D6C /* ClientPrivate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F54D58B71C8E3446009F8D6C /* ClientPrivate.swift */; }; @@ -277,6 +283,31 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 708836A22561F58F005B32F0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 708836A12561F58F005B32F0 /* Starscream.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 708836A52561F5A6005B32F0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 708836A42561F5A6005B32F0 /* Starscream.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 0632EDD31CA1A6DB00DD3CB8 /* Parse+LiveQuery.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Parse+LiveQuery.swift"; sourceTree = ""; }; 094AE8FF1E25AF3100F408BC /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; }; @@ -288,6 +319,12 @@ 4A1A99611E5E8DBB0047B84B /* Starscream.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Starscream.xcodeproj; path = ../Carthage/Checkouts/Starscream/Starscream.xcodeproj; sourceTree = ""; }; 4A6AE30B200FB23E007CA404 /* Parse.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Parse.xcodeproj; path = "../Carthage/Checkouts/Parse-SDK-iOS-OSX/Parse/Parse.xcodeproj"; sourceTree = ""; }; 4A6AE337200FB569007CA404 /* Bolts.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Bolts.xcodeproj; path = "../Carthage/Checkouts/Bolts-ObjC/Bolts.xcodeproj"; sourceTree = ""; }; + 708836722561F502005B32F0 /* ParseLiveQuery_watchOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ParseLiveQuery_watchOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 708836742561F503005B32F0 /* ParseLiveQuery_watchOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ParseLiveQuery_watchOS.h; sourceTree = ""; }; + 708836752561F503005B32F0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 708836942561F55B005B32F0 /* ParseLiveQuery_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ParseLiveQuery_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 708836962561F55B005B32F0 /* ParseLiveQuery_tvOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ParseLiveQuery_tvOS.h; sourceTree = ""; }; + 708836972561F55B005B32F0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; BC2D6789239131E500DC849E /* BoltsSwift.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = BoltsSwift.xcodeproj; path = "../Carthage/Checkouts/Bolts-Swift/BoltsSwift.xcodeproj"; sourceTree = ""; }; F5256FD31BD71F9A0052FB8A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; F534A5B11BDAFE0200CBD11A /* Subscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Subscription.swift; sourceTree = ""; }; @@ -303,6 +340,22 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 7088366F2561F502005B32F0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 708836A32561F5A6005B32F0 /* Starscream.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 708836912561F55B005B32F0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 708836A02561F58F005B32F0 /* Starscream.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F5903CE61BD999C500C3EFFE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -386,6 +439,24 @@ name = Products; sourceTree = ""; }; + 708836732561F503005B32F0 /* ParseLiveQuery-watchOS */ = { + isa = PBXGroup; + children = ( + 708836742561F503005B32F0 /* ParseLiveQuery_watchOS.h */, + 708836752561F503005B32F0 /* Info.plist */, + ); + path = "ParseLiveQuery-watchOS"; + sourceTree = ""; + }; + 708836952561F55B005B32F0 /* ParseLiveQuery-tvOS */ = { + isa = PBXGroup; + children = ( + 708836962561F55B005B32F0 /* ParseLiveQuery_tvOS.h */, + 708836972561F55B005B32F0 /* Info.plist */, + ); + path = "ParseLiveQuery-tvOS"; + sourceTree = ""; + }; 81464FC51CA31DA0000235E7 /* Resources */ = { isa = PBXGroup; children = ( @@ -412,6 +483,8 @@ isa = PBXGroup; children = ( F5256FD01BD71F9A0052FB8A /* ParseLiveQuery */, + 708836732561F503005B32F0 /* ParseLiveQuery-watchOS */, + 708836952561F55B005B32F0 /* ParseLiveQuery-tvOS */, F5256FCF1BD71F9A0052FB8A /* Products */, BC2D6789239131E500DC849E /* BoltsSwift.xcodeproj */, 4A6AE337200FB569007CA404 /* Bolts.xcodeproj */, @@ -428,6 +501,8 @@ children = ( F5903CEA1BD999C500C3EFFE /* ParseLiveQuery.framework */, F5A9BFCA1BE0248D00E78326 /* ParseLiveQuery.framework */, + 708836722561F502005B32F0 /* ParseLiveQuery_watchOS.framework */, + 708836942561F55B005B32F0 /* ParseLiveQuery_tvOS.framework */, ); name = Products; sourceTree = ""; @@ -460,6 +535,22 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 7088366D2561F502005B32F0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 708836762561F503005B32F0 /* ParseLiveQuery_watchOS.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 7088368F2561F55B005B32F0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 708836982561F55B005B32F0 /* ParseLiveQuery_tvOS.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F5903CE71BD999C500C3EFFE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -477,6 +568,44 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 708836712561F502005B32F0 /* ParseLiveQuery-watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7088368B2561F503005B32F0 /* Build configuration list for PBXNativeTarget "ParseLiveQuery-watchOS" */; + buildPhases = ( + 7088366D2561F502005B32F0 /* Headers */, + 7088366E2561F502005B32F0 /* Sources */, + 7088366F2561F502005B32F0 /* Frameworks */, + 708836702561F502005B32F0 /* Resources */, + 708836A52561F5A6005B32F0 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "ParseLiveQuery-watchOS"; + productName = "ParseLiveQuery-watchOS"; + productReference = 708836722561F502005B32F0 /* ParseLiveQuery_watchOS.framework */; + productType = "com.apple.product-type.framework"; + }; + 708836932561F55B005B32F0 /* ParseLiveQuery-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 708836992561F55B005B32F0 /* Build configuration list for PBXNativeTarget "ParseLiveQuery-tvOS" */; + buildPhases = ( + 7088368F2561F55B005B32F0 /* Headers */, + 708836902561F55B005B32F0 /* Sources */, + 708836912561F55B005B32F0 /* Frameworks */, + 708836922561F55B005B32F0 /* Resources */, + 708836A22561F58F005B32F0 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "ParseLiveQuery-tvOS"; + productName = "ParseLiveQuery-tvOS"; + productReference = 708836942561F55B005B32F0 /* ParseLiveQuery_tvOS.framework */; + productType = "com.apple.product-type.framework"; + }; F5903CE91BD999C500C3EFFE /* ParseLiveQuery-OSX */ = { isa = PBXNativeTarget; buildConfigurationList = F5903CEF1BD999C500C3EFFE /* Build configuration list for PBXNativeTarget "ParseLiveQuery-OSX" */; @@ -526,6 +655,14 @@ LastUpgradeCheck = 1120; ORGANIZATIONNAME = Parse; TargetAttributes = { + 708836712561F502005B32F0 = { + CreatedOnToolsVersion = 12.2; + ProvisioningStyle = Automatic; + }; + 708836932561F55B005B32F0 = { + CreatedOnToolsVersion = 12.2; + ProvisioningStyle = Automatic; + }; F5903CE91BD999C500C3EFFE = { CreatedOnToolsVersion = 7.1; LastSwiftMigration = 1100; @@ -568,6 +705,8 @@ targets = ( F5A9BFB61BE0248D00E78326 /* ParseLiveQuery-iOS */, F5903CE91BD999C500C3EFFE /* ParseLiveQuery-OSX */, + 708836712561F502005B32F0 /* ParseLiveQuery-watchOS */, + 708836932561F55B005B32F0 /* ParseLiveQuery-tvOS */, ); }; /* End PBXProject section */ @@ -786,6 +925,20 @@ /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ + 708836702561F502005B32F0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 708836922561F55B005B32F0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; F5903CE81BD999C500C3EFFE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -803,6 +956,20 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 7088366E2561F502005B32F0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 708836902561F55B005B32F0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; F5903CE51BD999C500C3EFFE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -861,6 +1028,200 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 708836772561F503005B32F0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = "ParseLiveQuery-watchOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.watchos.ParseLiveQuery-watchOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Debug; + }; + 708836782561F503005B32F0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = "ParseLiveQuery-watchOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.watchos.ParseLiveQuery-watchOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 2.0; + }; + name = Release; + }; + 7088369A2561F55B005B32F0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = "ParseLiveQuery-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.tvos.ParseLiveQuery-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7088369B2561F55B005B32F0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = "ParseLiveQuery-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.tvos.ParseLiveQuery-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; F5256FE01BD71F9A0052FB8A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -952,8 +1313,8 @@ INFOPLIST_FILE = ParseLiveQuery/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.7.2; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MARKETING_VERSION = 2.7.3; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -979,8 +1340,8 @@ INFOPLIST_FILE = ParseLiveQuery/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MARKETING_VERSION = 2.7.2; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MARKETING_VERSION = 2.7.3; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -1006,7 +1367,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.2; + MARKETING_VERSION = 2.7.3; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; @@ -1035,7 +1396,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.2; + MARKETING_VERSION = 2.7.3; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; @@ -1049,6 +1410,24 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 7088368B2561F503005B32F0 /* Build configuration list for PBXNativeTarget "ParseLiveQuery-watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 708836772561F503005B32F0 /* Debug */, + 708836782561F503005B32F0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 708836992561F55B005B32F0 /* Build configuration list for PBXNativeTarget "ParseLiveQuery-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7088369A2561F55B005B32F0 /* Debug */, + 7088369B2561F55B005B32F0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; F5256FC81BD71F9A0052FB8A /* Build configuration list for PBXProject "ParseLiveQuery" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-tvOS.xcscheme b/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-tvOS.xcscheme new file mode 100644 index 00000000..8c4e08c9 --- /dev/null +++ b/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-tvOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-watchOS.xcscheme b/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-watchOS.xcscheme new file mode 100644 index 00000000..25b3a19b --- /dev/null +++ b/Sources/ParseLiveQuery.xcodeproj/xcshareddata/xcschemes/ParseLiveQuery-watchOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jazzy.sh b/jazzy.sh new file mode 100755 index 00000000..8604e2cb --- /dev/null +++ b/jazzy.sh @@ -0,0 +1,13 @@ +ver=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Sources/ParseLiveQuery/Info.plist` +bundle exec jazzy \ +--clean \ +--author "Parse Community" \ +--author_url http://parseplatform.org \ +--github_url https://github.com/parse-community/ParseLiveQuery-iOS-OSX \ +--root-url http://parseplatform.org/ParseLiveQuery-iOS-OSX/ \ +--module-version ${ver} \ +--theme fullwidth \ +--skip-undocumented \ +--output docs/api \ +--module ParseLiveQuery \ +--build-tool-arguments -scheme,ParseLiveQuery-iOS \ From 96191042d721aadfddde41298120f87c2496f09b Mon Sep 17 00:00:00 2001 From: Corey Date: Mon, 16 Nov 2020 19:01:11 -0500 Subject: [PATCH 4/9] Update sockets (#236) * Update starscream to latest * update carthage files * Update pod spec * update podspec * Add reconnect because of change in logic from dependency * Improve connection logic * Improve connection logic * Fix subscriptions * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Tom Fox <13188249+TomWFox@users.noreply.github.com> * Update versions to 2.8.0, add watchOS and tvOS to circle build * Update version numbers of watchOS and tvOS * Show warnings from pod trunk push * fix cart files * remove dups from merge Co-authored-by: Tom Fox <13188249+TomWFox@users.noreply.github.com> --- .circleci/config.yml | 5 +- .travis.yml | 2 +- CHANGELOG.md | 10 +++- Cartfile | 2 +- Cartfile.resolved | 2 +- Carthage/Checkouts/Starscream | 2 +- ParseLiveQuery.podspec | 6 +-- Sources/ParseLiveQuery-tvOS/Info.plist | 2 +- Sources/ParseLiveQuery-watchOS/Info.plist | 2 +- .../ParseLiveQuery.xcodeproj/project.pbxproj | 20 +++++--- Sources/ParseLiveQuery/Client.swift | 19 +++---- .../Internal/ClientPrivate.swift | 51 ++++++++++--------- 12 files changed, 67 insertions(+), 56 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e4eb360b..a350e304 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -79,9 +79,6 @@ jobs: - run: | xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo | xcpretty -c; xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo -configuration Debug | xcpretty -c; - - run: | - xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo-ObjC | xcpretty -c; - xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo-ObjC -configuration Debug | xcpretty -c; carthage: <<: *defaults steps: @@ -89,7 +86,7 @@ jobs: - restore_cache: *cache-pull - run: *prepare - save_cache: *cache-push - - run: carthage build --no-skip-current --platform macos,ios + - run: carthage build --no-skip-current --platform macos,ios,tvos,watchos workflows: version: 2 diff --git a/.travis.yml b/.travis.yml index e604b90a..b4ecb1ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ jobs: deploy: provider: script skip_cleanup: true - script: travis_wait bundle exec pod trunk push ParseLiveQuery.podspec --allow-warnings + script: bundle exec pod trunk push ParseLiveQuery.podspec --allow-warnings on: tags: true all_branches: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 791ee72d..5b5363e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,15 @@ ### Master -[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.3...master) +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.8.0...master) + +### 2.8.0 + +[Full Changelog](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/compare/2.7.3...2.8.0) + +- Bump Starscream dependency to >= 4.0.4 ([#236](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/236)), thanks to [Corey Baker](https://github.com/cbaker6). +- Bump Parse SDK to v.1.19.1 ([#236](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/236)), thanks to [Corey Baker](https://github.com/cbaker6). +- Minimum support due to Xcode 12 and dependencies (iOS 9) ([#236](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/pull/236)), thanks to [Corey Baker](https://github.com/cbaker6). ### 2.7.3 diff --git a/Cartfile b/Cartfile index 62665176..4a573c7e 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "BoltsFramework/Bolts-Swift" >= 1.5.0 github "ParsePlatform/Parse-SDK-iOS-OSX" >= 1.19.1 -github "daltoniam/Starscream" == 3.1.1 +github "daltoniam/Starscream" >= 4.0.4 diff --git a/Cartfile.resolved b/Cartfile.resolved index 53bf59e0..f1caa86f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,5 @@ github "BoltsFramework/Bolts-ObjC" "1.9.1" github "BoltsFramework/Bolts-Swift" "1.5.0" github "ParsePlatform/Parse-SDK-iOS-OSX" "1.19.1" -github "daltoniam/Starscream" "3.1.1" +github "daltoniam/Starscream" "4.0.4" github "facebook/facebook-objc-sdk" "v6.5.2" diff --git a/Carthage/Checkouts/Starscream b/Carthage/Checkouts/Starscream index e6b65c6d..df8d8204 160000 --- a/Carthage/Checkouts/Starscream +++ b/Carthage/Checkouts/Starscream @@ -1 +1 @@ -Subproject commit e6b65c6d9077ea48b4a7bdda8994a1d3c6969c8d +Subproject commit df8d82047f6654d8e4b655d1b1525c64e1059d21 diff --git a/ParseLiveQuery.podspec b/ParseLiveQuery.podspec index 9fbd4cf3..3c9cc511 100644 --- a/ParseLiveQuery.podspec +++ b/ParseLiveQuery.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'ParseLiveQuery' - s.version = '2.7.3' + s.version = '2.8.0' s.license = { :type => 'BSD' } s.summary = 'Allows for subscriptions to queries in conjunction with parse-server.' s.homepage = 'http://parseplatform.org' @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.cocoapods_version = '>= 1.4' - s.ios.deployment_target = '8.0' + s.ios.deployment_target = '9.0' s.tvos.deployment_target = '10.0' s.watchos.deployment_target = '2.0' s.osx.deployment_target = '10.10' @@ -25,6 +25,6 @@ Pod::Spec.new do |s| s.dependency 'Parse', '~> 1.19.0' s.dependency 'Bolts-Swift', '~> 1.5.0' - s.dependency 'Starscream', '3.1.0' + s.dependency 'Starscream', '~> 4.0.4' end diff --git a/Sources/ParseLiveQuery-tvOS/Info.plist b/Sources/ParseLiveQuery-tvOS/Info.plist index 9bcb2444..c0701c6d 100644 --- a/Sources/ParseLiveQuery-tvOS/Info.plist +++ b/Sources/ParseLiveQuery-tvOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0 + $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) diff --git a/Sources/ParseLiveQuery-watchOS/Info.plist b/Sources/ParseLiveQuery-watchOS/Info.plist index 9bcb2444..c0701c6d 100644 --- a/Sources/ParseLiveQuery-watchOS/Info.plist +++ b/Sources/ParseLiveQuery-watchOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0 + $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) diff --git a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj index 060266a3..cbf21b25 100644 --- a/Sources/ParseLiveQuery.xcodeproj/project.pbxproj +++ b/Sources/ParseLiveQuery.xcodeproj/project.pbxproj @@ -1064,6 +1064,7 @@ INFOPLIST_FILE = "ParseLiveQuery-watchOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.8.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.watchos.ParseLiveQuery-watchOS"; @@ -1111,6 +1112,7 @@ INFOPLIST_FILE = "ParseLiveQuery-watchOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.8.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.watchos.ParseLiveQuery-watchOS"; @@ -1161,6 +1163,7 @@ INFOPLIST_FILE = "ParseLiveQuery-tvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.8.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.tvos.ParseLiveQuery-tvOS"; @@ -1207,6 +1210,7 @@ INFOPLIST_FILE = "ParseLiveQuery-tvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 2.8.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.parse.livequery.tvos.ParseLiveQuery-tvOS"; @@ -1252,7 +1256,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.12; ONLY_ACTIVE_ARCH = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; @@ -1289,7 +1293,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.12; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -1314,7 +1318,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; - MARKETING_VERSION = 2.7.3; + MARKETING_VERSION = 2.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -1341,7 +1345,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; - MARKETING_VERSION = 2.7.3; + MARKETING_VERSION = 2.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.osx; PRODUCT_NAME = ParseLiveQuery; SDKROOT = macosx; @@ -1364,10 +1368,10 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = ParseLiveQuery/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.3; + MARKETING_VERSION = 2.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; @@ -1393,10 +1397,10 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = ParseLiveQuery/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 2.7.3; + MARKETING_VERSION = 2.8.0; PRODUCT_BUNDLE_IDENTIFIER = com.parse.livequery.ios; PRODUCT_NAME = ParseLiveQuery; SDKROOT = iphoneos; diff --git a/Sources/ParseLiveQuery/Client.swift b/Sources/ParseLiveQuery/Client.swift index f24331bf..a61a8175 100644 --- a/Sources/ParseLiveQuery/Client.swift +++ b/Sources/ParseLiveQuery/Client.swift @@ -152,17 +152,18 @@ extension Client { requestId: requestIdGenerator(), handler: handler ) - subscriptions.append(subscriptionRecord) + + self.subscriptions.append(subscriptionRecord) - if let socket = socket, socket.isConnected == true { - _ = sendOperationAsync(.subscribe(requestId: subscriptionRecord.requestId, query: query as! PFQuery, + if socket != nil { + _ = self.sendOperationAsync(.subscribe(requestId: subscriptionRecord.requestId, query: query as! PFQuery, sessionToken: PFUser.current()?.sessionToken)) + } else if !self.userDisconnected { + self.reconnect() + self.subscriptions.removeLast() + return self.subscribe(query, handler: handler) } else { - if !userDisconnected { - reconnect() - } else { - NSLog("ParseLiveQuery: Warning: The client was explicitly disconnected! You must explicitly call .reconnect() in order to process your subscriptions.") - } + NSLog("ParseLiveQuery: Warning: The client was explicitly disconnected! You must explicitly call .reconnect() in order to process your subscriptions.") } return handler @@ -233,7 +234,7 @@ extension Client { guard socket == nil || !isConnecting else { return } socket?.disconnect() socket = { - let socket = WebSocket(url: host) + let socket = WebSocket(request: .init(url: host)) socket.delegate = self socket.callbackQueue = queue socket.connect() diff --git a/Sources/ParseLiveQuery/Internal/ClientPrivate.swift b/Sources/ParseLiveQuery/Internal/ClientPrivate.swift index ad19610d..df3075b1 100644 --- a/Sources/ParseLiveQuery/Internal/ClientPrivate.swift +++ b/Sources/ParseLiveQuery/Internal/ClientPrivate.swift @@ -115,32 +115,33 @@ func == (first: Client.RequestId, second: Client.RequestId) -> Bool { // --------------- extension Client: WebSocketDelegate { - - public func websocketDidReceiveData(socket: WebSocketClient, data: Data) { - if shouldPrintWebSocketLog { NSLog("ParseLiveQuery: Received binary data but we don't handle it...") } - } - - public func websocketDidReceiveMessage(socket: WebSocketClient, text: String) { - handleOperationAsync(text).continueWith { [weak self] task in - if let error = task.error, self?.shouldPrintWebSocketLog == true { - NSLog("ParseLiveQuery: Error processing message: \(error)") + public func didReceive(event: WebSocketEvent, client: WebSocket) { + switch event { + + case .connected(_): + isConnecting = false + let sessionToken = PFUser.current()?.sessionToken ?? "" + _ = self.sendOperationAsync(.connect(applicationId: applicationId, sessionToken: sessionToken, clientKey: clientKey)) + case .disconnected(let reason, let code): + isConnecting = false + if shouldPrintWebSocketLog { NSLog("ParseLiveQuery: WebSocket did disconnect with error: \(reason) code:\(code)") } + + // TODO: Better retry logic, unless `disconnect()` was explicitly called + if !userDisconnected { + reconnect() } - } - } - - public func websocketDidConnect(socket: WebSocketClient) { - isConnecting = false - let sessionToken = PFUser.current()?.sessionToken ?? "" - _ = self.sendOperationAsync(.connect(applicationId: applicationId, sessionToken: sessionToken, clientKey: clientKey)) - } - - public func websocketDidDisconnect(socket: WebSocketClient, error: Error?) { - isConnecting = false - if shouldPrintWebSocketLog { NSLog("ParseLiveQuery: WebSocket did disconnect with error: \(String(describing: error))") } - - // TODO: Better retry logic, unless `disconnect()` was explicitly called - if !userDisconnected { - reconnect() + case .text(let text): + handleOperationAsync(text).continueWith { [weak self] task in + if let error = task.error, self?.shouldPrintWebSocketLog == true { + NSLog("ParseLiveQuery: Error processing message: \(error)") + } + } + case .binary(_): + if shouldPrintWebSocketLog { NSLog("ParseLiveQuery: Received binary data but we don't handle it...") } + case .error(let error): + NSLog("ParseLiveQuery: Error processing message: \(String(describing: error))") + default: + break } } } From 8b75caf434a4c93e9d3f9f87e0ca21058d933f51 Mon Sep 17 00:00:00 2001 From: Jonathan Lott <921121+jlott1@users.noreply.github.com> Date: Wed, 18 Nov 2020 17:15:49 -0600 Subject: [PATCH 5/9] Update QueryEncoder.swift (#240) Allows for nested inQuery and orQuery. relates to #156 --- Sources/ParseLiveQuery/Internal/QueryEncoder.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Sources/ParseLiveQuery/Internal/QueryEncoder.swift b/Sources/ParseLiveQuery/Internal/QueryEncoder.swift index 2011e5b7..a4adbd23 100644 --- a/Sources/ParseLiveQuery/Internal/QueryEncoder.swift +++ b/Sources/ParseLiveQuery/Internal/QueryEncoder.swift @@ -53,6 +53,11 @@ extension Dictionary where Key: ExpressibleByStringLiteral, Value: AnyObject { encodedQueryDictionary[key] = geoPoint.encodedDictionary as? Value } else if let object = val as? PFObject { encodedQueryDictionary[key] = (try? PFPointerObjectEncoder.object().encode(object)) as? Value + } else if let query = val as? PFQuery { + let queryState = query.value(forKey: "state") as AnyObject? + if let conditions: [String:AnyObject] = queryState?.value(forKey: "conditions") as? [String:AnyObject], let encoded = conditions.encodedQueryDictionary as? Value { + encodedQueryDictionary[key] = encoded + } } else if let date = val as? Date { encodedQueryDictionary[key] = ["__type": "Date", "iso": date.encodedString] as? Value } else { From 140a8a710d2722854fff96665da949048c526cb0 Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 27 Nov 2020 08:47:59 -0500 Subject: [PATCH 6/9] Switch CI to main branch (#241) --- .circleci/config.yml | 6 +++--- .travis.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a350e304..dbacc155 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,10 +18,10 @@ aliases: sudo gem install bundler bundle config set path 'vendor/bundle' bundle install - - &filter-only-master + - &filter-only-main branches: only: - - master + - main version: 2 jobs: @@ -106,4 +106,4 @@ workflows: triggers: - schedule: cron: "0 1 * * *" - filters: *filter-only-master + filters: *filter-only-main diff --git a/.travis.yml b/.travis.yml index b4ecb1ba..0d903b58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ os: osx osx_image: xcode11.6 branches: only: - - master + - main - /^v?[0-9]+\.[0-9]+\.[0-9]+(-.*)?$/ cache: directories: From 684e481c6412f36fd6d43e87b86d73236f50829d Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 16 Dec 2020 21:04:56 -0500 Subject: [PATCH 7/9] Adding back in LiveQueryDemo-ObjC (#238) * Adding back in LiveQueryDemo-ObjC Removed this by accident * Remove spaces * Add watchOS to platform * update CI env to Xcode 11.7 * remove bundle from circle * Remove Travis warnings * Remove Travis strategy warning * Update config.yml * add actions for deployment * Update swift.yml * Update swift.yml * Update swift.yml * Add actions badge * Switch actions from build to ci * Update README.md * Remove travis badge * move tests to actions, test on xcode 12. Leave Carthage on circle * add submodules to actions * stagger actions test so cocoapods is always part of initial start * swap docs for watchOS * switch actiions pod_push.yml to deploy.yml * Swap action and circle badges * fix deploy actions name * Add release badge and make ci badge main branch * add release.yml for actions * Let pods release on Xcode 12 --- .circleci/config.yml | 65 +----------------- .github/workflows/release.yml | 21 ++++++ .github/workflows/swift.yml | 124 ++++++++++++++++++++++++++++++++++ .travis.yml | 41 ----------- ParseLiveQuery.podspec | 2 +- README.md | 3 +- 6 files changed, 150 insertions(+), 106 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/swift.yml delete mode 100644 .travis.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index dbacc155..a41973cb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ defaults: &defaults macos: - xcode: "11.6.0" + xcode: "11.7.0" shell: /bin/bash --login -eo pipefail aliases: - &cache-pull @@ -25,60 +25,6 @@ aliases: version: 2 jobs: - ios: - <<: *defaults - steps: - - checkout - - restore_cache: *cache-pull - - run: *prepare - - save_cache: *cache-push - - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk iphonesimulator -scheme ParseLiveQuery-iOS -configuration Debug -destination "platform=iOS Simulator,name=iPhone 11" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - - run: bash <(curl -s https://codecov.io/bash) - - store_test_results: - path: build/reports - macos: - <<: *defaults - steps: - - checkout - - restore_cache: *cache-pull - - run: *prepare - - save_cache: *cache-push - - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk macosx -scheme ParseLiveQuery-OSX -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - - run: bash <(curl -s https://codecov.io/bash) - - store_test_results: - path: build/reports - watchos: - <<: *defaults - steps: - - checkout - - restore_cache: *cache-pull - - run: *prepare - - save_cache: *cache-push - - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-watchOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - - run: bash <(curl -s https://codecov.io/bash) - - store_test_results: - path: build/reports - tvos: - <<: *defaults - steps: - - checkout - - restore_cache: *cache-pull - - run: *prepare - - save_cache: *cache-push - - run: xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-tvOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c; - - run: bash <(curl -s https://codecov.io/bash) - - store_test_results: - path: build/reports - demo: - <<: *defaults - steps: - - checkout - - restore_cache: *cache-pull - - run: *prepare - - save_cache: *cache-push - - run: | - xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo | xcpretty -c; - xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo -configuration Debug | xcpretty -c; carthage: <<: *defaults steps: @@ -92,14 +38,7 @@ workflows: version: 2 pr: jobs: - - ios - - macos - - watchos - - tvos - - demo - - carthage: - requires: - - ios + - carthage nightly: jobs: - carthage diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..1206a245 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,21 @@ +name: release + +on: + push: + tags: '*' + +env: + CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer' + +jobs: + cocoapods: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + - name: CocoaPods + run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose + - name: Deploy CocoaPods + run: set -o pipefail && env NSUnbufferedIO=YES pod trunk push CertificateSigningRequest.podspec --allow-warnings --verbose + env: + COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml new file mode 100644 index 00000000..817df550 --- /dev/null +++ b/.github/workflows/swift.yml @@ -0,0 +1,124 @@ +name: ci + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +env: + CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer' + +jobs: + + ios: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Build-Test + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk iphonesimulator -scheme ParseLiveQuery-iOS -configuration Debug -destination "platform=iOS Simulator,name=iPhone 11" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Build-Test + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -sdk macosx -scheme ParseLiveQuery-OSX -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + tvos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Build-Test + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-tvOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + watchos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Build + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme ParseLiveQuery-watchOS -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + demo-swift: + needs: ios + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Clean + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo | xcpretty -c + - name: Build + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo -configuration Debug | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + demo-objective-c: + needs: ios + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Submodules + run: | + git submodule update --init --recursive + - name: Clean + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild clean -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo-ObjC | xcpretty -c + - name: Build + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build -workspace ParseLiveQuery.xcworkspace -scheme LiveQueryDemo-ObjC -configuration Debug | xcpretty -c + - name: Send codecov + run: bash <(curl https://codecov.io/bash) + + cocoapods: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: CocoaPods + run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose + + docs: + needs: ios + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Gems + id: cache-gems + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem- + - name: Install Bundle + run: | + bundle config path vendor/bundle + bundle install + - name: Create Jazzy Docs + run: | + ./jazzy.sh + - name: Deploy Jazzy Docs + if: github.ref == 'refs/heads/main' + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0d903b58..00000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -language: objective-c -os: osx -osx_image: xcode11.6 -branches: - only: - - main - - /^v?[0-9]+\.[0-9]+\.[0-9]+(-.*)?$/ -cache: - directories: - - vendor/bundle - -install: - - bundle config set path 'vendor/bundle' - - travis_wait bundle install - -jobs: - include: - - stage: release - env: CocoaPods - script: - - bundle exec pod setup - - travis_wait bundle exec pod lib lint --allow-warnings - deploy: - provider: script - skip_cleanup: true - script: bundle exec pod trunk push ParseLiveQuery.podspec --allow-warnings - on: - tags: true - all_branches: true - - stage: release - env: Docs - script: - - ./jazzy.sh - deploy: - provider: pages - skip_cleanup: true - github_token: $GITHUB_TOKEN - local_dir: ./docs/ - on: - tags: true - all_branches: true diff --git a/ParseLiveQuery.podspec b/ParseLiveQuery.podspec index 3c9cc511..37270f61 100644 --- a/ParseLiveQuery.podspec +++ b/ParseLiveQuery.podspec @@ -11,7 +11,7 @@ Pod::Spec.new do |s| s.requires_arc = true - s.platform = :ios, :osx, :tvos + s.platform = :ios, :osx, :tvos, :watchos s.swift_version = '5.0' s.cocoapods_version = '>= 1.4' diff --git a/README.md b/README.md index aa6f7292..c7dffbd3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ [![Carthage compatible][carthage-svg]][carthage-link] [![Podspec][podspec-svg]][podspec-link] [![License][license-svg]][license-link] -[![Build Status][build-status-svg]][build-status-link] +![ci](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/workflows/ci/badge.svg?branch=main) +![release](https://github.com/parse-community/ParseLiveQuery-iOS-OSX/workflows/release/badge.svg) [![Build Status][circleci-status-svg]][circleci-status-link] [![Join The Conversation](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server) [![Backers on Open Collective](https://opencollective.com/parse-server/backers/badge.svg)](#backers) From b84b43a9b263f09619123ec30ce711ebdcb854f7 Mon Sep 17 00:00:00 2001 From: Corey Date: Thu, 17 Dec 2020 10:02:54 -0500 Subject: [PATCH 8/9] deploy docs only on tags (#242) * deploy docs only on tags * change file name * update release * only release on publish --- .github/workflows/{swift.yml => ci.yml} | 9 ------- .github/workflows/release.yml | 34 +++++++++++++++++++++---- 2 files changed, 29 insertions(+), 14 deletions(-) rename .github/workflows/{swift.yml => ci.yml} (95%) diff --git a/.github/workflows/swift.yml b/.github/workflows/ci.yml similarity index 95% rename from .github/workflows/swift.yml rename to .github/workflows/ci.yml index 817df550..11b40d8b 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/ci.yml @@ -1,16 +1,13 @@ name: ci - on: push: branches: [ main ] pull_request: branches: [ main ] - env: CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer' jobs: - ios: runs-on: macos-latest steps: @@ -116,9 +113,3 @@ jobs: - name: Create Jazzy Docs run: | ./jazzy.sh - - name: Deploy Jazzy Docs - if: github.ref == 'refs/heads/main' - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1206a245..1341968c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,9 +1,7 @@ name: release - on: - push: - tags: '*' - + release: + types: [published] env: CI_XCODE_VER: '/Applications/Xcode_11.7.app/Contents/Developer' @@ -16,6 +14,32 @@ jobs: - name: CocoaPods run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose - name: Deploy CocoaPods - run: set -o pipefail && env NSUnbufferedIO=YES pod trunk push CertificateSigningRequest.podspec --allow-warnings --verbose + run: set -o pipefail && env NSUnbufferedIO=YES pod trunk push ParseLiveQuery.podspec --allow-warnings --verbose env: COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} + + docs: + needs: ios + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Gems + id: cache-gems + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gem- + - name: Install Bundle + run: | + bundle config path vendor/bundle + bundle install + - name: Create Jazzy Docs + run: | + ./jazzy.sh + - name: Deploy Jazzy Docs + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs From da22df1da3c44bdae357c03a5d3a52e3f502ae0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Jan 2021 19:27:22 -0500 Subject: [PATCH 9/9] Bump redcarpet from 3.5.0 to 3.5.1 (#243) Bumps [redcarpet](https://github.com/vmg/redcarpet) from 3.5.0 to 3.5.1. - [Release notes](https://github.com/vmg/redcarpet/releases) - [Changelog](https://github.com/vmg/redcarpet/blob/master/CHANGELOG.md) - [Commits](https://github.com/vmg/redcarpet/compare/v3.5.0...v3.5.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7d328f6..d3425763 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -82,7 +82,7 @@ GEM netrc (0.11.0) open4 (1.3.4) public_suffix (4.0.6) - redcarpet (3.5.0) + redcarpet (3.5.1) rouge (3.25.0) ruby-macho (1.4.0) sassc (2.4.0)