diff --git a/.circleci/config.yml b/.circleci/config.yml index 6e897fc3..bba0acbd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ jobs: XCODE_TEST_REPORTS: /tmp/xcode-test-results LANG: en_US.UTF-8 macos: - xcode: '9.4.0' + xcode: '10.2.0' steps: - checkout - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS $XCODE_TEST_REPORTS @@ -42,7 +42,7 @@ jobs: environment: LANG: en_US.UTF-8 macos: - xcode: '9.2.0' + xcode: '10.2.0' steps: - checkout - run: diff --git a/.gitignore b/.gitignore index 2f758865..b320a363 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ profile DerivedData *.hmap *.ipa +*.o # Bundler .bundle diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a544f94..e51093ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,21 @@ Changelog ========= -master +5.0.0 ----- +- Update to RxSwift 5.0. +- Requires the Swift 5 compiler (Xcode 10.2 and up).i - added `partition(_:)` operator - added `bufferWithTrigger` operator - added `fromAsync` operator for `Single` +4.0.0 +------ +Version 4.x has been skipped to align with RxSwift versioning. + +RxSwiftExt 5.x supports Swift 5.x +RxSwiftExt 3.x supports Swift 4.x + 3.4.0 ----- - Fix `withUnretained` so it allows proper destructuring diff --git a/Cartfile b/Cartfile index 4cb3fb31..6a8bfd62 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "ReactiveX/RxSwift" ~> 4.0 +github "ReactiveX/RxSwift" ~> 5.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index ce434dc6..b751e3d5 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "ReactiveX/RxSwift" "4.4.0" +github "ReactiveX/RxSwift" "5.0.1" diff --git a/Readme.md b/Readme.md index cf10bf36..6e10c1bc 100644 --- a/Readme.md +++ b/Readme.md @@ -10,17 +10,16 @@ If you're using [RxSwift](https://github.com/ReactiveX/RxSwift), you may have en Installation =========== -This branch of RxSwiftExt targets Swift 4.x and RxSwift 4.0.0 or later. +This branch of RxSwiftExt targets Swift 5.x and RxSwift 5.0.0 or later. -* If you're looking for the Swift 3 version of RxSwiftExt, please use version `2.5.1` of the framework. -* If your project is running on Swift 2.x, please use version `1.2` of the framework. +* If you're looking for the Swift 4 version of RxSwiftExt, please use version `3.4.0` of the framework. #### CocoaPods -Using Swift 4: +Add to your `Podfile`: ```ruby -pod 'RxSwiftExt' +pod 'RxSwiftExt', '~> 5' ``` This will install both the `RxSwift` and `RxCocoa` extensions. @@ -30,16 +29,10 @@ If you're interested in only installing the `RxSwift` extensions, without the `R pod 'RxSwiftExt/Core' ``` -Using Swift 3: - -```ruby -pod 'RxSwiftExt', '2.5.1' -``` - -If you use Swift 2.x: +Using Swift 4: ```ruby -pod 'RxSwiftExt', '1.2' +pod 'RxSwiftExt', '~> 3' ``` #### Carthage @@ -653,6 +646,6 @@ slider.rx.value.map(CGFloat.init) ``` ## License -This library belongs to _RxSwiftCommunity_. +This library belongs to _RxSwift Community_. RxSwiftExt is available under the MIT license. See the LICENSE file for more info. diff --git a/RxSwiftExt.podspec b/RxSwiftExt.podspec index b4f23454..6832fefb 100644 --- a/RxSwiftExt.podspec +++ b/RxSwiftExt.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RxSwiftExt" - s.version = "3.4.0" + s.version = "5.0.0" s.summary = "RxSwift operators not found in the core distribtion" s.description = <<-DESC A collection of operators for RxSwift adding commonly requested operations not found in the core distribution @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '8.0' s.osx.deployment_target = '10.10' - s.watchos.deployment_target = '2.0' + s.watchos.deployment_target = '3.0' s.tvos.deployment_target = '9.0' s.source = { :git => "https://github.com/RxSwiftCommunity/RxSwiftExt.git", :tag => s.version } @@ -20,13 +20,13 @@ Pod::Spec.new do |s| s.subspec "Core" do |cs| cs.source_files = "Source/RxSwift", "Source/Tools" cs.frameworks = "Foundation" - cs.dependency "RxSwift", '~> 4.0' + cs.dependency "RxSwift", '~> 5.0' end s.subspec "RxCocoa" do |co| co.source_files = "Source/RxCocoa" co.frameworks = "Foundation" - co.dependency "RxCocoa", '~> 4.0' + co.dependency "RxCocoa", '~> 5.0' co.dependency "RxSwiftExt/Core" end end diff --git a/RxSwiftExt.xcodeproj/project.pbxproj b/RxSwiftExt.xcodeproj/project.pbxproj index 950d06ab..669670d3 100644 --- a/RxSwiftExt.xcodeproj/project.pbxproj +++ b/RxSwiftExt.xcodeproj/project.pbxproj @@ -162,6 +162,7 @@ A23E149321A9F73500CD5B2F /* PartitionTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A23E149221A9F73500CD5B2F /* PartitionTests+RxCocoa.swift */; }; A23E149421A9F73500CD5B2F /* PartitionTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A23E149221A9F73500CD5B2F /* PartitionTests+RxCocoa.swift */; }; A23E149521A9F73500CD5B2F /* PartitionTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A23E149221A9F73500CD5B2F /* PartitionTests+RxCocoa.swift */; }; + A2A68C992278AF6800586188 /* RxRelay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A68C972278AF5000586188 /* RxRelay.framework */; }; B69B45492190C27D00F30418 /* count.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69B45482190C27D00F30418 /* count.swift */; }; B69B454A2190C3AE00F30418 /* count.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69B45482190C27D00F30418 /* count.swift */; }; B69B454B2190C3AF00F30418 /* count.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69B45482190C27D00F30418 /* count.swift */; }; @@ -358,6 +359,7 @@ A23E148A21A9F03600CD5B2F /* partition+RxCocoa.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "partition+RxCocoa.swift"; sourceTree = ""; }; A23E148E21A9F10D00CD5B2F /* PartitionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PartitionTests.swift; sourceTree = ""; }; A23E149221A9F73500CD5B2F /* PartitionTests+RxCocoa.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PartitionTests+RxCocoa.swift"; sourceTree = ""; }; + A2A68C972278AF5000586188 /* RxRelay.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxRelay.framework; path = Carthage/Build/iOS/RxRelay.framework; sourceTree = ""; }; B69B45482190C27D00F30418 /* count.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = count.swift; sourceTree = ""; }; B69B454C2190C3BC00F30418 /* CountTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountTests.swift; sourceTree = ""; }; BF515CDF1F3F370600492640 /* curry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = curry.swift; path = Source/Tools/curry.swift; sourceTree = SOURCE_ROOT; }; @@ -393,6 +395,7 @@ buildActionMask = 2147483647; files = ( 3D638E1D1DC2B36A0089A590 /* RxSwift.framework in Frameworks */, + A2A68C992278AF6800586188 /* RxRelay.framework in Frameworks */, 3D638DEC1DC2B2D50089A590 /* RxSwiftExt.framework in Frameworks */, 3D638E1F1DC2B3A40089A590 /* RxTest.framework in Frameworks */, ); @@ -607,6 +610,7 @@ 9DAB77991D6763AC007E85BC /* Frameworks */ = { isa = PBXGroup; children = ( + A2A68C972278AF5000586188 /* RxRelay.framework */, 1AA8395A207451D5001C49ED /* RxCocoa.framework */, E36BDFB81F38755F008C9D56 /* tvOS */, 62512C561F0EAEB90083A89F /* macOS */, @@ -780,7 +784,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1020; ORGANIZATIONNAME = RxSwiftCommunity; TargetAttributes = { 188C6D901C47B2B20092101A = { @@ -820,7 +824,7 @@ }; buildConfigurationList = 18EE7A131C47B12F00C7256C /* Build configuration list for PBXProject "RxSwiftExt" */; compatibilityVersion = "Xcode 8.0"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -897,12 +901,13 @@ "$(SRCROOT)/Carthage/Build/Mac/RxSwift.framework", "$(SRCROOT)/Carthage/Build/Mac/RxTest.framework", "$(SRCROOT)/Carthage/Build/Mac/RxCocoa.framework", + "$(SRCROOT)/Carthage/Build/Mac/RxRelay.framework", ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks"; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; showEnvVarsInLog = 0; }; 6E407C291DCF8E4C008D2828 /* Copy carthage frameworks */ = { @@ -914,13 +919,14 @@ "$(SRCROOT)/Carthage/Build/iOS/RxSwift.framework", "$(SRCROOT)/Carthage/Build/iOS/RxTest.framework", "$(SRCROOT)/Carthage/Build/iOS/RxCocoa.framework", + "$(SRCROOT)/Carthage/Build/iOS/RxRelay.framework", ); name = "Copy carthage frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks"; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; }; 87B3D2C1203EB014001327A4 /* Swiftlint */ = { isa = PBXShellScriptBuildPhase; @@ -986,13 +992,14 @@ "$(SRCROOT)/Carthage/Build/tvOS/RxSwift.framework", "$(SRCROOT)/Carthage/Build/tvOS/RxTest.framework", "$(SRCROOT)/Carthage/Build/tvOS/RxCocoa.framework", + "$(SRCROOT)/Carthage/Build/tvOS/RxRelay.framework", ); name = "Copy carthage frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks"; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -1306,6 +1313,7 @@ PRODUCT_NAME = RxSwiftExt; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1336,6 +1344,7 @@ PRODUCT_NAME = RxSwiftExt; SKIP_INSTALL = YES; SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1393,7 +1402,7 @@ SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -1440,7 +1449,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1510,6 +1519,7 @@ SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1544,6 +1554,7 @@ SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; diff --git a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExt-iOS.xcscheme b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExt-iOS.xcscheme index d1d321fa..bd7786fa 100644 --- a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExt-iOS.xcscheme +++ b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExt-iOS.xcscheme @@ -1,6 +1,6 @@ @@ -37,7 +36,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-iOS.xcscheme b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-iOS.xcscheme index be1848e9..82a409b7 100644 --- a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-iOS.xcscheme +++ b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-iOS.xcscheme @@ -1,14 +1,17 @@ + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + + + + diff --git a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-macOS.xcscheme b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-macOS.xcscheme index ee63cc85..013568f2 100644 --- a/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-macOS.xcscheme +++ b/RxSwiftExt.xcodeproj/xcshareddata/xcschemes/RxSwiftExtTests-macOS.xcscheme @@ -1,14 +1,17 @@ + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + + + +