Skip to content

Commit 1d508bc

Browse files
committed
Merge branch 'release/2.0.6'
2 parents 9159c24 + 441f7d6 commit 1d508bc

File tree

9 files changed

+96
-76
lines changed

9 files changed

+96
-76
lines changed

Hydra.xcodeproj/project.pbxproj

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@
560560
isa = PBXProject;
561561
attributes = {
562562
LastSwiftUpdateCheck = 0830;
563-
LastUpgradeCheck = 1020;
563+
LastUpgradeCheck = 1250;
564564
ORGANIZATIONNAME = Hydra;
565565
TargetAttributes = {
566566
37ACAE351F0FB53A00ED284A = {
@@ -897,7 +897,7 @@
897897
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
898898
DEVELOPMENT_TEAM = E5DU3FA699;
899899
INFOPLIST_FILE = DemoApp/Info.plist;
900-
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
900+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
901901
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
902902
PRODUCT_BUNDLE_IDENTIFIER = com.danielemargutti.DemoApp;
903903
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -914,7 +914,7 @@
914914
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
915915
DEVELOPMENT_TEAM = E5DU3FA699;
916916
INFOPLIST_FILE = DemoApp/Info.plist;
917-
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
917+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
918918
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
919919
PRODUCT_BUNDLE_IDENTIFIER = com.danielemargutti.DemoApp;
920920
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -945,6 +945,7 @@
945945
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
946946
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
947947
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
948+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
948949
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
949950
CLANG_WARN_STRICT_PROTOTYPES = YES;
950951
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -970,7 +971,7 @@
970971
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
971972
GCC_WARN_UNUSED_FUNCTION = YES;
972973
GCC_WARN_UNUSED_VARIABLE = YES;
973-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
974+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
974975
MTL_ENABLE_DEBUG_INFO = YES;
975976
ONLY_ACTIVE_ARCH = YES;
976977
SDKROOT = iphoneos;
@@ -1005,6 +1006,7 @@
10051006
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
10061007
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
10071008
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1009+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
10081010
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
10091011
CLANG_WARN_STRICT_PROTOTYPES = YES;
10101012
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -1024,7 +1026,7 @@
10241026
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
10251027
GCC_WARN_UNUSED_FUNCTION = YES;
10261028
GCC_WARN_UNUSED_VARIABLE = YES;
1027-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1029+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
10281030
MTL_ENABLE_DEBUG_INFO = NO;
10291031
SDKROOT = iphoneos;
10301032
SWIFT_VERSION = 5.0;
@@ -1047,7 +1049,7 @@
10471049
DYLIB_INSTALL_NAME_BASE = "@rpath";
10481050
INFOPLIST_FILE = Configs/Hydra.plist;
10491051
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1050-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1052+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
10511053
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
10521054
ONLY_ACTIVE_ARCH = NO;
10531055
PRODUCT_BUNDLE_IDENTIFIER = "com.Hydra.Hydra-iOS";
@@ -1069,7 +1071,7 @@
10691071
DYLIB_INSTALL_NAME_BASE = "@rpath";
10701072
INFOPLIST_FILE = Configs/Hydra.plist;
10711073
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
1072-
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
1074+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
10731075
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
10741076
PRODUCT_BUNDLE_IDENTIFIER = "com.Hydra.Hydra-iOS";
10751077
PRODUCT_NAME = Hydra;
@@ -1169,7 +1171,7 @@
11691171
SKIP_INSTALL = YES;
11701172
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
11711173
TARGETED_DEVICE_FAMILY = 3;
1172-
TVOS_DEPLOYMENT_TARGET = 9.0;
1174+
TVOS_DEPLOYMENT_TARGET = 12.0;
11731175
};
11741176
name = Debug;
11751177
};
@@ -1192,7 +1194,7 @@
11921194
SKIP_INSTALL = YES;
11931195
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
11941196
TARGETED_DEVICE_FAMILY = 3;
1195-
TVOS_DEPLOYMENT_TARGET = 9.0;
1197+
TVOS_DEPLOYMENT_TARGET = 12.0;
11961198
};
11971199
name = Release;
11981200
};
@@ -1284,7 +1286,7 @@
12841286
PRODUCT_BUNDLE_IDENTIFIER = "com.Hydra.Hydra-tvOS-Tests";
12851287
PRODUCT_NAME = "$(TARGET_NAME)";
12861288
SDKROOT = appletvos;
1287-
TVOS_DEPLOYMENT_TARGET = 9.1;
1289+
TVOS_DEPLOYMENT_TARGET = 12.0;
12881290
};
12891291
name = Debug;
12901292
};
@@ -1298,7 +1300,7 @@
12981300
PRODUCT_NAME = "$(TARGET_NAME)";
12991301
SDKROOT = appletvos;
13001302
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
1301-
TVOS_DEPLOYMENT_TARGET = 9.1;
1303+
TVOS_DEPLOYMENT_TARGET = 12.0;
13021304
};
13031305
name = Release;
13041306
};

