From 8fd5893796707eac6482a511b99a601536437c8d Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Tue, 28 Jul 2020 23:02:24 +0900 Subject: [PATCH 01/34] Create dependabot.yml --- .github/dependabot.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..92e878389 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "bundler" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" From 2dfe8c2aa328a8986093aa90dd20ee5fce24dc36 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Thu, 20 Aug 2020 22:17:38 +0900 Subject: [PATCH 02/34] [Dangerfile] Avoid passing a bot account name to `github.api.organization_member` --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index e9e3128bd..34bc4f4ed 100644 --- a/Dangerfile +++ b/Dangerfile @@ -35,7 +35,7 @@ warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" warn("Big PR") if git.lines_of_code > @SDM_DANGER_BIG_PR_LINES # Make a note about contributors not in the organization -unless github.api.organization_member?('Quick', github.pr_author) +if github.pr_author != "dependabot[bot]" && !github.api.organization_member?('Quick', github.pr_author) # Pay extra attention if they modify the podspec if git.modified_files.include?("*.podspec") warn "External contributor has edited the Podspec file" From 6801d504428ca337996bb648b793dccef09a486d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:33:34 +0000 Subject: [PATCH 03/34] Bump kramdown from 2.2.1 to 2.3.0 Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.2.1 to 2.3.0. - [Release notes](https://github.com/gettalong/kramdown/releases) - [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page) - [Commits](https://github.com/gettalong/kramdown/commits) Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1eefeb879..0c642aae3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -89,7 +89,7 @@ GEM i18n (0.9.5) concurrent-ruby (~> 1.0) json (2.3.0) - kramdown (2.2.1) + kramdown (2.3.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) From 2ad6219a40d54a13e19a245bcffcf9f5a3ec5564 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:42:37 +0000 Subject: [PATCH 04/34] Bump cocoapods from 1.9.2 to 1.9.3 Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.9.2 to 1.9.3. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](https://github.com/CocoaPods/CocoaPods/compare/1.9.2...1.9.3) Signed-off-by: dependabot[bot] --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0c642aae3..8d1407da1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,7 @@ GEM tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.2) + algoliasearch (1.27.3) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) @@ -18,10 +18,10 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.9.2) + cocoapods (1.9.3) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.2) + cocoapods-core (= 1.9.3) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -37,7 +37,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.2) + cocoapods-core (1.9.3) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) @@ -46,7 +46,7 @@ GEM netrc (~> 0.11) 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) @@ -56,7 +56,7 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.1.6) + concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) danger (8.0.0) @@ -79,7 +79,7 @@ GEM multipart-post (>= 1.2, < 3) faraday-http-cache (2.2.0) faraday (>= 0.8) - ffi (1.12.2) + ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) @@ -88,7 +88,7 @@ GEM httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - json (2.3.0) + json (2.3.1) kramdown (2.3.0) rexml kramdown-parser-gfm (1.1.0) @@ -96,7 +96,7 @@ GEM minitest (5.14.1) molinillo (0.6.6) multipart-post (2.1.1) - nanaimo (0.2.6) + nanaimo (0.3.0) nap (1.1.0) netrc (0.11.0) no_proxy_fix (0.1.2) @@ -119,12 +119,12 @@ GEM tzinfo (1.2.7) thread_safe (~> 0.1) unicode-display_width (1.7.0) - xcodeproj (1.16.0) + xcodeproj (1.18.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.6) + nanaimo (~> 0.3.0) PLATFORMS ruby From dfa402592cddac922ee40a23f9d26f0c74809c95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2020 14:20:55 +0000 Subject: [PATCH 05/34] Bump danger from 8.0.0 to 8.0.4 Bumps [danger](https://github.com/danger/danger) from 8.0.0 to 8.0.4. - [Release notes](https://github.com/danger/danger/releases) - [Changelog](https://github.com/danger/danger/blob/master/CHANGELOG.md) - [Commits](https://github.com/danger/danger/compare/8.0.0...v8.0.4) Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8d1407da1..62408c654 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) - danger (8.0.0) + danger (8.0.4) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) From 215b70a64ef653128b6c3ba0e1e0d3c30cabf7ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2020 06:09:39 +0000 Subject: [PATCH 06/34] Bump danger from 8.0.4 to 8.0.5 Bumps [danger](https://github.com/danger/danger) from 8.0.4 to 8.0.5. - [Release notes](https://github.com/danger/danger/releases) - [Changelog](https://github.com/danger/danger/blob/master/CHANGELOG.md) - [Commits](https://github.com/danger/danger/compare/v8.0.4...8.0.5) Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 62408c654..4468c5a18 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) - danger (8.0.4) + danger (8.0.5) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -67,7 +67,7 @@ GEM faraday (>= 0.9.0, < 2.0) faraday-http-cache (~> 2.0) git (~> 1.7) - kramdown (~> 2.0) + kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) no_proxy_fix octokit (~> 4.7) @@ -104,7 +104,7 @@ GEM faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) open4 (1.3.4) - public_suffix (4.0.5) + public_suffix (4.0.6) rchardet (1.8.0) rexml (3.2.4) ruby-macho (1.4.0) From 0af59eb4c934d149c235c43b250018277bdf7b05 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 12 Sep 2020 12:33:49 +0900 Subject: [PATCH 07/34] [CI] Test Xcode 12 and Swift 5.3 --- .github/workflows/ci.yml | 4 ++-- .travis.yml | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 284628b4b..2512ee4ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: runs-on: macos-latest strategy: matrix: - xcode: [11.5] + xcode: [11.7, 12] platform: ["macos", "ios", "tvos"] fail-fast: false env: @@ -43,7 +43,7 @@ jobs: runs-on: macos-latest strategy: matrix: - xcode: [11.5] + xcode: [11.7, 12] fail-fast: false env: DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app" diff --git a/.travis.yml b/.travis.yml index ff392d50e..31659e5f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,16 +22,20 @@ jobs: # osx_image: xcode10.1 # script: PLATFORM=swiftpm ./script/travis-script-macos - &swiftpm_linux - name: SwiftPM / Linux / Swift 5.2.4 + name: SwiftPM / Linux / Swift 5.2.5 os: linux env: - - SWIFT_VERSION=5.2.4 + - SWIFT_VERSION=5.2.5 install: eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" script: rake test:swiftpm - <<: *swiftpm_linux name: SwiftPM / Linux / Swift 5.3 Development env: - - SWIFT_VERSION=5.3-DEVELOPMENT-SNAPSHOT-2020-05-19-a + - SWIFT_VERSION=5.3-DEVELOPMENT-SNAPSHOT-2020-09-04-a + - <<: *swiftpm_linux + name: SwiftPM / Linux / Swift Development + env: + - SWIFT_VERSION=DEVELOPMENT-SNAPSHOT-2020-08-31-a notifications: email: false From d877dc04c248205cb7a7f337222424644c868c02 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 12 Sep 2020 12:41:23 +0900 Subject: [PATCH 08/34] Work around a Nimble compilation error on Swift 5.3 --- .../QuickTests/FunctionalTests/AfterEachTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/BeforeEachTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/BehaviorTests.swift | 9 ++++----- .../QuickTests/FunctionalTests/ContextTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/DescribeTests.swift | 6 +++--- .../QuickTests/FunctionalTests/ItTests.swift | 10 +++++----- .../FunctionalTests/SharedExamplesTests.swift | 10 +++++----- 7 files changed, 32 insertions(+), 33 deletions(-) diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift index 6e4e70319..0b7b5345b 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift @@ -53,12 +53,12 @@ class FunctionalTests_AfterEachSpec: QuickSpec { #if canImport(Darwin) && !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("should throw an exception when including afterEach in it block") { - expect { + expect(expression: { afterEach { } - }.to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'afterEach' cannot be used inside 'it', 'afterEach' may only be used inside 'context' or 'describe'.")) - }) + }).to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'afterEach' cannot be used inside 'it', 'afterEach' may only be used inside 'context' or 'describe'.")) + }) } } #endif diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift index 9b5d44e0d..a48f72066 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift @@ -38,12 +38,12 @@ class FunctionalTests_BeforeEachSpec: QuickSpec { #if canImport(Darwin) && !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("should throw an exception when including beforeEach in it block") { - expect { + expect(expression: { beforeEach { } - }.to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'beforeEach' cannot be used inside 'it', 'beforeEach' may only be used inside 'context' or 'describe'.")) - }) + }).to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'beforeEach' cannot be used inside 'it', 'beforeEach' may only be used inside 'context' or 'describe'.")) + }) } } #endif diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift index db22bbf1e..cee452f24 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift @@ -22,12 +22,11 @@ class FunctionalTests_BehaviorTests_ErrorSpec: QuickSpec { override func spec() { describe("error handling when misusing ordering") { it("should throw an exception when including itBehavesLike in it block") { - expect { + expect(expression: { itBehavesLike(FunctionalTests_BehaviorTests_Behavior2.self) { () } - } - .to(raiseException {(exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) + }).to(raiseException {(exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) }) } } diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift index 20d08467d..63c3601cf 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift @@ -7,12 +7,12 @@ class QuickContextTests: QuickSpec { override func spec() { describe("Context") { it("should throw an exception if used in an it block") { - expect { + expect(expression: { context("A nested context that should throw") { } - }.to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'context' cannot be used inside 'it', 'context' may only be used inside 'context' or 'describe'.")) - }) + }).to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'context' cannot be used inside 'it', 'context' may only be used inside 'context' or 'describe'.")) + }) } } } diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift index 7bdeee6fa..9d8f503d4 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift @@ -12,7 +12,7 @@ final class DescribeTests: XCTestCase, XCTestCaseProvider { } func testDescribeThrowsIfUsedOutsideOfQuickSpec() { - expect { describe("this should throw an exception", {}) }.to(raiseException()) + expect(expression: { describe("this should throw an exception", {}) }).to(raiseException()) } } @@ -20,9 +20,9 @@ class QuickDescribeTests: QuickSpec { override func spec() { describe("Describe") { it("should throw an exception if used in an it block") { - expect { + expect(expression: { describe("A nested describe that should throw") { } - }.to(raiseException { (exception: NSException) in + }).to(raiseException { (exception: NSException) in expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) expect(exception.reason).to(equal("'describe' cannot be used inside 'it', 'describe' may only be used inside 'context' or 'describe'.")) }) diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift index d04db0dd4..e16d93e84 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift @@ -55,12 +55,12 @@ class FunctionalTests_ItSpec: QuickSpec { #if !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("an it") { - expect { + expect(expression: { it("will throw an error when it is nested in another it") { } - }.to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.")) - }) + }).to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.")) + }) } describe("behavior with an 'it' inside a 'beforeEach'") { diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift index 63395b3f9..e1164fbf9 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift @@ -20,12 +20,12 @@ class FunctionalTests_SharedExamples_ErrorSpec: QuickSpec { override func spec() { describe("error handling when misusing ordering") { it("should throw an exception when including itBehavesLike in it block") { - expect { + expect(expression: { itBehavesLike("a group of three shared examples") - }.to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) - }) + }).to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) + }) } } } From 6483592c9aee069cb42a1d20faff5ffe5dd67ac6 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 12 Sep 2020 13:02:13 +0900 Subject: [PATCH 09/34] Set ENABLE_TESTING_SEARCH_PATHS to YES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://xcodebuildsettings.com/#enable_testing_search_paths and https://developer.apple.com/documentation/xcode-release-notes/xcode-11_4-release-notes: > Xcode introduced an “Enable Testing Search Paths” build setting to improve support for test support frameworks and libraries. This build setting is on by default for test bundle targets, as well as for targets which explicitly include XCTest.framework in their “Link Binary With Libraries” list. Source files in such targets can now import XCTest without setting any custom search paths. (51117167) --- Quick.podspec | 2 +- Quick.xcodeproj/project.pbxproj | 106 +------------------------------- 2 files changed, 3 insertions(+), 105 deletions(-) diff --git a/Quick.podspec b/Quick.podspec index e42258d6a..fe5a45802 100644 --- a/Quick.podspec +++ b/Quick.podspec @@ -32,11 +32,11 @@ Pod::Spec.new do |s| s.framework = "XCTest" s.requires_arc = true - s.user_target_xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(PLATFORM_DIR)/Developer/Library/Frameworks' } s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES', 'DEFINES_MODULE' => 'YES', 'ENABLE_BITCODE' => 'NO', + 'ENABLE_TESTING_SEARCH_PATHS' => 'YES', 'OTHER_LDFLAGS' => '$(inherited) -Xlinker -no_application_extension', } diff --git a/Quick.xcodeproj/project.pbxproj b/Quick.xcodeproj/project.pbxproj index 75a78c2cd..abcecc7be 100644 --- a/Quick.xcodeproj/project.pbxproj +++ b/Quick.xcodeproj/project.pbxproj @@ -1683,10 +1683,6 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1717,10 +1713,6 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1746,10 +1738,6 @@ isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1767,10 +1755,6 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1790,10 +1774,6 @@ isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1811,10 +1791,6 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1840,10 +1816,6 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -1877,10 +1849,6 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1906,10 +1874,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -1931,10 +1895,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1954,10 +1914,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -1979,10 +1935,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; @@ -1999,10 +1951,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -2024,10 +1972,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -2046,10 +1990,6 @@ isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -2067,10 +2007,6 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Externals/Nimble/build/Debug-appletvos", - ); GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -2105,10 +2041,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -2130,10 +2062,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; @@ -2151,10 +2079,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -2176,10 +2100,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; @@ -2196,10 +2116,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -2221,10 +2137,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -2273,6 +2185,7 @@ CURRENT_PROJECT_VERSION = 1; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_TESTING_SEARCH_PATHS = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -2336,6 +2249,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTING_SEARCH_PATHS = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -2366,10 +2280,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); FRAMEWORK_VERSION = A; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -2399,10 +2309,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - "$(inherited)", - ); FRAMEWORK_VERSION = A; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -2428,10 +2334,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -2453,10 +2355,6 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; From bcbd8b301bd1a1aaa299171946effe0a8fd0dad8 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 12 Sep 2020 13:34:49 +0900 Subject: [PATCH 10/34] Upgrade Project Format to Xcode 11.4-compatible Co-authored-by: mRs- --- Quick.xcodeproj/project.pbxproj | 199 +++++++++++++++++++++++++------- 1 file changed, 158 insertions(+), 41 deletions(-) diff --git a/Quick.xcodeproj/project.pbxproj b/Quick.xcodeproj/project.pbxproj index abcecc7be..396bbcbb8 100644 --- a/Quick.xcodeproj/project.pbxproj +++ b/Quick.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 53; objects = { /* Begin PBXAggregateTarget section */ @@ -1176,7 +1176,7 @@ }; }; buildConfigurationList = DAEB6B881943873100289F44 /* Build configuration list for PBXProject "Quick" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 11.4"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -1686,7 +1686,11 @@ GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ( "$(inherited)", @@ -1716,7 +1720,11 @@ GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ( "$(inherited)", @@ -1727,7 +1735,8 @@ PRODUCT_NAME = Quick; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; @@ -1740,7 +1749,11 @@ DEBUG_INFORMATION_FORMAT = dwarf; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1757,14 +1770,19 @@ COPY_PHASE_STRIP = NO; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; }; @@ -1776,7 +1794,11 @@ DEBUG_INFORMATION_FORMAT = dwarf; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1793,14 +1815,19 @@ COPY_PHASE_STRIP = NO; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickFocusedTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; }; @@ -1823,7 +1850,11 @@ INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); METAL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ( "$(inherited)", @@ -1852,7 +1883,11 @@ INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); METAL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ( "$(inherited)", @@ -1864,7 +1899,8 @@ PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -1880,7 +1916,11 @@ ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); METAL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1897,14 +1937,19 @@ CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); METAL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1919,7 +1964,11 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; @@ -1936,14 +1985,19 @@ CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickAfterSuiteTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; @@ -1957,7 +2011,11 @@ ); INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1974,14 +2032,19 @@ CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickAfterSuiteTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1992,7 +2055,11 @@ DEBUG_INFORMATION_FORMAT = dwarf; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2009,14 +2076,19 @@ COPY_PHASE_STRIP = NO; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickAfterSuiteTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; }; @@ -2046,7 +2118,11 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; METAL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; @@ -2063,14 +2139,19 @@ CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; METAL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; @@ -2084,7 +2165,11 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; @@ -2101,14 +2186,19 @@ CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickFocusedTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; @@ -2122,7 +2212,11 @@ ); INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2139,14 +2233,19 @@ CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickFocusedTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -2283,7 +2382,11 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = ( "$(inherited)", @@ -2312,7 +2415,11 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = Sources/Quick/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = ( "$(inherited)", @@ -2323,8 +2430,9 @@ PRODUCT_MODULE_NAME = Quick; PRODUCT_NAME = Quick; SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; VALID_ARCHS = x86_64; }; name = Release; @@ -2339,7 +2447,11 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; METAL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; @@ -2356,14 +2468,19 @@ CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; METAL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "io.quick.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = Tests/QuickTests/QuickTests/Helpers/QuickTestsBridgingHeader.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "QuickTests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; From 1d156b195c9511f03442ac92577c96b32e494f9f Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Thu, 17 Sep 2020 20:57:01 +0900 Subject: [PATCH 11/34] [BREAKING] Bump minimum iOS version to 9.0 Mainly for Xcode 12 compatibility. --- Package.swift | 2 +- Quick.podspec | 2 +- Quick.xcodeproj/project.pbxproj | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Package.swift b/Package.swift index f72d6362d..d09f56f52 100644 --- a/Package.swift +++ b/Package.swift @@ -5,7 +5,7 @@ import PackageDescription let package = Package( name: "Quick", platforms: [ - .macOS(.v10_10), .iOS(.v8), .tvOS(.v9) + .macOS(.v10_10), .iOS(.v9), .tvOS(.v9) ], products: [ .library(name: "Quick", targets: ["Quick"]), diff --git a/Quick.podspec b/Quick.podspec index fe5a45802..0d22ca552 100644 --- a/Quick.podspec +++ b/Quick.podspec @@ -11,7 +11,7 @@ Pod::Spec.new do |s| s.license = { :type => "Apache 2.0", :file => "LICENSE" } s.author = "Quick Contributors" - s.ios.deployment_target = "7.0" + s.ios.deployment_target = "9.0" s.osx.deployment_target = "10.10" s.tvos.deployment_target = '9.0' diff --git a/Quick.xcodeproj/project.pbxproj b/Quick.xcodeproj/project.pbxproj index 396bbcbb8..8e2f2ffd6 100644 --- a/Quick.xcodeproj/project.pbxproj +++ b/Quick.xcodeproj/project.pbxproj @@ -1849,7 +1849,7 @@ ); INFOPLIST_FILE = Sources/Quick/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", @@ -1882,7 +1882,7 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = Sources/Quick/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", @@ -1915,7 +1915,7 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1936,7 +1936,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2010,7 +2010,7 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2031,7 +2031,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickAfterSuiteTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2211,7 +2211,7 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2232,7 +2232,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Tests/QuickTests/QuickFocusedTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", From 1172a5df7ee3da5817cf7c9771c10aeb93b770f4 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Thu, 24 Sep 2020 09:53:25 +0900 Subject: [PATCH 12/34] Support ARM based Macs (Apple Silicon) Removed VALID_ARCHS from the macOS Target. Co-authored-by: mRs- --- Quick.xcodeproj/project.pbxproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/Quick.xcodeproj/project.pbxproj b/Quick.xcodeproj/project.pbxproj index 8e2f2ffd6..0f145cecc 100644 --- a/Quick.xcodeproj/project.pbxproj +++ b/Quick.xcodeproj/project.pbxproj @@ -2398,7 +2398,6 @@ PRODUCT_NAME = Quick; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; - VALID_ARCHS = x86_64; }; name = Debug; }; @@ -2433,7 +2432,6 @@ SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALID_ARCHS = x86_64; }; name = Release; }; From 57eb471aac2bbb0564f3932bcdced3d4c637a7c0 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Thu, 24 Sep 2020 13:16:22 +0900 Subject: [PATCH 13/34] [CI] Use rake directly instead of travis-script-macos --- .github/workflows/ci.yml | 8 ++++---- .travis.yml | 10 +++++----- script/travis-script-macos | 10 ---------- 3 files changed, 9 insertions(+), 19 deletions(-) delete mode 100755 script/travis-script-macos diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2512ee4ad..5b90d87ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - run: bundle exec danger env: DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: PODSPEC=1 ./script/travis-script-macos + - run: rake podspec:lint xcode: name: Xcode ${{ matrix.xcode }} (${{ matrix.platform }}) @@ -34,9 +34,9 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: PLATFORM=${{ matrix.platform }} ./script/travis-script-macos + - run: rake test:${{ matrix.platform }} - if: ${{ matrix.platform == 'macos' }} - run: PLATFORM=${{ matrix.platform }}_static ./script/travis-script-macos + run: rake test:${{ matrix.platform }}_static swiftpm_darwin: name: SwiftPM, Darwin, Xcode ${{ matrix.xcode }} @@ -49,4 +49,4 @@ jobs: DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app" steps: - uses: actions/checkout@v2 - - run: PLATFORM=swiftpm ./script/travis-script-macos + - run: rake test:swiftpm diff --git a/.travis.yml b/.travis.yml index 31659e5f3..1e10606a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,15 +12,15 @@ jobs: # - XCODE_ACTION="build-for-testing test-without-building" # osx_image: xcode10.1 # script: - # - PLATFORM=macos ./script/travis-script-macos - # - PLATFORM=macos_static ./script/travis-script-macos - # - PLATFORM=ios ./script/travis-script-macos - # - PLATFORM=tvos ./script/travis-script-macos + # - rake test:macos + # - rake test:macos_static + # - rake test:ios + # - rake test:tvos # - &swiftpm_darwin # name: SwiftPM / Darwin / Swift 4.2 # os: osx # osx_image: xcode10.1 - # script: PLATFORM=swiftpm ./script/travis-script-macos + # script: rake test:swiftpm - &swiftpm_linux name: SwiftPM / Linux / Swift 5.2.5 os: linux diff --git a/script/travis-script-macos b/script/travis-script-macos deleted file mode 100755 index ac60f1c68..000000000 --- a/script/travis-script-macos +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env sh - -if [ "$PODSPEC" ]; then - TASK="podspec:lint" -else - TASK="test:$PLATFORM" -fi - -echo "Executing rake task: $TASK" -rake "$TASK" From 13a1551f38eaef191d43de4447445296e134fb51 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sun, 11 Oct 2020 20:33:17 +0900 Subject: [PATCH 14/34] Update Nimble to 9.0.0 --- Externals/Nimble | 2 +- Package.resolved | 4 ++-- Package.swift | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Externals/Nimble b/Externals/Nimble index 2ed9844b9..e491a6731 160000 --- a/Externals/Nimble +++ b/Externals/Nimble @@ -1 +1 @@ -Subproject commit 2ed9844b9267d5d5e82b222c362964dd46825161 +Subproject commit e491a6731307bb23783bf664d003be9b2fa59ab5 diff --git a/Package.resolved b/Package.resolved index 89372de2e..1cdfbcb89 100644 --- a/Package.resolved +++ b/Package.resolved @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/Quick/Nimble.git", "state": { "branch": null, - "revision": "2ed9844b9267d5d5e82b222c362964dd46825161", - "version": "9.0.0-rc.1" + "revision": "e491a6731307bb23783bf664d003be9b2fa59ab5", + "version": "9.0.0" } } ] diff --git a/Package.swift b/Package.swift index d09f56f52..570ed724f 100644 --- a/Package.swift +++ b/Package.swift @@ -11,7 +11,7 @@ let package = Package( .library(name: "Quick", targets: ["Quick"]), ], dependencies: [ - .package(url: "https://github.com/Quick/Nimble.git", from: "9.0.0-rc.1"), + .package(url: "https://github.com/Quick/Nimble.git", from: "9.0.0"), ], targets: { var targets: [Target] = [ From 05bee46309bdb51269f4d6f87704b6537d914f0f Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sun, 11 Oct 2020 20:33:36 +0900 Subject: [PATCH 15/34] Revert "Work around a Nimble compilation error on Swift 5.3" This reverts commit d877dc04c248205cb7a7f337222424644c868c02. --- .../QuickTests/FunctionalTests/AfterEachTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/BeforeEachTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/BehaviorTests.swift | 9 +++++---- .../QuickTests/FunctionalTests/ContextTests.swift | 10 +++++----- .../QuickTests/FunctionalTests/DescribeTests.swift | 6 +++--- .../QuickTests/FunctionalTests/ItTests.swift | 10 +++++----- .../FunctionalTests/SharedExamplesTests.swift | 10 +++++----- 7 files changed, 33 insertions(+), 32 deletions(-) diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift index 0b7b5345b..6e4e70319 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/AfterEachTests.swift @@ -53,12 +53,12 @@ class FunctionalTests_AfterEachSpec: QuickSpec { #if canImport(Darwin) && !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("should throw an exception when including afterEach in it block") { - expect(expression: { + expect { afterEach { } - }).to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'afterEach' cannot be used inside 'it', 'afterEach' may only be used inside 'context' or 'describe'.")) - }) + }.to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'afterEach' cannot be used inside 'it', 'afterEach' may only be used inside 'context' or 'describe'.")) + }) } } #endif diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift index a48f72066..9b5d44e0d 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/BeforeEachTests.swift @@ -38,12 +38,12 @@ class FunctionalTests_BeforeEachSpec: QuickSpec { #if canImport(Darwin) && !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("should throw an exception when including beforeEach in it block") { - expect(expression: { + expect { beforeEach { } - }).to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'beforeEach' cannot be used inside 'it', 'beforeEach' may only be used inside 'context' or 'describe'.")) - }) + }.to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'beforeEach' cannot be used inside 'it', 'beforeEach' may only be used inside 'context' or 'describe'.")) + }) } } #endif diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift index cee452f24..db22bbf1e 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift @@ -22,11 +22,12 @@ class FunctionalTests_BehaviorTests_ErrorSpec: QuickSpec { override func spec() { describe("error handling when misusing ordering") { it("should throw an exception when including itBehavesLike in it block") { - expect(expression: { + expect { itBehavesLike(FunctionalTests_BehaviorTests_Behavior2.self) { () } - }).to(raiseException {(exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) + } + .to(raiseException {(exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) }) } } diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift index 63c3601cf..20d08467d 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/ContextTests.swift @@ -7,12 +7,12 @@ class QuickContextTests: QuickSpec { override func spec() { describe("Context") { it("should throw an exception if used in an it block") { - expect(expression: { + expect { context("A nested context that should throw") { } - }).to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'context' cannot be used inside 'it', 'context' may only be used inside 'context' or 'describe'.")) - }) + }.to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'context' cannot be used inside 'it', 'context' may only be used inside 'context' or 'describe'.")) + }) } } } diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift index 9d8f503d4..7bdeee6fa 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/DescribeTests.swift @@ -12,7 +12,7 @@ final class DescribeTests: XCTestCase, XCTestCaseProvider { } func testDescribeThrowsIfUsedOutsideOfQuickSpec() { - expect(expression: { describe("this should throw an exception", {}) }).to(raiseException()) + expect { describe("this should throw an exception", {}) }.to(raiseException()) } } @@ -20,9 +20,9 @@ class QuickDescribeTests: QuickSpec { override func spec() { describe("Describe") { it("should throw an exception if used in an it block") { - expect(expression: { + expect { describe("A nested describe that should throw") { } - }).to(raiseException { (exception: NSException) in + }.to(raiseException { (exception: NSException) in expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) expect(exception.reason).to(equal("'describe' cannot be used inside 'it', 'describe' may only be used inside 'context' or 'describe'.")) }) diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift index e16d93e84..d04db0dd4 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/ItTests.swift @@ -55,12 +55,12 @@ class FunctionalTests_ItSpec: QuickSpec { #if !SWIFT_PACKAGE describe("error handling when misusing ordering") { it("an it") { - expect(expression: { + expect { it("will throw an error when it is nested in another it") { } - }).to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.")) - }) + }.to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.")) + }) } describe("behavior with an 'it' inside a 'beforeEach'") { diff --git a/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift b/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift index e1164fbf9..63395b3f9 100644 --- a/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift +++ b/Tests/QuickTests/QuickTests/FunctionalTests/SharedExamplesTests.swift @@ -20,12 +20,12 @@ class FunctionalTests_SharedExamples_ErrorSpec: QuickSpec { override func spec() { describe("error handling when misusing ordering") { it("should throw an exception when including itBehavesLike in it block") { - expect(expression: { + expect { itBehavesLike("a group of three shared examples") - }).to(raiseException { (exception: NSException) in - expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) - expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) - }) + }.to(raiseException { (exception: NSException) in + expect(exception.name).to(equal(NSExceptionName.internalInconsistencyException)) + expect(exception.reason).to(equal("'itBehavesLike' cannot be used inside 'it', 'itBehavesLike' may only be used inside 'context' or 'describe'.")) + }) } } } From e58d0df564a7a6d6b3db0f2b19de6042d15fed1b Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sun, 11 Oct 2020 20:48:42 +0900 Subject: [PATCH 16/34] Xcode 12.0: Update to recommended settings --- Quick.xcodeproj/project.pbxproj | 4 +++- .../xcshareddata/xcschemes/Quick-iOS.xcscheme | 24 ++++++++----------- .../xcschemes/Quick-macOS.xcscheme | 2 +- .../xcschemes/Quick-tvOS.xcscheme | 24 ++++++++----------- Sources/QuickObjectiveC/Quick.h | 6 ++--- 5 files changed, 27 insertions(+), 33 deletions(-) diff --git a/Quick.xcodeproj/project.pbxproj b/Quick.xcodeproj/project.pbxproj index 0f145cecc..a43980be3 100644 --- a/Quick.xcodeproj/project.pbxproj +++ b/Quick.xcodeproj/project.pbxproj @@ -1128,7 +1128,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0810; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1200; ORGANIZATIONNAME = "Brian Ivan Gesiak"; TargetAttributes = { 1F118CD41BDCA4AB005013A2 = { @@ -2273,6 +2273,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -2336,6 +2337,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; diff --git a/Quick.xcodeproj/xcshareddata/xcschemes/Quick-iOS.xcscheme b/Quick.xcodeproj/xcshareddata/xcschemes/Quick-iOS.xcscheme index 278b37725..4cf8a275c 100644 --- a/Quick.xcodeproj/xcshareddata/xcschemes/Quick-iOS.xcscheme +++ b/Quick.xcodeproj/xcshareddata/xcschemes/Quick-iOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -73,17 +82,6 @@ - - - - - - - - + + + + @@ -73,17 +82,6 @@ - - - - - - - - +#import +#import From f1d5e0a87649133bacd8b7b3c74ae3dde892a113 Mon Sep 17 00:00:00 2001 From: Nick McConnell Date: Mon, 30 Dec 2019 17:11:38 -0500 Subject: [PATCH 17/34] update docs - mention veiwDidAppear will not be called automatically anymore in iOS SDK 13 --- Documentation/en-us/TestingApps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/en-us/TestingApps.md b/Documentation/en-us/TestingApps.md index 375cb5a2d..d900cd975 100644 --- a/Documentation/en-us/TestingApps.md +++ b/Documentation/en-us/TestingApps.md @@ -15,7 +15,7 @@ presented within the app. When testing a `UIViewController`, however, you'll need to trigger these yourself. You can do so in one of three ways: 1. Accessing `UIViewController.view`, which triggers things like `UIViewController.viewDidLoad()`. -2. Use `UIViewController.beginAppearanceTransition()` to trigger most lifecycle events. +2. Use `UIViewController.beginAppearanceTransition()` and `viewController.endAppearanceTransition()` to trigger most lifecycle events. Note - as of iOS SDK 13.0, this no longer triggers `UIViewController.viewDidAppear()`. 3. Directly calling methods like `UIViewController.viewDidLoad()` or `UIViewController.viewWillAppear()`. ```swift @@ -47,7 +47,7 @@ class BananaViewControllerSpec: QuickSpec { describe("the view") { beforeEach { - // Method #2: Triggers .viewDidLoad(), .viewWillAppear(), and .viewDidAppear() events. + // Method #2: Triggers .viewDidLoad(), .viewWillAppear() events. viewController.beginAppearanceTransition(true, animated: false) viewController.endAppearanceTransition() } @@ -94,7 +94,7 @@ describe(@"-viewDidLoad", ^{ describe(@"the view", ^{ beforeEach(^{ - // Method #2: Triggers .viewDidLoad(), .viewWillAppear(), and .viewDidAppear() events. + // Method #2: Triggers .viewDidLoad(), .viewWillAppear() events. [viewController beginAppearanceTransition:YES animated:NO]; [viewController endAppearanceTransition]; }); From 8514d3a2863aeb593ad7e87bb037d072ff347013 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Fri, 9 Oct 2020 00:41:25 +0900 Subject: [PATCH 18/34] Apply suggestions from code review --- Documentation/en-us/TestingApps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/en-us/TestingApps.md b/Documentation/en-us/TestingApps.md index d900cd975..08749111b 100644 --- a/Documentation/en-us/TestingApps.md +++ b/Documentation/en-us/TestingApps.md @@ -15,7 +15,7 @@ presented within the app. When testing a `UIViewController`, however, you'll need to trigger these yourself. You can do so in one of three ways: 1. Accessing `UIViewController.view`, which triggers things like `UIViewController.viewDidLoad()`. -2. Use `UIViewController.beginAppearanceTransition()` and `viewController.endAppearanceTransition()` to trigger most lifecycle events. Note - as of iOS SDK 13.0, this no longer triggers `UIViewController.viewDidAppear()`. +2. Use `UIViewController.beginAppearanceTransition()` and `UIViewController.endAppearanceTransition()` to trigger most lifecycle events. Note - as of iOS SDK 13.0, this no longer triggers `UIViewController.viewDidAppear()`. 3. Directly calling methods like `UIViewController.viewDidLoad()` or `UIViewController.viewWillAppear()`. ```swift @@ -47,7 +47,7 @@ class BananaViewControllerSpec: QuickSpec { describe("the view") { beforeEach { - // Method #2: Triggers .viewDidLoad(), .viewWillAppear() events. + // Method #2: Triggers .viewDidLoad() and .viewWillAppear() events. viewController.beginAppearanceTransition(true, animated: false) viewController.endAppearanceTransition() } @@ -94,7 +94,7 @@ describe(@"-viewDidLoad", ^{ describe(@"the view", ^{ beforeEach(^{ - // Method #2: Triggers .viewDidLoad(), .viewWillAppear() events. + // Method #2: Triggers .viewDidLoad() and .viewWillAppear() events. [viewController beginAppearanceTransition:YES animated:NO]; [viewController endAppearanceTransition]; }); From b3309445f80c7fbb4cd5c15113f8b960e5e705a4 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sun, 11 Oct 2020 21:00:27 +0900 Subject: [PATCH 19/34] [CI] Fix running Danger on PRs from forked repos --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b90d87ab..fca13cc93 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,8 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 0 - run: bundle install - run: bundle exec danger env: From 0acf5bbb093eca8a3be3377f87c71d988f38e2d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2020 05:46:21 +0000 Subject: [PATCH 20/34] Bump danger from 8.0.5 to 8.0.6 Bumps [danger](https://github.com/danger/danger) from 8.0.5 to 8.0.6. - [Release notes](https://github.com/danger/danger/releases) - [Changelog](https://github.com/danger/danger/blob/master/CHANGELOG.md) - [Commits](https://github.com/danger/danger/compare/8.0.5...8.0.6) Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4468c5a18..b44e45ccc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) - danger (8.0.5) + danger (8.0.6) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) From cd461a978e6477250afb5ad0082c11e75ff749bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Oct 2020 05:43:45 +0000 Subject: [PATCH 21/34] Bump danger from 8.0.6 to 8.1.0 Bumps [danger](https://github.com/danger/danger) from 8.0.6 to 8.1.0. - [Release notes](https://github.com/danger/danger/releases) - [Changelog](https://github.com/danger/danger/blob/master/CHANGELOG.md) - [Commits](https://github.com/danger/danger/compare/8.0.6...8.1.0) Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b44e45ccc..7828eee36 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) - danger (8.0.6) + danger (8.1.0) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -75,8 +75,9 @@ GEM escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) - faraday (1.0.1) + faraday (1.1.0) multipart-post (>= 1.2, < 3) + ruby2_keywords faraday-http-cache (2.2.0) faraday (>= 0.8) ffi (1.13.1) @@ -108,6 +109,7 @@ GEM rchardet (1.8.0) rexml (3.2.4) ruby-macho (1.4.0) + ruby2_keywords (0.0.2) sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) From a2379f5e5145e8ccf4488c2e98600b2636a9bf91 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2020 05:50:54 +0000 Subject: [PATCH 22/34] Bump cocoapods from 1.9.3 to 1.10.0 Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](https://github.com/CocoaPods/CocoaPods/compare/1.9.3...1.10.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Gemfile b/Gemfile index a29354cef..2ea5eabdd 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source "https://rubygems.org" -gem 'cocoapods', '~> 1.9' +gem 'cocoapods', '~> 1.10' gem 'danger' diff --git a/Gemfile.lock b/Gemfile.lock index 7828eee36..3c8e2a1d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,14 +2,14 @@ GEM remote: https://rubygems.org/ specs: CFPropertyList (3.0.2) - activesupport (4.2.11.3) - 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) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.3) + algoliasearch (1.27.4) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) @@ -18,15 +18,14 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.9.3) - activesupport (>= 4.0.2, < 5) + cocoapods (1.10.0) + addressable (~> 2.6) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.3) + 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) @@ -36,21 +35,22 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.3) - 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.4.0) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) - cocoapods-stats (1.1.0) cocoapods-trunk (1.5.0) nap (>= 0.8, < 2.0) netrc (~> 0.11) @@ -87,14 +87,14 @@ GEM git (1.7.0) rchardet (~> 1.8) httpclient (2.8.3) - i18n (0.9.5) + i18n (1.8.5) concurrent-ruby (~> 1.0) json (2.3.1) kramdown (2.3.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - minitest (5.14.1) + minitest (5.14.2) molinillo (0.6.6) multipart-post (2.1.1) nanaimo (0.3.0) @@ -121,7 +121,7 @@ GEM tzinfo (1.2.7) thread_safe (~> 0.1) unicode-display_width (1.7.0) - xcodeproj (1.18.0) + xcodeproj (1.19.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -132,7 +132,7 @@ PLATFORMS ruby DEPENDENCIES - cocoapods (~> 1.9) + cocoapods (~> 1.10) danger BUNDLED WITH From f89d23edeba50cb31fae14c5e32e329bbf83001f Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Fri, 5 Feb 2021 23:41:12 +0900 Subject: [PATCH 23/34] Address deprecation warnings in Xcode 12 https://developer.apple.com/documentation/xctest/xctestcase/3546549-record# --- Sources/Quick/Example.swift | 13 ++++++++++++- Sources/QuickObjectiveC/QuickSpec.m | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Sources/Quick/Example.swift b/Sources/Quick/Example.swift index 7cef7c59d..94d114147 100644 --- a/Sources/Quick/Example.swift +++ b/Sources/Quick/Example.swift @@ -61,7 +61,7 @@ final public class Example: _ExampleBase { Executes the example closure, as well as all before and after closures defined in the its surrounding example groups. */ - public func run() { + public func run() { // swiftlint:disable:this function_body_length let world = World.sharedWorld if world.numberOfExamplesRun == 0 { @@ -90,12 +90,23 @@ final public class Example: _ExampleBase { #else let file = callsite.file #endif + #if swift(>=5.3) && !SWIFT_PACKAGE + let location = XCTSourceCodeLocation(filePath: file, lineNumber: Int(callsite.line)) + let sourceCodeContext = XCTSourceCodeContext(location: location) + let issue = XCTIssue( + type: .thrownError, + compactDescription: description, + sourceCodeContext: sourceCodeContext + ) + QuickSpec.current.record(issue) + #else QuickSpec.current.recordFailure( withDescription: description, inFile: file, atLine: Int(callsite.line), expected: false ) + #endif } group!.phase = .aftersExecuting diff --git a/Sources/QuickObjectiveC/QuickSpec.m b/Sources/QuickObjectiveC/QuickSpec.m index 90ac7c61b..f3d857902 100644 --- a/Sources/QuickObjectiveC/QuickSpec.m +++ b/Sources/QuickObjectiveC/QuickSpec.m @@ -129,6 +129,8 @@ + (SEL)addInstanceMethodForExample:(Example *)example classSelectorNames:(NSMuta return selector; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-implementations" /** This method is used to record failures, whether they represent example expectations that were not met, or exceptions raised during test setup @@ -156,6 +158,7 @@ - (void)recordFailureWithDescription:(NSString *)description atLine:lineNumber expected:expected]; } +#pragma clang diagnostic pop @end From 5df95922aa96408f04462e6e11cd5ed647aaed0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Feb 2021 15:12:44 +0000 Subject: [PATCH 24/34] Bump danger from 8.1.0 to 8.2.2 Bumps [danger](https://github.com/danger/danger) from 8.1.0 to 8.2.2. - [Release notes](https://github.com/danger/danger/releases) - [Changelog](https://github.com/danger/danger/blob/master/CHANGELOG.md) - [Commits](https://github.com/danger/danger/compare/8.1.0...8.2.2) Signed-off-by: dependabot[bot] --- Gemfile.lock | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3c8e2a1d6..1f5dd889d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -59,7 +59,7 @@ GEM concurrent-ruby (1.1.7) cork (0.3.0) colored2 (~> 3.1) - danger (8.1.0) + danger (8.2.2) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -75,16 +75,18 @@ GEM escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) - faraday (1.1.0) + faraday (1.3.0) + faraday-net_http (~> 1.0) multipart-post (>= 1.2, < 3) ruby2_keywords faraday-http-cache (2.2.0) faraday (>= 0.8) + faraday-net_http (1.0.1) ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - git (1.7.0) + git (1.8.1) rchardet (~> 1.8) httpclient (2.8.3) i18n (1.8.5) @@ -101,7 +103,7 @@ GEM nap (1.1.0) netrc (0.11.0) no_proxy_fix (0.1.2) - octokit (4.18.0) + octokit (4.20.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) open4 (1.3.4) @@ -109,7 +111,7 @@ GEM rchardet (1.8.0) rexml (3.2.4) ruby-macho (1.4.0) - ruby2_keywords (0.0.2) + ruby2_keywords (0.0.4) sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) From e5d275d3d700f5709dddda61122dff40f0d63380 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Feb 2021 15:52:16 +0000 Subject: [PATCH 25/34] Bump cocoapods from 1.10.0 to 1.10.1 Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.10.0 to 1.10.1. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](https://github.com/CocoaPods/CocoaPods/compare/1.10.0...1.10.1) Signed-off-by: dependabot[bot] --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1f5dd889d..20744d2ac 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.2) + CFPropertyList (3.0.3) activesupport (5.2.4.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) @@ -9,7 +9,7 @@ GEM tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.4) + algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) @@ -18,10 +18,10 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.10.0) + cocoapods (1.10.1) addressable (~> 2.6) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.10.0) + cocoapods-core (= 1.10.1) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.4.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -36,7 +36,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.19.0, < 2.0) - cocoapods-core (1.10.0) + cocoapods-core (1.10.1) activesupport (> 5.0, < 6) addressable (~> 2.6) algoliasearch (~> 1.0) @@ -56,7 +56,7 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.1.7) + concurrent-ruby (1.1.8) cork (0.3.0) colored2 (~> 3.1) danger (8.2.2) @@ -82,21 +82,21 @@ GEM faraday-http-cache (2.2.0) faraday (>= 0.8) faraday-net_http (1.0.1) - ffi (1.13.1) + ffi (1.14.2) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) git (1.8.1) rchardet (~> 1.8) httpclient (2.8.3) - i18n (1.8.5) + i18n (1.8.8) concurrent-ruby (~> 1.0) - json (2.3.1) + json (2.5.1) kramdown (2.3.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - minitest (5.14.2) + minitest (5.14.3) molinillo (0.6.6) multipart-post (2.1.1) nanaimo (0.3.0) @@ -120,7 +120,7 @@ GEM thread_safe (0.3.6) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.7) + tzinfo (1.2.9) thread_safe (~> 0.1) unicode-display_width (1.7.0) xcodeproj (1.19.0) From a7f330e27b1d0b7511fd7ab17adc5e16b33db11a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Feb 2021 16:02:34 +0000 Subject: [PATCH 26/34] Bump norio-nomura/action-swiftlint from 3.1.0 to 3.2.1 Bumps [norio-nomura/action-swiftlint](https://github.com/norio-nomura/action-swiftlint) from 3.1.0 to 3.2.1. - [Release notes](https://github.com/norio-nomura/action-swiftlint/releases) - [Commits](https://github.com/norio-nomura/action-swiftlint/compare/3.1.0...9f4dcd7fd46b4e75d7935cf2f4df406d5cae3684) Signed-off-by: dependabot[bot] --- .github/workflows/swiftlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml index c10adfe26..520f278b2 100644 --- a/.github/workflows/swiftlint.yml +++ b/.github/workflows/swiftlint.yml @@ -12,4 +12,4 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: norio-nomura/action-swiftlint@3.1.0 + - uses: norio-nomura/action-swiftlint@3.2.1 From e1b358c8de8119c867d4866847e6fe27c22925ee Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 6 Feb 2021 08:41:39 +0900 Subject: [PATCH 27/34] Migrate Linux CI from Travis to GitHub Actions --- .github/workflows/ci.yml | 15 +++++++++++++++ .travis.yml | 41 ---------------------------------------- 2 files changed, 15 insertions(+), 41 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fca13cc93..164911bca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,3 +52,18 @@ jobs: steps: - uses: actions/checkout@v2 - run: rake test:swiftpm + + swiftpm_linux: + name: SwiftPM, Linux + runs-on: ubuntu-latest + strategy: + matrix: + swift_version: [5.2.5, 5.3.3, 5.4-DEVELOPMENT-SNAPSHOT-2021-01-23-a] + fail-fast: false + env: + SWIFT_VERSION: ${{ matrix.swift_version }} + steps: + - uses: actions/checkout@v2 + - name: Install swiftenv + run: eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" + - run: rake test:swiftpm diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 1e10606a4..000000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -branches: - only: - - master - -language: generic -jobs: - include: - # - &xcode - # name: Xcode 10.1 / Swift 4.2 - # os: osx - # env: - # - XCODE_ACTION="build-for-testing test-without-building" - # osx_image: xcode10.1 - # script: - # - rake test:macos - # - rake test:macos_static - # - rake test:ios - # - rake test:tvos - # - &swiftpm_darwin - # name: SwiftPM / Darwin / Swift 4.2 - # os: osx - # osx_image: xcode10.1 - # script: rake test:swiftpm - - &swiftpm_linux - name: SwiftPM / Linux / Swift 5.2.5 - os: linux - env: - - SWIFT_VERSION=5.2.5 - install: eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" - script: rake test:swiftpm - - <<: *swiftpm_linux - name: SwiftPM / Linux / Swift 5.3 Development - env: - - SWIFT_VERSION=5.3-DEVELOPMENT-SNAPSHOT-2020-09-04-a - - <<: *swiftpm_linux - name: SwiftPM / Linux / Swift Development - env: - - SWIFT_VERSION=DEVELOPMENT-SNAPSHOT-2020-08-31-a - -notifications: - email: false From 5f4878f75b1f4d74ffc92b5d580b096f5c3056a1 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 6 Feb 2021 09:01:11 +0900 Subject: [PATCH 28/34] [CI] Use norionomura/swift Docker images for Linux CI https://hub.docker.com/r/norionomura/swift/ --- .github/workflows/ci.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 164911bca..7ba068062 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,12 +58,9 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - swift_version: [5.2.5, 5.3.3, 5.4-DEVELOPMENT-SNAPSHOT-2021-01-23-a] + swift_version: [5.2, 5.3, swift-5.4-branch, nightly] fail-fast: false - env: - SWIFT_VERSION: ${{ matrix.swift_version }} + container: norionomura/swift:${{ matrix.swift_version }} steps: - uses: actions/checkout@v2 - - name: Install swiftenv - run: eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" - - run: rake test:swiftpm + - run: swift test -Xswiftc -suppress-warnings From aad5f662c4428a9bad57d7fef37d744bef6a7374 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Sat, 6 Feb 2021 10:20:22 +0900 Subject: [PATCH 29/34] [SwiftLint] Enable yoda_condition rule https://realm.github.io/SwiftLint/yoda_condition.html --- .swiftlint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 092aa073b..562ee6cfd 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -1,8 +1,11 @@ -disabled_rules: included: - Sources - Tests +disabled_rules: +opt_in_rules: + - yoda_condition + line_length: warning: 160 error: 240 From f42232c2d59518126ccd84e637fe008d96a07b21 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Thu, 17 Sep 2020 21:20:14 +0900 Subject: [PATCH 30/34] Add the umbrella header for QuickObjCRuntime target This is for improving compatibility with the SwiftPM-generated Xcode project. --- Sources/QuickObjCRuntime/include/QuickObjCRuntime.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Sources/QuickObjCRuntime/include/QuickObjCRuntime.h diff --git a/Sources/QuickObjCRuntime/include/QuickObjCRuntime.h b/Sources/QuickObjCRuntime/include/QuickObjCRuntime.h new file mode 100644 index 000000000..65d7a31a0 --- /dev/null +++ b/Sources/QuickObjCRuntime/include/QuickObjCRuntime.h @@ -0,0 +1,5 @@ +#if __has_include("QuickSpecBase.h") +#import "QuickSpecBase.h" +#else +#import +#endif From 301c8e2d1d61c2b03cda8281533316c959a77631 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Wed, 10 Feb 2021 00:37:52 +0900 Subject: [PATCH 31/34] [CI] Use the official Swift Docker images --- .github/workflows/ci.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ba068062..95980cb34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,9 +58,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - swift_version: [5.2, 5.3, swift-5.4-branch, nightly] + container: + - swift:5.2 + - swift:5.3 + - norionomura/swift:swift-5.4-branch # swiftlang/swift:nightly-5.4 is not available yet + - swiftlang/swift:nightly fail-fast: false - container: norionomura/swift:${{ matrix.swift_version }} + container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 + - run: swift build -Xswiftc -suppress-warnings - run: swift test -Xswiftc -suppress-warnings From 49ece804182f8fbcc9362196d6d93062978098a0 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Wed, 10 Feb 2021 01:28:05 +0900 Subject: [PATCH 32/34] [CI] Split ci.yml into dedicated workflows --- .github/workflows/{ci.yml => ci-swiftpm.yml} | 42 ++++++-------------- .github/workflows/ci-xcode.yml | 41 +++++++++++++++++++ .github/workflows/cocoapods.yml | 34 ++++++++++++++++ .github/workflows/danger.yml | 20 ++++++++++ 4 files changed, 108 insertions(+), 29 deletions(-) rename .github/workflows/{ci.yml => ci-swiftpm.yml} (53%) create mode 100644 .github/workflows/ci-xcode.yml create mode 100644 .github/workflows/cocoapods.yml create mode 100644 .github/workflows/danger.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci-swiftpm.yml similarity index 53% rename from .github/workflows/ci.yml rename to .github/workflows/ci-swiftpm.yml index 95980cb34..a065d86b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci-swiftpm.yml @@ -1,4 +1,4 @@ -name: CI +name: CI (SwiftPM) on: push: @@ -9,39 +9,21 @@ on: pull_request: jobs: - cocoapods: - name: CocoaPods Lint & Danger - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - run: bundle install - - run: bundle exec danger - env: - DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: rake podspec:lint - - xcode: - name: Xcode ${{ matrix.xcode }} (${{ matrix.platform }}) - runs-on: macos-latest - strategy: - matrix: - xcode: [11.7, 12] - platform: ["macos", "ios", "tvos"] - fail-fast: false - env: - DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app" + filter: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - - uses: actions/checkout@v2 + - id: skip_check + uses: fkirc/skip-duplicate-actions@v3.3.0 with: - submodules: true - - run: rake test:${{ matrix.platform }} - - if: ${{ matrix.platform == 'macos' }} - run: rake test:${{ matrix.platform }}_static + paths: '[".github/workflows/ci-swiftpm.yml", "Sources/**", "Tests/**", "Package.*"]' + do_not_skip: '["push", "workflow_dispatch", "schedule"]' swiftpm_darwin: name: SwiftPM, Darwin, Xcode ${{ matrix.xcode }} + needs: filter + if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: macos-latest strategy: matrix: @@ -55,6 +37,8 @@ jobs: swiftpm_linux: name: SwiftPM, Linux + needs: filter + if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/ci-xcode.yml b/.github/workflows/ci-xcode.yml new file mode 100644 index 000000000..965a85ba3 --- /dev/null +++ b/.github/workflows/ci-xcode.yml @@ -0,0 +1,41 @@ +name: CI (Xcode) + +on: + push: + branches: + - master + tags: + - "*" + pull_request: + +jobs: + filter: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v3.3.0 + with: + paths: '[".github/workflows/ci-xcode.yml", "Externals", "Quick.xc*", "Sources/**", "Tests/**", "Rakefile"]' + do_not_skip: '["push", "workflow_dispatch", "schedule"]' + + xcode: + name: Xcode ${{ matrix.xcode }} (${{ matrix.platform }}) + needs: filter + if: ${{ needs.filter.outputs.should_skip != 'true' }} + runs-on: macos-latest + strategy: + matrix: + xcode: [11.7, 12] + platform: ["macos", "ios", "tvos"] + fail-fast: false + env: + DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app" + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: rake test:${{ matrix.platform }} + - if: ${{ matrix.platform == 'macos' }} + run: rake test:${{ matrix.platform }}_static diff --git a/.github/workflows/cocoapods.yml b/.github/workflows/cocoapods.yml new file mode 100644 index 000000000..589b1d972 --- /dev/null +++ b/.github/workflows/cocoapods.yml @@ -0,0 +1,34 @@ +name: CocoaPods + +on: + push: + branches: + - master + tags: + - "*" + pull_request: + +jobs: + filter: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v3.3.0 + with: + paths: '[".github/workflows/cocoapods.yml", "Quick.podspec", "Sources/**", "Gemfile*", "Rakefile"]' + do_not_skip: '["push", "workflow_dispatch", "schedule"]' + + cocoapods: + name: CocoaPods Lint + needs: filter + if: ${{ needs.filter.outputs.should_skip != 'true' }} + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - run: rake podspec:lint diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml new file mode 100644 index 000000000..5dbfe7e1f --- /dev/null +++ b/.github/workflows/danger.yml @@ -0,0 +1,20 @@ +name: Danger + +on: + pull_request: + +jobs: + danger: + name: Danger + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - run: bundle exec danger + env: + DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 70f34291f2bfa36ee7579601ba58cb88ade8bad0 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Wed, 10 Feb 2021 09:26:05 +0900 Subject: [PATCH 33/34] Tweak CI workflows regarding fkirc/skip-duplicate-actions and matrix testing --- .github/workflows/ci-swiftpm.yml | 7 +++++-- .github/workflows/ci-xcode.yml | 7 ++++--- .github/workflows/cocoapods.yml | 4 +++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-swiftpm.yml b/.github/workflows/ci-swiftpm.yml index a065d86b8..c6ed3b865 100644 --- a/.github/workflows/ci-swiftpm.yml +++ b/.github/workflows/ci-swiftpm.yml @@ -23,7 +23,6 @@ jobs: swiftpm_darwin: name: SwiftPM, Darwin, Xcode ${{ matrix.xcode }} needs: filter - if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: macos-latest strategy: matrix: @@ -33,12 +32,13 @@ jobs: DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app" steps: - uses: actions/checkout@v2 + if: ${{ needs.filter.outputs.should_skip != 'true' }} - run: rake test:swiftpm + if: ${{ needs.filter.outputs.should_skip != 'true' }} swiftpm_linux: name: SwiftPM, Linux needs: filter - if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: ubuntu-latest strategy: matrix: @@ -51,5 +51,8 @@ jobs: container: ${{ matrix.container }} steps: - uses: actions/checkout@v2 + if: ${{ needs.filter.outputs.should_skip != 'true' }} - run: swift build -Xswiftc -suppress-warnings + if: ${{ needs.filter.outputs.should_skip != 'true' }} - run: swift test -Xswiftc -suppress-warnings + if: ${{ needs.filter.outputs.should_skip != 'true' }} diff --git a/.github/workflows/ci-xcode.yml b/.github/workflows/ci-xcode.yml index 965a85ba3..0754a1f0d 100644 --- a/.github/workflows/ci-xcode.yml +++ b/.github/workflows/ci-xcode.yml @@ -23,7 +23,6 @@ jobs: xcode: name: Xcode ${{ matrix.xcode }} (${{ matrix.platform }}) needs: filter - if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: macos-latest strategy: matrix: @@ -36,6 +35,8 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + if: ${{ needs.filter.outputs.should_skip != 'true' }} - run: rake test:${{ matrix.platform }} - - if: ${{ matrix.platform == 'macos' }} - run: rake test:${{ matrix.platform }}_static + if: ${{ needs.filter.outputs.should_skip != 'true' }} + - run: rake test:${{ matrix.platform }}_static + if: ${{ needs.filter.outputs.should_skip != 'true' && matrix.platform == 'macos' }} diff --git a/.github/workflows/cocoapods.yml b/.github/workflows/cocoapods.yml index 589b1d972..e426e9b94 100644 --- a/.github/workflows/cocoapods.yml +++ b/.github/workflows/cocoapods.yml @@ -23,12 +23,14 @@ jobs: cocoapods: name: CocoaPods Lint needs: filter - if: ${{ needs.filter.outputs.should_skip != 'true' }} runs-on: macos-latest steps: - uses: actions/checkout@v2 + if: ${{ needs.filter.outputs.should_skip != 'true' }} - uses: ruby/setup-ruby@v1 with: ruby-version: 2.7 bundler-cache: true + if: ${{ needs.filter.outputs.should_skip != 'true' }} - run: rake podspec:lint + if: ${{ needs.filter.outputs.should_skip != 'true' }} From 32e79b04f674a3a969624e4a0c1dbdac7c8f08f0 Mon Sep 17 00:00:00 2001 From: IKEDA Sho Date: Tue, 2 Mar 2021 23:06:14 +0900 Subject: [PATCH 34/34] Rename master branch to main --- .github/ISSUE_TEMPLATE | 2 +- .github/workflows/ci-swiftpm.yml | 2 +- .github/workflows/ci-xcode.yml | 2 +- .github/workflows/cocoapods.yml | 2 +- CONTRIBUTING.md | 4 ++-- Documentation/en-us/InstallingQuick.md | 6 +++--- Documentation/ja/InstallingQuick.md | 6 +++--- Documentation/ko-kr/InstallingQuick.md | 6 +++--- Documentation/zh-cn/InstallingQuick.md | 4 ++-- README.md | 2 +- script/release | 2 +- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE index 5a6346fa7..9f601e9ab 100644 --- a/.github/ISSUE_TEMPLATE +++ b/.github/ISSUE_TEMPLATE @@ -1,4 +1,4 @@ -- [ ] I have read [CONTRIBUTING](https://github.com/Quick/Quick/blob/master/CONTRIBUTING.md) and have done my best to follow them. +- [ ] I have read [CONTRIBUTING](https://github.com/Quick/Quick/blob/main/CONTRIBUTING.md) and have done my best to follow them. ### What did you do? diff --git a/.github/workflows/ci-swiftpm.yml b/.github/workflows/ci-swiftpm.yml index c6ed3b865..a41597d85 100644 --- a/.github/workflows/ci-swiftpm.yml +++ b/.github/workflows/ci-swiftpm.yml @@ -3,7 +3,7 @@ name: CI (SwiftPM) on: push: branches: - - master + - main tags: - "*" pull_request: diff --git a/.github/workflows/ci-xcode.yml b/.github/workflows/ci-xcode.yml index 0754a1f0d..bb9894b6e 100644 --- a/.github/workflows/ci-xcode.yml +++ b/.github/workflows/ci-xcode.yml @@ -3,7 +3,7 @@ name: CI (Xcode) on: push: branches: - - master + - main tags: - "*" pull_request: diff --git a/.github/workflows/cocoapods.yml b/.github/workflows/cocoapods.yml index e426e9b94..e4a250df3 100644 --- a/.github/workflows/cocoapods.yml +++ b/.github/workflows/cocoapods.yml @@ -3,7 +3,7 @@ name: CocoaPods on: push: branches: - - master + - main tags: - "*" pull_request: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a57b74c68..5e832553d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -59,7 +59,7 @@ Be sure to include in your issue: - Be sure the unit tests for both the OS X and iOS targets of both Quick and Nimble pass before submitting your pull request. You can run all the iOS and OS X unit tests using `rake`. -- The `master` branch will always support the stable Xcode version. Other +- The `main` branch will always support the stable Xcode version. Other branches will point to their corresponding versions they support. - If you're making a configuration change, make sure to edit both the xcode project and the podspec file. @@ -81,7 +81,7 @@ to the repository. Your conduct as a core member is your own responsibility, but here are some "ground rules": -- Feel free to push whatever you want to master, and (if you have +- Feel free to push whatever you want to main, and (if you have ownership permissions) to create any repositories you'd like. Ideally, however, all changes should be submitted as GitHub pull diff --git a/Documentation/en-us/InstallingQuick.md b/Documentation/en-us/InstallingQuick.md index 55c19d65d..79041721a 100644 --- a/Documentation/en-us/InstallingQuick.md +++ b/Documentation/en-us/InstallingQuick.md @@ -55,12 +55,12 @@ Do the same for the `Nimble.framework`, and you're done! **Updating the Submodules:** If you ever want to update the Quick or Nimble submodules to latest version, enter the Quick directory -and pull from the master repository: +and pull from the main repository: ```sh cd /path/to/your/project/Vendor/Quick -git checkout master -git pull --rebase origin master +git checkout main +git pull --rebase origin main ``` Your Git repository will track changes to submodules. You'll want to diff --git a/Documentation/ja/InstallingQuick.md b/Documentation/ja/InstallingQuick.md index 88182e46e..a2848bd00 100644 --- a/Documentation/ja/InstallingQuick.md +++ b/Documentation/ja/InstallingQuick.md @@ -50,12 +50,12 @@ git submodule update --init --recursive `Nimble.framework` も同様に追加してください。これで完了です! -**Submodules をアップデートする:** Quick と Nimble を最新バージョンにアップデートしたい場合は Quick ディレクトリに入って master リポジトリから pull してください。 +**Submodules をアップデートする:** Quick と Nimble を最新バージョンにアップデートしたい場合は Quick ディレクトリに入って main リポジトリから pull してください。 ```sh cd /path/to/your/project/Vendor/Quick -git checkout master -git pull --rebase origin master +git checkout main +git pull --rebase origin main ``` あなたのプロジェクトの Git リポジトリは submodule の変更もトラッキングしているので Quick submodules の更新を commit しておきます。 diff --git a/Documentation/ko-kr/InstallingQuick.md b/Documentation/ko-kr/InstallingQuick.md index 70bb1afda..0a743dfc7 100644 --- a/Documentation/ko-kr/InstallingQuick.md +++ b/Documentation/ko-kr/InstallingQuick.md @@ -44,12 +44,12 @@ git submodule update --init --recursive `Nimble.framework`도 위와 같이 추가하면 끝입니다! -**서브 모듈 업데이트하기:** Quick이나 Nimble 서브 모듈을 마지막 버전으로 업데이트하기 원한다면, Quick 디렉터리로 들어가서 master 레퍼지토리를 pull 하세요: +**서브 모듈 업데이트하기:** Quick이나 Nimble 서브 모듈을 마지막 버전으로 업데이트하기 원한다면, Quick 디렉터리로 들어가서 main 레퍼지토리를 pull 하세요: ```sh cd /path/to/your/project/Vendor/Quick -git checkout master -git pull --rebase origin master +git checkout main +git pull --rebase origin main ``` 당신의 Git 레퍼지토리는 서브 모듈의 변화를 트래킹할 것입니다. 당신은 Quick 서브 모듈을 업데이트했다는 것을 커밋하기 원할 것입니다. diff --git a/Documentation/zh-cn/InstallingQuick.md b/Documentation/zh-cn/InstallingQuick.md index 78f2dfeec..1a3d73bc8 100644 --- a/Documentation/zh-cn/InstallingQuick.md +++ b/Documentation/zh-cn/InstallingQuick.md @@ -50,8 +50,8 @@ git submodule update --init --recursive ```sh cd /path/to/your/project/Vendor/Quick -git checkout master -git pull --rebase origin master +git checkout main +git pull --rebase origin main ``` 你的 Git 仓库会自动同步更改到子模块中。如果你想确保已经更新了 Quick 子模块,那么可以这样: diff --git a/README.md b/README.md index fc257da67..1394363e8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![](http://f.cl.ly/items/0r1E192C1R0b2g2Q3h2w/QuickLogo_Color.png) -[![Build Status](https://travis-ci.org/Quick/Quick.svg?branch=master)](https://travis-ci.org/Quick/Quick) +[![Build Status](https://github.com/Quick/Quick/actions/workflows/ci-xcode.yml/badge.svg)](https://github.com/Quick/Quick/actions/workflows/ci-xcode.yml) [![CocoaPods](https://img.shields.io/cocoapods/v/Quick.svg)](https://cocoapods.org/pods/Quick) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) diff --git a/script/release b/script/release index 77ff6c8e1..e4f38379e 100755 --- a/script/release +++ b/script/release @@ -1,5 +1,5 @@ #!/usr/bin/env sh -REMOTE_BRANCH=master +REMOTE_BRANCH=main POD_NAME=Quick PODSPEC=Quick.podspec