diff --git a/.travis.yml b/.travis.yml index a3ae7e3..505b5bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,15 @@ os: language: generic sudo: required dist: trusty -osx_image: xcode10.2 +osx_image: xcode12.2 env: - - BUILD="pushd Examples && pod repo update && pod install && set -o pipefail && (xcodebuild -workspace Examples.xcworkspace -scheme Example -destination 'platform=iOS Simulator,name=iPhone 7' build) | xcpretty" + - BUILD="pushd Examples && pod repo update && pod install && set -o pipefail && (xcodebuild -workspace Examples.xcworkspace -scheme Example -destination 'platform=iOS Simulator,name=iPhone 12' build) | xcpretty" - BUILD="pod repo update && pod lib lint RxFeedback.podspec --verbose" - BUILD="swift build" - - BUILD="carthage update --platform ios && carthage build --no-skip-current --platform iOS && set -o pipefail && (xcodebuild -project RxFeedback.xcodeproj -scheme RxFeedbackTests -destination 'platform=iOS Simulator,name=iPhone 7' test) | xcpretty" - - BUILD="carthage update --platform tvOS && carthage build --no-skip-current --platform tvOS" + + # Carthage is still broken for Xcode 12, until support for XCFrameworks is added + # - BUILD="carthage update --platform ios && carthage build --no-skip-current --platform iOS && set -o pipefail && (xcodebuild -project RxFeedback.xcodeproj -scheme RxFeedbackTests -destination 'platform=iOS Simulator,name=iPhone 7' test) | xcpretty" + # - BUILD="carthage update --platform tvOS && carthage build --no-skip-current --platform tvOS" script: eval "${BUILD}" diff --git a/Examples/Examples.xcworkspace/contents.xcworkspacedata b/Examples/Examples.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..0a69e11 --- /dev/null +++ b/Examples/Examples.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Examples/Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Examples/Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Examples/Examples/GithubPaginatedSearch.swift b/Examples/Examples/GithubPaginatedSearch.swift index 11cb1de..f71ab9c 100644 --- a/Examples/Examples/GithubPaginatedSearch.swift +++ b/Examples/Examples/GithubPaginatedSearch.swift @@ -220,7 +220,7 @@ extension URLSession { .response(request: URLRequest(url: resource)) .retry(3) .map(Repository.parse) - .retryWhen { errorTrigger in + .retry(when: { errorTrigger in return errorTrigger.enumerated().flatMap { (attempt, error) -> Observable in if attempt >= maxAttempts - 1 { return Observable.error(error) @@ -229,7 +229,7 @@ extension URLSession { return Observable .timer(.milliseconds((attempt + 1) * 1000), scheduler: MainScheduler.instance).take(1) } - } + }) } } diff --git a/Examples/Examples/Todo+UI.swift b/Examples/Examples/Todo+UI.swift index 63bcedc..92e3df5 100644 --- a/Examples/Examples/Todo+UI.swift +++ b/Examples/Examples/Todo+UI.swift @@ -28,7 +28,7 @@ class TodoViewController: UIViewController { // this dependency would be ideally injected in some way let synchronize: (Task) -> Single = { task in return Single.create { single in - let state: SingleEvent = arc4random_uniform(3) != 0 ? .success(.success) : .error(SystemError("")) + let state: SingleEvent = arc4random_uniform(3) != 0 ? .success(.success) : .failure(SystemError("")) single(state) return Disposables.create() } diff --git a/Examples/Podfile.lock b/Examples/Podfile.lock new file mode 100644 index 0000000..4db28e8 --- /dev/null +++ b/Examples/Podfile.lock @@ -0,0 +1,33 @@ +PODS: + - RxCocoa (6.0.0): + - RxRelay (= 6.0.0) + - RxSwift (= 6.0.0) + - RxFeedback (4.0.0): + - RxCocoa (~> 6.0) + - RxSwift (~> 6.0) + - RxRelay (6.0.0): + - RxSwift (= 6.0.0) + - RxSwift (6.0.0) + +DEPENDENCIES: + - RxFeedback (from `..`) + +SPEC REPOS: + trunk: + - RxCocoa + - RxRelay + - RxSwift + +EXTERNAL SOURCES: + RxFeedback: + :path: ".." + +SPEC CHECKSUMS: + RxCocoa: 3f79328fafa3645b34600f37c31e64c73ae3a80e + RxFeedback: c762a59b678ed8e30b5c84b6e4e03ad0341d2ecb + RxRelay: 8d593be109c06ea850df027351beba614b012ffb + RxSwift: c14e798c59b9f6e9a2df8fd235602e85cc044295 + +PODFILE CHECKSUM: 1c64147e23f9070efe02f93aa36b8029d82c504e + +COCOAPODS: 1.10.0 diff --git a/RxFeedback.podspec b/RxFeedback.podspec index e703ee8..416d2c2 100644 --- a/RxFeedback.podspec +++ b/RxFeedback.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RxFeedback" - s.version = "3.0.0" + s.version = "4.0.0" s.summary = "Simplest architecture for RxSwift. State + feedback loops." s.description = <<-DESC * Straightforward