Hydra.xcodeproj/xcshareddata/xcschemes/Hydra-iOS.xcscheme

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1250"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,8 +26,17 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
codeCoverageEnabled = "YES"
30-
shouldUseLaunchSchemeArgsEnv = "YES">
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
codeCoverageEnabled = "YES">
31+
<MacroExpansion>
32+
<BuildableReference
33+
BuildableIdentifier = "primary"
34+
BlueprintIdentifier = "52D6D97B1BEFF229002C0205"
35+
BuildableName = "Hydra.framework"
36+
BlueprintName = "Hydra-iOS"
37+
ReferencedContainer = "container:Hydra.xcodeproj">
38+
</BuildableReference>
39+
</MacroExpansion>
3140
<Testables>
3241
<TestableReference
3342
skipped = "NO">
@@ -40,17 +49,6 @@
4049
</BuildableReference>
4150
</TestableReference>
4251
</Testables>
43-
<MacroExpansion>
44-
<BuildableReference
45-
BuildableIdentifier = "primary"
46-
BlueprintIdentifier = "52D6D97B1BEFF229002C0205"
47-
BuildableName = "Hydra.framework"
48-
BlueprintName = "Hydra-iOS"
49-
ReferencedContainer = "container:Hydra.xcodeproj">
50-
</BuildableReference>
51-
</MacroExpansion>
52-
<AdditionalOptions>
53-
</AdditionalOptions>
5452
</TestAction>
5553
<LaunchAction
5654
buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
7169
ReferencedContainer = "container:Hydra.xcodeproj">
7270
</BuildableReference>
7371
</MacroExpansion>
74-
<AdditionalOptions>
75-
</AdditionalOptions>
7672
</LaunchAction>
7773
<ProfileAction
7874
buildConfiguration = "Release"

Hydra.xcodeproj/xcshareddata/xcschemes/Hydra-macOS.xcscheme

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1250"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,8 +26,17 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
codeCoverageEnabled = "YES"
30-
shouldUseLaunchSchemeArgsEnv = "YES">
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
codeCoverageEnabled = "YES">
31+
<MacroExpansion>
32+
<BuildableReference
33+
BuildableIdentifier = "primary"
34+
BlueprintIdentifier = "52D6DA0E1BF000BD002C0205"
35+
BuildableName = "Hydra.framework"
36+
BlueprintName = "Hydra-macOS"
37+
ReferencedContainer = "container:Hydra.xcodeproj">
38+
</BuildableReference>
39+
</MacroExpansion>
3140
<Testables>
3241
<TestableReference
3342
skipped = "NO">
@@ -40,17 +49,6 @@
4049
</BuildableReference>
4150
</TestableReference>
4251
</Testables>
43-
<MacroExpansion>
44-
<BuildableReference
45-
BuildableIdentifier = "primary"
46-
BlueprintIdentifier = "52D6DA0E1BF000BD002C0205"
47-
BuildableName = "Hydra.framework"
48-
BlueprintName = "Hydra-macOS"
49-
ReferencedContainer = "container:Hydra.xcodeproj">
50-
</BuildableReference>
51-
</MacroExpansion>
52-
<AdditionalOptions>
53-
</AdditionalOptions>
5452
</TestAction>
5553
<LaunchAction
5654
buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
7169
ReferencedContainer = "container:Hydra.xcodeproj">
7270
</BuildableReference>
7371
</MacroExpansion>
74-
<AdditionalOptions>
75-
</AdditionalOptions>
7672
</LaunchAction>
7773
<ProfileAction
7874
buildConfiguration = "Release"

