From bf9b92acd564384d535135c8f25ba182448f45a0 Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Mon, 9 Dec 2019 16:12:20 +0000 Subject: [PATCH 1/7] Add support for foundation networking --- OctoKit/Configuration.swift | 11 ++++++++++- OctoKit/Follow.swift | 3 +++ OctoKit/Gist.swift | 3 +++ OctoKit/Issue.swift | 3 +++ OctoKit/Label.swift | 3 +++ OctoKit/PublicKey.swift | 3 +++ OctoKit/PullRequest.swift | 3 +++ OctoKit/Repositories.swift | 3 +++ OctoKit/Stars.swift | 3 +++ OctoKit/User.swift | 3 +++ 10 files changed, 37 insertions(+), 1 deletion(-) diff --git a/OctoKit/Configuration.swift b/OctoKit/Configuration.swift index 51071e8c..fee73bfa 100644 --- a/OctoKit/Configuration.swift +++ b/OctoKit/Configuration.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif public let githubBaseURL = "https://api.github.com" public let githubWebURL = "https://github.com" @@ -126,7 +129,13 @@ enum OAuthRouter: Router { } } - var URLRequest: Foundation.URLRequest? { +#if canImport(FoundationNetworking) + typealias FoundationURLRequestType = FoundationNetworking.URLRequest +#else + typealias FoundationURLRequestType = Foundation.URLRequest +#endif + + var URLRequest: FoundationURLRequestType? { switch self { case .authorize(let config): let url = URL(string: path, relativeTo: URL(string: config.webEndpoint)!) diff --git a/OctoKit/Follow.swift b/OctoKit/Follow.swift index 33da5281..ef90155a 100644 --- a/OctoKit/Follow.swift +++ b/OctoKit/Follow.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif public extension Octokit { diff --git a/OctoKit/Gist.swift b/OctoKit/Gist.swift index 920d35dd..52472fbf 100644 --- a/OctoKit/Gist.swift +++ b/OctoKit/Gist.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // MARK: model diff --git a/OctoKit/Issue.swift b/OctoKit/Issue.swift index dfbd30f3..b53a2b99 100644 --- a/OctoKit/Issue.swift +++ b/OctoKit/Issue.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // MARK: model diff --git a/OctoKit/Label.swift b/OctoKit/Label.swift index aecc3e50..0bb966e3 100644 --- a/OctoKit/Label.swift +++ b/OctoKit/Label.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif open class Label: Codable { open var url: URL? diff --git a/OctoKit/PublicKey.swift b/OctoKit/PublicKey.swift index fca0a08f..7962c6c9 100644 --- a/OctoKit/PublicKey.swift +++ b/OctoKit/PublicKey.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // MARK: request diff --git a/OctoKit/PullRequest.swift b/OctoKit/PullRequest.swift index 5eb2c74a..479ac3b0 100644 --- a/OctoKit/PullRequest.swift +++ b/OctoKit/PullRequest.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif open class PullRequest: Codable { private(set) open var id: Int = -1 diff --git a/OctoKit/Repositories.swift b/OctoKit/Repositories.swift index 46f8a78a..e14f1900 100644 --- a/OctoKit/Repositories.swift +++ b/OctoKit/Repositories.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // MARK: model open class Repository: Codable { diff --git a/OctoKit/Stars.swift b/OctoKit/Stars.swift index 6b724632..33841e96 100644 --- a/OctoKit/Stars.swift +++ b/OctoKit/Stars.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif public extension Octokit { diff --git a/OctoKit/User.swift b/OctoKit/User.swift index 4ae8303c..033f6fb8 100644 --- a/OctoKit/User.swift +++ b/OctoKit/User.swift @@ -1,5 +1,8 @@ import Foundation import RequestKit +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif // MARK: model open class User: Codable { From 844c7ad586e562c7998d9e07945766019cb6ab6b Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Mon, 9 Dec 2019 16:19:29 +0000 Subject: [PATCH 2/7] Fix the tests on Swift 5.1 --- Tests/OctoKitTests/OctoKitURLTestSession.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tests/OctoKitTests/OctoKitURLTestSession.swift b/Tests/OctoKitTests/OctoKitURLTestSession.swift index 490c0e06..3b75007b 100644 --- a/Tests/OctoKitTests/OctoKitURLTestSession.swift +++ b/Tests/OctoKitTests/OctoKitURLTestSession.swift @@ -1,5 +1,8 @@ import RequestKit import XCTest +#if canImport(FoundationNetworking) +import FoundationNetworking +#endif class MockURLSessionDataTask: URLSessionDataTaskProtocol { fileprivate (set) var resumeWasCalled = false From 9e3d2a23e2636a06363be5c3528e416a1830ec3f Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Mon, 9 Dec 2019 16:19:44 +0000 Subject: [PATCH 3/7] Add extra test matrix for 5.1 on linux --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 120c597f..f75a3e20 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,10 @@ matrix: sudo: required dist: trusty env: SWIFT_VERSION=4.2 + - os: linux + sudo: required + dist: trusty + env: SWIFT_VERSION=5.1 before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./Script/travis-install-linux; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./Script/travis-install-macos; fi From 6c02eeccf813559d48ffdffbef5c2f5163bd24ff Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Tue, 10 Dec 2019 13:57:58 +0000 Subject: [PATCH 4/7] Switch to Xcode10 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f75a3e20..41d1d933 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: generic -osx_image: xcode9.2 +osx_image: xcode10.2 sudo: false env: global: From bf995c0a177cb857a4d00722e044c455f7c7821b Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Tue, 10 Dec 2019 18:57:28 +0000 Subject: [PATCH 5/7] Don't install bundler --- Script/travis-install-macos | 1 - 1 file changed, 1 deletion(-) diff --git a/Script/travis-install-macos b/Script/travis-install-macos index ad59d3da..ab2a7f60 100755 --- a/Script/travis-install-macos +++ b/Script/travis-install-macos @@ -1,4 +1,3 @@ #!/usr/bin/env sh -sudo gem install bundler bundle install make install \ No newline at end of file From 34a3aa472315fe08cf92b638ef0fc52609ccf081 Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Tue, 10 Dec 2019 19:51:46 +0000 Subject: [PATCH 6/7] Update fastlane configurations --- .travis.yml | 4 ++-- fastlane/.env.default | 6 +++--- fastlane/.env.ios12_2 | 3 +++ fastlane/.env.ios93 | 3 --- fastlane/{.env.tvos92 => .env.tvos12_2} | 0 5 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 fastlane/.env.ios12_2 delete mode 100644 fastlane/.env.ios93 rename fastlane/{.env.tvos92 => .env.tvos12_2} (100%) diff --git a/.travis.yml b/.travis.yml index 41d1d933..e3a0ce6a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,9 +11,9 @@ matrix: - os: osx env: FASTLANE_LANE=code_coverage FASTLANE_ENV=default - os: osx - env: FASTLANE_ENV=ios93 + env: FASTLANE_ENV=ios12_2 - os: osx - env: FASTLANE_ENV=tvos92 + env: FASTLANE_ENV=tvos12_2 - os: osx env: FASTLANE_ENV=osx - os: linux diff --git a/fastlane/.env.default b/fastlane/.env.default index 72237e49..206bd8e1 100644 --- a/fastlane/.env.default +++ b/fastlane/.env.default @@ -1,6 +1,6 @@ -AF_IOS_SDK=iphonesimulator11.2 -AF_MAC_SDK=macosx10.13 -AF_TVOS_SDK=appletvsimulator11.2 +AF_IOS_SDK=iphonesimulator12.2 +AF_MAC_SDK=macosx10.14 +AF_TVOS_SDK=appletvsimulator12.2 AF_CONFIGURATION=Release diff --git a/fastlane/.env.ios12_2 b/fastlane/.env.ios12_2 new file mode 100644 index 00000000..f5c776fe --- /dev/null +++ b/fastlane/.env.ios12_2 @@ -0,0 +1,3 @@ +SCAN_DEVICE="iPhone 8" +SCAN_SDK=$AF_IOS_SDK +EXAMPLE_DESTINATION="platform=iOS Simulator,name=iPhone 8" diff --git a/fastlane/.env.ios93 b/fastlane/.env.ios93 deleted file mode 100644 index ef3ef60e..00000000 --- a/fastlane/.env.ios93 +++ /dev/null @@ -1,3 +0,0 @@ -SCAN_DEVICE="iPhone 6s" -SCAN_SDK=iphonesimulator11.2 -EXAMPLE_DESTINATION="platform=iOS Simulator,name=iPhone 6s" diff --git a/fastlane/.env.tvos92 b/fastlane/.env.tvos12_2 similarity index 100% rename from fastlane/.env.tvos92 rename to fastlane/.env.tvos12_2 From 11493932872a16a044f70a3519881760f1e5d6bc Mon Sep 17 00:00:00 2001 From: Ell Neal Date: Sat, 14 Dec 2019 09:55:27 +0000 Subject: [PATCH 7/7] Remove deploy_podspec from env to prevent linting --- fastlane/.env.default | 1 - 1 file changed, 1 deletion(-) diff --git a/fastlane/.env.default b/fastlane/.env.default index 206bd8e1..716df225 100644 --- a/fastlane/.env.default +++ b/fastlane/.env.default @@ -7,7 +7,6 @@ AF_CONFIGURATION=Release SCAN_SCHEME=$AF_IOS_FRAMEWORK_SCHEME SCAN_SDK=$AF_IOS_SDK SCAN_OUTPUT_DIRECTORY=fastlane/test-output -DEPLOY_PODSPEC=OctoKit.swift.podspec EXAMPLE_WORKSPACE=$AF_WORKSPACE EXAMPLE_SCHEME=$AF_IOS_EXAMPLE_SCHEME