Hydra.xcodeproj/xcshareddata/xcschemes/Hydra-tvOS.xcscheme

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1250"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,8 +26,17 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
codeCoverageEnabled = "YES"
30-
shouldUseLaunchSchemeArgsEnv = "YES">
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
codeCoverageEnabled = "YES">
31+
<MacroExpansion>
32+
<BuildableReference
33+
BuildableIdentifier = "primary"
34+
BlueprintIdentifier = "52D6D9EF1BEFFFBE002C0205"
35+
BuildableName = "Hydra.framework"
36+
BlueprintName = "Hydra-tvOS"
37+
ReferencedContainer = "container:Hydra.xcodeproj">
38+
</BuildableReference>
39+
</MacroExpansion>
3140
<Testables>
3241
<TestableReference
3342
skipped = "NO">
@@ -40,17 +49,6 @@
4049
</BuildableReference>
4150
</TestableReference>
4251
</Testables>
43-
<MacroExpansion>
44-
<BuildableReference
45-
BuildableIdentifier = "primary"
46-
BlueprintIdentifier = "52D6D9EF1BEFFFBE002C0205"
47-
BuildableName = "Hydra.framework"
48-
BlueprintName = "Hydra-tvOS"
49-
ReferencedContainer = "container:Hydra.xcodeproj">
50-
</BuildableReference>
51-
</MacroExpansion>
52-
<AdditionalOptions>
53-
</AdditionalOptions>
5452
</TestAction>
5553
<LaunchAction
5654
buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
7169
ReferencedContainer = "container:Hydra.xcodeproj">
7270
</BuildableReference>
7371
</MacroExpansion>
74-
<AdditionalOptions>
75-
</AdditionalOptions>
7672
</LaunchAction>
7773
<ProfileAction
7874
buildConfiguration = "Release"

Hydra.xcodeproj/xcshareddata/xcschemes/Hydra-watchOS.xcscheme

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1250"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,12 +26,10 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
codeCoverageEnabled = "YES"
30-
shouldUseLaunchSchemeArgsEnv = "YES">
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
codeCoverageEnabled = "YES">
3131
<Testables>
3232
</Testables>
33-
<AdditionalOptions>
34-
</AdditionalOptions>
3533
</TestAction>
3634
<LaunchAction
3735
buildConfiguration = "Debug"
@@ -52,8 +50,6 @@
5250
ReferencedContainer = "container:Hydra.xcodeproj">
5351
</BuildableReference>
5452
</MacroExpansion>
55-
<AdditionalOptions>
56-
</AdditionalOptions>
5753
</LaunchAction>
5854
<ProfileAction
5955
buildConfiguration = "Release"

HydraAsync.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |spec|
22
spec.name = 'HydraAsync'
3-
spec.version = '2.0.5'
3+
spec.version = '2.0.6'
44
spec.summary = 'Promises & Await: Write better async in Swift'
55
spec.homepage = 'https://github.com/malcommac/Hydra'
66
spec.license = { :type => 'MIT', :file => 'LICENSE' }

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,18 +223,21 @@ class SomeTableViewCell: UITableViewCell {
223223
Have you ever dream to write asynchronous code like its synchronous counterpart? Hydra was heavily inspired by [Async/Await specification in ES8 (ECMAScript 2017) ](https://github.com/tc39/ecmascript-asyncawait) which provides a powerful way to write async doe in a sequential manner.
224224

225225
Using `async` and `await` is pretty simple.
226+
227+
> NOTE: Since Hydra 2.0.6 the await function is available under Hydra.await() function in order to supress the Xcode 12.5+ warning (await will become a Swift standard function soon!)
228+
226229
For example the code above can be rewritten directly as:
227230

228231
```swift
229232
// With `async` we have just defined a Promise which will be executed in a given
230233
// context (if omitted `background` thread is used) and return an Int value.
231234
let asyncFunc = async({ _ -> Int in // you must specify the return of the Promise, here an Int
232235
// With `await` the async code is resolved in a sync manner
233-
let loggedUser = try await(loginUser(username,pass))
236+
let loggedUser = try Hydra.await(loginUser(username,pass))
234237
// one promise...
235-
let followersList = try await(getFollowers(loggedUser))
238+
let followersList = try Hydra.await(getFollowers(loggedUser))
236239
// after another...
237-
let countUnfollowed = try await(unfollow(followersList))
240+
let countUnfollowed = try Hydra.await(unfollow(followersList))
238241
// ... linearly
239242
// Then our async promise will be resolved with the end value
240243
return countUnfollowed
@@ -257,7 +260,7 @@ Below an example of the async function which will be executed without delay in b
257260
```swift
258261
async({
259262
print("And now some intensive task...")
260-
let result = try! await(.background, { resolve,reject, _ in
263+
let result = try! Hydra.await(.background, { resolve,reject, _ in
261264
delay(10, context: .background, closure: { // jut a trick for our example
262265
resolve(5)
263266
})
@@ -322,7 +325,7 @@ invalidator.invalidate()
322325
Await can be also used in conjuction with zip to resolve all promises from a list:
323326

324327
```swift
325-
let (resultA,resultB) = await(zip(promiseA,promiseB))
328+
let (resultA,resultB) = Hydra.await(zip(promiseA,promiseB))
326329
print(resultA)
327330
print(resultB)
328331
```

0 commit comments

Comments
 (0)