fastlane 2.195.0 → 2.196.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -98
  3. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +12 -6
  4. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -3
  5. data/fastlane/lib/fastlane/version.rb +1 -1
  6. data/fastlane/swift/Deliverfile.swift +1 -1
  7. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  8. data/fastlane/swift/Fastlane.swift +10 -10
  9. data/fastlane/swift/Gymfile.swift +1 -1
  10. data/fastlane/swift/GymfileProtocol.swift +1 -1
  11. data/fastlane/swift/LaneFileProtocol.swift +1 -1
  12. data/fastlane/swift/Matchfile.swift +1 -1
  13. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  14. data/fastlane/swift/Precheckfile.swift +1 -1
  15. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  16. data/fastlane/swift/Runner.swift +1 -1
  17. data/fastlane/swift/Scanfile.swift +1 -1
  18. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  19. data/fastlane/swift/Screengrabfile.swift +1 -1
  20. data/fastlane/swift/ScreengrabfileProtocol.swift +3 -3
  21. data/fastlane/swift/Snapshotfile.swift +1 -1
  22. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  23. data/fastlane/swift/formatting/Brewfile.lock.json +14 -14
  24. data/pem/lib/pem/manager.rb +2 -1
  25. data/pem/lib/pem/options.rb +1 -1
  26. data/screengrab/lib/screengrab/options.rb +2 -2
  27. data/sigh/lib/assets/resign.sh +8 -5
  28. data/snapshot/lib/snapshot/reports_generator.rb +8 -0
  29. data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
  30. data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
  31. data/supply/lib/supply/client.rb +3 -3
  32. data/supply/lib/supply/uploader.rb +1 -1
  33. metadata +37 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cd7eb437e3a1f8298553886732f358e31eef1c3cc91f43d39c8cfa47630962e
4
- data.tar.gz: 10e833b578831c678fa5515c12cc9fb18c9668d9296871e487571d92ceedeb53
3
+ metadata.gz: 470f259a547c6b79dcb0015c1688edcdedd67fce63d7a53d5fe47caee659b233
4
+ data.tar.gz: 0dfac1fb999ccf2b25ebfd301dcd1347c9d6f67b469b8d785424fa8b26f9a0fb
5
5
  SHA512:
6
- metadata.gz: 7bda6c9251396e39f8d88efe075f5684cdd22b6a144732cc472ee711e4b6b192f31a9fb7ec6a387a224d8904e0097596cc13f9cb1006d96d30048f3cba6cd56f
7
- data.tar.gz: 7a64bc28296e873afa02ac9af4f6c7d48d1d46c328a84218185b840e761f40cf5154385d390b10e024b8bd66a335a811fe9db0d09be2d1a7516f7c3d23c7d870
6
+ metadata.gz: 8a7e5dec51ab3c6baebc067b7549429947bf471e112251a8eadbee68ac4f2ea79c096e4664321f54e614184d2303d2163e339d2b6d8856c807ed382bf8620d47
7
+ data.tar.gz: 66090dc209412cce666bf4b29a0bf2f7103ed1dcec60097e01607f46e812d278c70c288a6ba615e891bc857f6ca0dda340e02d882849ab3e642aabd5a9013016
data/README.md CHANGED
@@ -35,17 +35,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='daniel-jankowski'>
39
- <a href='https://github.com/mollyIV'>
40
- <img src='https://github.com/mollyIV.png' width='140px;'>
41
- </a>
42
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
43
- </td>
44
- <td id='aaron-brager'>
45
- <a href='https://github.com/getaaron'>
46
- <img src='https://github.com/getaaron.png' width='140px;'>
38
+ <td id='stefan-natchev'>
39
+ <a href='https://github.com/snatchev'>
40
+ <img src='https://github.com/snatchev.png' width='140px;'>
47
41
  </a>
48
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
49
43
  </td>
50
44
  <td id='jorge-revuelta-h'>
51
45
  <a href='https://github.com/minuscorp'>
@@ -53,37 +47,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
53
47
  </a>
54
48
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
55
49
  </td>
56
- <td id='danielle-tomlinson'>
57
- <a href='https://github.com/endocrimes'>
58
- <img src='https://github.com/endocrimes.png' width='140px;'>
59
- </a>
60
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
61
- </td>
62
- <td id='jimmy-dee'>
63
- <a href='https://github.com/jdee'>
64
- <img src='https://github.com/jdee.png' width='140px;'>
65
- </a>
66
- <h4 align='center'>Jimmy Dee</h4>
67
- </td>
68
- </tr>
69
- <tr>
70
- <td id='max-ott'>
71
- <a href='https://github.com/max-ott'>
72
- <img src='https://github.com/max-ott.png' width='140px;'>
73
- </a>
74
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
75
- </td>
76
- <td id='josh-holtz'>
77
- <a href='https://github.com/joshdholtz'>
78
- <img src='https://github.com/joshdholtz.png' width='140px;'>
79
- </a>
80
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
81
- </td>
82
- <td id='felix-krause'>
83
- <a href='https://github.com/KrauseFx'>
84
- <img src='https://github.com/KrauseFx.png' width='140px;'>
50
+ <td id='jérôme-lacoste'>
51
+ <a href='https://github.com/lacostej'>
52
+ <img src='https://github.com/lacostej.png' width='140px;'>
85
53
  </a>
86
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
87
55
  </td>
88
56
  <td id='olivier-halligon'>
89
57
  <a href='https://github.com/AliSoftware'>
@@ -91,37 +59,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
91
59
  </a>
92
60
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
93
61
  </td>
94
- <td id='stefan-natchev'>
95
- <a href='https://github.com/snatchev'>
96
- <img src='https://github.com/snatchev.png' width='140px;'>
97
- </a>
98
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
99
- </td>
100
- </tr>
101
- <tr>
102
- <td id='matthew-ellis'>
103
- <a href='https://github.com/matthewellis'>
104
- <img src='https://github.com/matthewellis.png' width='140px;'>
105
- </a>
106
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
107
- </td>
108
- <td id='manu-wallner'>
109
- <a href='https://github.com/milch'>
110
- <img src='https://github.com/milch.png' width='140px;'>
111
- </a>
112
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
113
- </td>
114
62
  <td id='roger-oba'>
115
63
  <a href='https://github.com/rogerluan'>
116
64
  <img src='https://github.com/rogerluan.png' width='140px;'>
117
65
  </a>
118
66
  <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
119
67
  </td>
120
- <td id='joshua-liebowitz'>
121
- <a href='https://github.com/taquitos'>
122
- <img src='https://github.com/taquitos.png' width='140px;'>
68
+ </tr>
69
+ <tr>
70
+ <td id='maksym-grebenets'>
71
+ <a href='https://github.com/mgrebenets'>
72
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
123
73
  </a>
124
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
75
+ </td>
76
+ <td id='manish-rathi'>
77
+ <a href='https://github.com/crazymanish'>
78
+ <img src='https://github.com/crazymanish.png' width='140px;'>
79
+ </a>
80
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
125
81
  </td>
126
82
  <td id='helmut-januschka'>
127
83
  <a href='https://github.com/hjanuschka'>
@@ -129,13 +85,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
129
85
  </a>
130
86
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
131
87
  </td>
132
- </tr>
133
- <tr>
134
- <td id='fumiya-nakamura'>
135
- <a href='https://github.com/nafu'>
136
- <img src='https://github.com/nafu.png' width='140px;'>
88
+ <td id='matthew-ellis'>
89
+ <a href='https://github.com/matthewellis'>
90
+ <img src='https://github.com/matthewellis.png' width='140px;'>
137
91
  </a>
138
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
139
93
  </td>
140
94
  <td id='kohki-miki'>
141
95
  <a href='https://github.com/giginet'>
@@ -143,55 +97,101 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
143
97
  </a>
144
98
  <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
145
99
  </td>
146
- <td id='jérôme-lacoste'>
147
- <a href='https://github.com/lacostej'>
148
- <img src='https://github.com/lacostej.png' width='140px;'>
100
+ </tr>
101
+ <tr>
102
+ <td id='daniel-jankowski'>
103
+ <a href='https://github.com/mollyIV'>
104
+ <img src='https://github.com/mollyIV.png' width='140px;'>
149
105
  </a>
150
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
151
107
  </td>
152
- <td id='andrew-mcburney'>
153
- <a href='https://github.com/armcburney'>
154
- <img src='https://github.com/armcburney.png' width='140px;'>
108
+ <td id='danielle-tomlinson'>
109
+ <a href='https://github.com/endocrimes'>
110
+ <img src='https://github.com/endocrimes.png' width='140px;'>
155
111
  </a>
156
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
113
+ </td>
114
+ <td id='fumiya-nakamura'>
115
+ <a href='https://github.com/nafu'>
116
+ <img src='https://github.com/nafu.png' width='140px;'>
117
+ </a>
118
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
157
119
  </td>
120
+ <td id='jan-piotrowski'>
121
+ <a href='https://github.com/janpio'>
122
+ <img src='https://github.com/janpio.png' width='140px;'>
123
+ </a>
124
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
125
+ </td>
126
+ <td id='satoshi-namai'>
127
+ <a href='https://github.com/ainame'>
128
+ <img src='https://github.com/ainame.png' width='140px;'>
129
+ </a>
130
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
131
+ </td>
132
+ </tr>
133
+ <tr>
158
134
  <td id='luka-mirosevic'>
159
135
  <a href='https://github.com/lmirosevic'>
160
136
  <img src='https://github.com/lmirosevic.png' width='140px;'>
161
137
  </a>
162
138
  <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
163
139
  </td>
140
+ <td id='felix-krause'>
141
+ <a href='https://github.com/KrauseFx'>
142
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
143
+ </a>
144
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
145
+ </td>
146
+ <td id='josh-holtz'>
147
+ <a href='https://github.com/joshdholtz'>
148
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
149
+ </a>
150
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
151
+ </td>
152
+ <td id='aaron-brager'>
153
+ <a href='https://github.com/getaaron'>
154
+ <img src='https://github.com/getaaron.png' width='140px;'>
155
+ </a>
156
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
157
+ </td>
158
+ <td id='jimmy-dee'>
159
+ <a href='https://github.com/jdee'>
160
+ <img src='https://github.com/jdee.png' width='140px;'>
161
+ </a>
162
+ <h4 align='center'>Jimmy Dee</h4>
163
+ </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='iulian-onofrei'>
167
- <a href='https://github.com/revolter'>
168
- <img src='https://github.com/revolter.png' width='140px;'>
166
+ <td id='max-ott'>
167
+ <a href='https://github.com/max-ott'>
168
+ <img src='https://github.com/max-ott.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
171
171
  </td>
172
- <td id='maksym-grebenets'>
173
- <a href='https://github.com/mgrebenets'>
174
- <img src='https://github.com/mgrebenets.png' width='140px;'>
172
+ <td id='andrew-mcburney'>
173
+ <a href='https://github.com/armcburney'>
174
+ <img src='https://github.com/armcburney.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
177
177
  </td>
178
- <td id='manish-rathi'>
179
- <a href='https://github.com/crazymanish'>
180
- <img src='https://github.com/crazymanish.png' width='140px;'>
178
+ <td id='manu-wallner'>
179
+ <a href='https://github.com/milch'>
180
+ <img src='https://github.com/milch.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
183
183
  </td>
184
- <td id='jan-piotrowski'>
185
- <a href='https://github.com/janpio'>
186
- <img src='https://github.com/janpio.png' width='140px;'>
184
+ <td id='joshua-liebowitz'>
185
+ <a href='https://github.com/taquitos'>
186
+ <img src='https://github.com/taquitos.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
189
189
  </td>
190
- <td id='satoshi-namai'>
191
- <a href='https://github.com/ainame'>
192
- <img src='https://github.com/ainame.png' width='140px;'>
190
+ <td id='iulian-onofrei'>
191
+ <a href='https://github.com/revolter'>
192
+ <img src='https://github.com/revolter.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  </table>
@@ -9,9 +9,18 @@ module Fastlane
9
9
 
10
10
  class AppStoreBuildNumberAction < Action
11
11
  def self.run(params)
12
+ build_v, build_nr = get_build_version_and_number(params)
13
+
14
+ Actions.lane_context[SharedValues::LATEST_BUILD_NUMBER] = build_nr
15
+ Actions.lane_context[SharedValues::LATEST_VERSION] = build_v
16
+
17
+ return build_nr
18
+ end
19
+
20
+ def self.get_build_version_and_number(params)
12
21
  require 'spaceship'
13
22
 
14
- result = get_build_number(params)
23
+ result = get_build_info(params)
15
24
  build_nr = result.build_nr
16
25
 
17
26
  # Convert build_nr to int (for legacy use) if no "." in string
@@ -19,13 +28,10 @@ module Fastlane
19
28
  build_nr = build_nr.to_i
20
29
  end
21
30
 
22
- Actions.lane_context[SharedValues::LATEST_BUILD_NUMBER] = build_nr
23
- Actions.lane_context[SharedValues::LATEST_VERSION] = result.build_v
24
-
25
- return build_nr
31
+ return result.build_v, build_nr
26
32
  end
27
33
 
28
- def self.get_build_number(params)
34
+ def self.get_build_info(params)
29
35
  # Prompts select team if multiple teams and none specified
30
36
  if (api_token = Spaceship::ConnectAPI::Token.from(hash: params[:api_key], filepath: params[:api_key_path]))
31
37
  UI.message("Creating authorization token for App Store Connect API")
@@ -9,9 +9,8 @@ module Fastlane
9
9
 
10
10
  class LatestTestflightBuildNumberAction < Action
11
11
  def self.run(params)
12
- AppStoreBuildNumberAction.run(params)
13
- build_nr = Actions.lane_context[SharedValues::LATEST_BUILD_NUMBER]
14
- build_v = Actions.lane_context[SharedValues::LATEST_VERSION]
12
+ build_v, build_nr = AppStoreBuildNumberAction.get_build_version_and_number(params)
13
+
15
14
  Actions.lane_context[SharedValues::LATEST_TESTFLIGHT_BUILD_NUMBER] = build_nr
16
15
  Actions.lane_context[SharedValues::LATEST_TESTFLIGHT_VERSION] = build_v
17
16
  return build_nr
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.195.0'.freeze
2
+ VERSION = '2.196.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '1.12.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -260,4 +260,4 @@ public extension DeliverfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.84]
263
+ // FastlaneRunnerAPIVersion [0.9.85]
@@ -1982,10 +1982,10 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1982
1982
  - endingLocale: **DEPRECATED!** Return the device to this locale after running tests
1983
1983
  - useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
1984
1984
  - appApkPath: The path to the APK for the app under test
1985
- - testsApkPath: The path to the APK for the the tests bundle
1985
+ - testsApkPath: The path to the APK for the tests bundle
1986
1986
  - specificDevice: Use the device or emulator with the given serial number or qualifier
1987
1987
  - deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
1988
- - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary
1988
+ - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary
1989
1989
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
1990
1990
  - useTimestampSuffix: Add timestamp suffix to screenshot filename
1991
1991
  - adbHost: Configure the host used by adb to connect, allows running on remote devices farm
@@ -5022,7 +5022,7 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
5022
5022
  username: String,
5023
5023
  teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5024
5024
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5025
- p12Password: String,
5025
+ p12Password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5026
5026
  pemName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5027
5027
  outputPath: String = ".",
5028
5028
  newProfile: ((String) -> Void)? = nil)
@@ -5037,7 +5037,7 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
5037
5037
  let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
5038
5038
  let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
5039
5039
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
5040
- let p12PasswordArg = RubyCommand.Argument(name: "p12_password", value: p12Password, type: nil)
5040
+ let p12PasswordArg = p12Password.asRubyArgument(name: "p12_password", type: nil)
5041
5041
  let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
5042
5042
  let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
5043
5043
  let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
@@ -7420,7 +7420,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
7420
7420
  username: String,
7421
7421
  teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7422
7422
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7423
- p12Password: String,
7423
+ p12Password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7424
7424
  pemName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7425
7425
  outputPath: String = ".",
7426
7426
  newProfile: ((String) -> Void)? = nil)
@@ -7435,7 +7435,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
7435
7435
  let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
7436
7436
  let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
7437
7437
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
7438
- let p12PasswordArg = RubyCommand.Argument(name: "p12_password", value: p12Password, type: nil)
7438
+ let p12PasswordArg = p12Password.asRubyArgument(name: "p12_password", type: nil)
7439
7439
  let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
7440
7440
  let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
7441
7441
  let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
@@ -9256,10 +9256,10 @@ public func scp(username: String,
9256
9256
  - endingLocale: **DEPRECATED!** Return the device to this locale after running tests
9257
9257
  - useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
9258
9258
  - appApkPath: The path to the APK for the app under test
9259
- - testsApkPath: The path to the APK for the the tests bundle
9259
+ - testsApkPath: The path to the APK for the tests bundle
9260
9260
  - specificDevice: Use the device or emulator with the given serial number or qualifier
9261
9261
  - deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
9262
- - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary
9262
+ - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary
9263
9263
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
9264
9264
  - useTimestampSuffix: Add timestamp suffix to screenshot filename
9265
9265
  - adbHost: Configure the host used by adb to connect, allows running on remote devices farm
@@ -13040,7 +13040,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13040
13040
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13041
13041
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13042
13042
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13043
- ideFoundationPath: String = "/Applications/Xcode-13.Release.Candidate.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13043
+ ideFoundationPath: String = "/Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13044
13044
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
13045
13045
  {
13046
13046
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13242,4 +13242,4 @@ public let snapshotfile = Snapshotfile()
13242
13242
 
13243
13243
  // Please don't remove the lines below
13244
13244
  // They are used to detect outdated files
13245
- // FastlaneRunnerAPIVersion [0.9.137]
13245
+ // FastlaneRunnerAPIVersion [0.9.138]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -196,4 +196,4 @@ public extension GymfileProtocol {
196
196
 
197
197
  // Please don't remove the lines below
198
198
  // They are used to detect outdated files
199
- // FastlaneRunnerAPIVersion [0.9.87]
199
+ // FastlaneRunnerAPIVersion [0.9.88]
@@ -99,7 +99,7 @@ open class LaneFile: NSObject, LaneFileProtocol {
99
99
  #if !SWIFT_PACKAGE
100
100
  // When not in SPM environment, we load the Fastfile from its `className()`.
101
101
  loadFastfile()
102
- guard let fastfileInstance = self.fastfileInstance as? Fastfile else {
102
+ guard let fastfileInstance = fastfileInstance as? Fastfile else {
103
103
  let message = "Unable to instantiate class named: \(className())"
104
104
  log(message: message)
105
105
  fatalError(message)
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -192,4 +192,4 @@ public extension MatchfileProtocol {
192
192
 
193
193
  // Please don't remove the lines below
194
194
  // They are used to detect outdated files
195
- // FastlaneRunnerAPIVersion [0.9.81]
195
+ // FastlaneRunnerAPIVersion [0.9.82]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.80]
55
+ // FastlaneRunnerAPIVersion [0.9.81]
@@ -132,7 +132,7 @@ extension Runner {
132
132
  }
133
133
 
134
134
  @objc func startSocketComs() {
135
- guard let socketClient = self.socketClient else {
135
+ guard let socketClient = socketClient else {
136
136
  return
137
137
  }
138
138
 
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -296,4 +296,4 @@ public extension ScanfileProtocol {
296
296
 
297
297
  // Please don't remove the lines below
298
298
  // They are used to detect outdated files
299
- // FastlaneRunnerAPIVersion [0.9.92]
299
+ // FastlaneRunnerAPIVersion [0.9.93]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -47,7 +47,7 @@ public protocol ScreengrabfileProtocol: class {
47
47
  /// The path to the APK for the app under test
48
48
  var appApkPath: String? { get }
49
49
 
50
- /// The path to the APK for the the tests bundle
50
+ /// The path to the APK for the tests bundle
51
51
  var testsApkPath: String? { get }
52
52
 
53
53
  /// Use the device or emulator with the given serial number or qualifier
@@ -56,7 +56,7 @@ public protocol ScreengrabfileProtocol: class {
56
56
  /// Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
57
57
  var deviceType: String { get }
58
58
 
59
- /// Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary
59
+ /// Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary
60
60
  var exitOnTestFailure: Bool { get }
61
61
 
62
62
  /// Enabling this option will automatically uninstall the application before running it
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.82]
99
+ // FastlaneRunnerAPIVersion [0.9.83]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.195.0
20
+ // Generated with fastlane 2.196.0
@@ -200,4 +200,4 @@ public extension SnapshotfileProtocol {
200
200
 
201
201
  // Please don't remove the lines below
202
202
  // They are used to detect outdated files
203
- // FastlaneRunnerAPIVersion [0.9.76]
203
+ // FastlaneRunnerAPIVersion [0.9.77]
@@ -2,30 +2,30 @@
2
2
  "entries": {
3
3
  "brew": {
4
4
  "swiftformat": {
5
- "version": "0.48.11",
5
+ "version": "0.48.16",
6
6
  "bottle": {
7
7
  "rebuild": 0,
8
8
  "root_url": "https://ghcr.io/v2/homebrew/core",
9
9
  "files": {
10
10
  "arm64_big_sur": {
11
11
  "cellar": ":any_skip_relocation",
12
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:e0a851cfa2ff5d04f0fc98a9e624d1411f1b5b1e55e3cbc0901f4913c02e716a",
13
- "sha256": "e0a851cfa2ff5d04f0fc98a9e624d1411f1b5b1e55e3cbc0901f4913c02e716a"
12
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:6e754174bb20c391ccebe2685d1ab2dcba66020f0bb0eb118c09272d9daebbbd",
13
+ "sha256": "6e754174bb20c391ccebe2685d1ab2dcba66020f0bb0eb118c09272d9daebbbd"
14
14
  },
15
15
  "big_sur": {
16
16
  "cellar": ":any_skip_relocation",
17
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:a5327283fe32b2ef2c6f264e14c966a9a60cb291415d3d05ed659c92a93c4987",
18
- "sha256": "a5327283fe32b2ef2c6f264e14c966a9a60cb291415d3d05ed659c92a93c4987"
17
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:a6d4e1a74a8904358df45ea9cc694dbf9b228e6fcf1bcf88bb9f5e18681411ac",
18
+ "sha256": "a6d4e1a74a8904358df45ea9cc694dbf9b228e6fcf1bcf88bb9f5e18681411ac"
19
19
  },
20
20
  "catalina": {
21
21
  "cellar": ":any_skip_relocation",
22
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:ba95e49ecc71bb19734698dee565e3b0ced6470729206cb434675cfa051f2755",
23
- "sha256": "ba95e49ecc71bb19734698dee565e3b0ced6470729206cb434675cfa051f2755"
22
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:c88cdbc2ade1ad4635fdafcb9b3ad23b6ba12aa50f5507bd2615dca2f9d21530",
23
+ "sha256": "c88cdbc2ade1ad4635fdafcb9b3ad23b6ba12aa50f5507bd2615dca2f9d21530"
24
24
  },
25
25
  "mojave": {
26
26
  "cellar": ":any_skip_relocation",
27
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:c7e00eae9d46dddf040999f0f2832d08110f093c7a403aaaaaa18d8830213967",
28
- "sha256": "c7e00eae9d46dddf040999f0f2832d08110f093c7a403aaaaaa18d8830213967"
27
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:0a4d4a8b561e961e8cd98c216fb4589cbbcf127c26fc25c81f794360295950ec",
28
+ "sha256": "0a4d4a8b561e961e8cd98c216fb4589cbbcf127c26fc25c81f794360295950ec"
29
29
  }
30
30
  }
31
31
  }
@@ -43,12 +43,12 @@
43
43
  "macOS": "10.15.7"
44
44
  },
45
45
  "big_sur": {
46
- "HOMEBREW_VERSION": "3.2.10-50-ge3f851d",
47
- "HOMEBREW_PREFIX": "/opt/homebrew",
48
- "Homebrew/homebrew-core": "73588fb5f5edccfe62f1b290a3298b402fbd71d5",
49
- "CLT": "12.5.1.0.1.1623191612",
46
+ "HOMEBREW_VERSION": "3.2.16",
47
+ "HOMEBREW_PREFIX": "/usr/local",
48
+ "Homebrew/homebrew-core": "f01e43d7cecd622bb39ab48504bb01e350ab36db",
49
+ "CLT": "13.0.0.0.1.1630607135",
50
50
  "Xcode": "13.0",
51
- "macOS": "11.5.2"
51
+ "macOS": "11.6"
52
52
  },
53
53
  "monterey": {
54
54
  "HOMEBREW_VERSION": "3.2.13-55-ga6959e4",
@@ -73,7 +73,8 @@ module PEM
73
73
 
74
74
  if PEM.config[:generate_p12]
75
75
  p12_cert_path = File.join(output_path, "#{filename_base}.p12")
76
- p12 = OpenSSL::PKCS12.create(PEM.config[:p12_password], certificate_type, pkey, x509_certificate)
76
+ p12_password = PEM.config[:p12_password] == "" ? nil : PEM.config[:p12_password]
77
+ p12 = OpenSSL::PKCS12.create(p12_password, certificate_type, pkey, x509_certificate)
77
78
  File.write(p12_cert_path, p12.to_der)
78
79
  UI.message("p12 certificate: ".green + Pathname.new(p12_cert_path).realpath.to_s)
79
80
  end
@@ -86,7 +86,7 @@ module PEM
86
86
  env_name: "PEM_P12_PASSWORD",
87
87
  sensitive: true,
88
88
  description: "The password that is used for your p12 file",
89
- default_value: ""),
89
+ optional: true),
90
90
  FastlaneCore::ConfigItem.new(key: :pem_name,
91
91
  short_option: "-o",
92
92
  env_name: "PEM_FILE_NAME",
@@ -105,7 +105,7 @@ module Screengrab
105
105
  FastlaneCore::ConfigItem.new(key: :tests_apk_path,
106
106
  env_name: 'SCREENGRAB_TESTS_APK_PATH',
107
107
  optional: true,
108
- description: "The path to the APK for the the tests bundle",
108
+ description: "The path to the APK for the tests bundle",
109
109
  short_option: "-b",
110
110
  code_gen_sensitive: true,
111
111
  default_value: Dir[File.join("app", "build", "outputs", "apk", "app-debug-androidTest-unaligned.apk")].last,
@@ -128,7 +128,7 @@ module Screengrab
128
128
  end),
129
129
  FastlaneCore::ConfigItem.new(key: :exit_on_test_failure,
130
130
  env_name: 'EXIT_ON_TEST_FAILURE',
131
- description: "Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary",
131
+ description: "Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary",
132
132
  default_value: true,
133
133
  type: Boolean),
134
134
  FastlaneCore::ConfigItem.new(key: :reinstall_app,
@@ -80,6 +80,9 @@
80
80
  #
81
81
  # new features June 2021
82
82
  # 1. fix the way app entitlements are extracted
83
+ #
84
+ # new features October 2021
85
+ # 1. change codesign signatue to use --generate-entitlement-der to include DER encoded entitlements
83
86
 
84
87
  # Logging functions
85
88
 
@@ -546,7 +549,7 @@ function resign {
546
549
  do
547
550
  if [[ "$assetpack" == *.assetpack ]]; then
548
551
  rm -rf $assetpack/_CodeSignature
549
- /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" "$assetpack"
552
+ /usr/bin/codesign ${VERBOSE} --generate-entitlement-der ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" "$assetpack"
550
553
  checkStatus
551
554
  else
552
555
  log "Ignoring non-assetpack: $assetpack"
@@ -568,7 +571,7 @@ function resign {
568
571
  log "Resigning '$framework'"
569
572
  # Must not qote KEYCHAIN_FLAG because it needs to be unwrapped and passed to codesign with spaces
570
573
  # shellcheck disable=SC2086
571
- /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" "$framework"
574
+ /usr/bin/codesign ${VERBOSE} --generate-entitlement-der ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" "$framework"
572
575
  checkStatus
573
576
  else
574
577
  log "Ignoring non-framework: $framework"
@@ -622,7 +625,7 @@ function resign {
622
625
  log "Creating an archived-expanded-entitlements.xcent file for Xcode 9 builds or earlier"
623
626
  cp -f "$ENTITLEMENTS" "$APP_PATH/archived-expanded-entitlements.xcent"
624
627
  fi
625
- /usr/bin/codesign ${VERBOSE} -f -s "$CERTIFICATE" --entitlements "$ENTITLEMENTS" "$APP_PATH"
628
+ /usr/bin/codesign ${VERBOSE} --generate-entitlement-der -f -s "$CERTIFICATE" --entitlements "$ENTITLEMENTS" "$APP_PATH"
626
629
  checkStatus
627
630
  elif [[ -n "${USE_APP_ENTITLEMENTS}" ]]; then
628
631
  # Extract entitlements from provisioning profile and from the app binary
@@ -867,7 +870,7 @@ function resign {
867
870
  log "Creating an archived-expanded-entitlements.xcent file for Xcode 9 builds or earlier"
868
871
  cp -f "$PATCHED_ENTITLEMENTS" "$APP_PATH/archived-expanded-entitlements.xcent"
869
872
  fi
870
- /usr/bin/codesign ${VERBOSE} -f -s "$CERTIFICATE" --entitlements "$PATCHED_ENTITLEMENTS" "$APP_PATH"
873
+ /usr/bin/codesign ${VERBOSE} --generate-entitlement-der -f -s "$CERTIFICATE" --entitlements "$PATCHED_ENTITLEMENTS" "$APP_PATH"
871
874
  checkStatus
872
875
  else
873
876
  log "Extracting entitlements from provisioning profile"
@@ -881,7 +884,7 @@ function resign {
881
884
  fi
882
885
  # Must not qote KEYCHAIN_FLAG because it needs to be unwrapped and passed to codesign with spaces
883
886
  # shellcheck disable=SC2086
884
- /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" --entitlements "$TEMP_DIR/newEntitlements" "$APP_PATH"
887
+ /usr/bin/codesign ${VERBOSE} --generate-entitlement-der ${KEYCHAIN_FLAG} -f -s "$CERTIFICATE" --entitlements "$TEMP_DIR/newEntitlements" "$APP_PATH"
885
888
  checkStatus
886
889
  fi
887
890
 
@@ -84,6 +84,10 @@ module Snapshot
84
84
  {
85
85
  # snapshot in Xcode 9 saves screenshots with the SIMULATOR_DEVICE_NAME
86
86
  # which includes spaces
87
+ 'iPhone 13 Pro Max' => "iPhone 13 Pro Max",
88
+ 'iPhone 13 Pro' => "iPhone 13 Pro",
89
+ 'iPhone 13 mini' => "iPhone 13 mini",
90
+ 'iPhone 13' => "iPhone 13",
87
91
  'iPhone 12 Pro Max' => "iPhone 12 Pro Max",
88
92
  'iPhone 12 Pro' => "iPhone 12 Pro",
89
93
  'iPhone 12 mini' => "iPhone 12 mini",
@@ -113,6 +117,10 @@ module Snapshot
113
117
  'iPad Air' => 'iPad Air',
114
118
  'iPad (5th generation)' => 'iPad (5th generation)',
115
119
  'iPad (7th generation)' => 'iPad (7th generation)',
120
+ 'iPad mini 2' => 'iPad mini 2',
121
+ 'iPad mini 3' => 'iPad mini 3',
122
+ 'iPad mini 4' => 'iPad mini 4',
123
+ 'iPad mini (6th generation)' => 'iPad mini (6th generation)',
116
124
  'iPad Pro (9.7-inch)' => 'iPad Pro (9.7-inch)',
117
125
  'iPad Pro (9.7 inch)' => 'iPad Pro (9.7-inch)', # iOS 10.3.1 simulator
118
126
  'iPad Pro (10.5-inch)' => 'iPad Pro (10.5-inch)',
@@ -29,7 +29,7 @@ module Spaceship
29
29
  attr_accessor :in_house
30
30
 
31
31
  def self.from(hash: nil, filepath: nil)
32
- api_token ||= self.create(**hash) if hash
32
+ api_token ||= self.create(**hash.transform_keys(&:to_sym)) if hash
33
33
  api_token ||= self.from_json_file(filepath) if filepath
34
34
  return api_token
35
35
  end
@@ -286,10 +286,10 @@ module Supply
286
286
 
287
287
  filtered_release = filtered_track.releases.first { |r| !r.name.nil? && r.name == version }
288
288
 
289
- # Since we can release on Alpha/Beta without release notes.
289
+ # Since we can release on Internal/Alpha/Beta without release notes.
290
290
  if filtered_release.release_notes.nil?
291
- UI.user_error!("Version '#{version}' for '#{current_package_name}' does not seem to have any release notes. Nothing to download.")
292
- return nil
291
+ UI.message("Version '#{version}' for '#{current_package_name}' does not seem to have any release notes. Nothing to download.")
292
+ return []
293
293
  end
294
294
 
295
295
  return filtered_release.release_notes.map do |row|
@@ -147,7 +147,7 @@ module Supply
147
147
  end
148
148
 
149
149
  def verify_config!
150
- unless metadata_path || Supply.config[:apk] || Supply.config[:apk_paths] || Supply.config[:aab] || Supply.config[:aab_paths] || (Supply.config[:track] && Supply.config[:track_promote_to])
150
+ unless metadata_path || Supply.config[:apk] || Supply.config[:apk_paths] || Supply.config[:aab] || Supply.config[:aab_paths] || (Supply.config[:track] && Supply.config[:track_promote_to]) || (Supply.config[:track] && Supply.config[:rollout])
151
151
  UI.user_error!("No local metadata, apks, aab, or track to promote were found, make sure to run `fastlane supply init` to setup supply")
152
152
  end
153
153
 
metadata CHANGED
@@ -1,38 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.195.0
4
+ version: 2.196.0
5
5
  platform: ruby
6
6
  authors:
7
- - Stefan Natchev
8
- - Roger Oba
9
- - Fumiya Nakamura
10
- - Jérôme Lacoste
11
- - Iulian Onofrei
12
- - Jorge Revuelta H
13
7
  - Max Ott
8
+ - Jérôme Lacoste
9
+ - Luka Mirosevic
14
10
  - Daniel Jankowski
15
- - Olivier Halligon
16
- - Helmut Januschka
17
- - Manish Rathi
11
+ - Satoshi Namai
12
+ - Matthew Ellis
18
13
  - Jan Piotrowski
19
- - Danielle Tomlinson
20
- - Luka Mirosevic
21
- - Jimmy Dee
22
14
  - Andrew McBurney
23
- - Joshua Liebowitz
24
- - Satoshi Namai
25
- - Felix Krause
15
+ - Iulian Onofrei
16
+ - Manish Rathi
26
17
  - Kohki Miki
18
+ - Danielle Tomlinson
19
+ - Roger Oba
20
+ - Fumiya Nakamura
21
+ - Felix Krause
27
22
  - Aaron Brager
28
- - Matthew Ellis
23
+ - Jimmy Dee
24
+ - Helmut Januschka
25
+ - Jorge Revuelta H
26
+ - Olivier Halligon
29
27
  - Josh Holtz
30
- - Maksym Grebenets
31
28
  - Manu Wallner
29
+ - Joshua Liebowitz
30
+ - Maksym Grebenets
31
+ - Stefan Natchev
32
32
  autorequire:
33
33
  bindir: bin
34
34
  cert_chain: []
35
- date: 2021-09-25 00:00:00.000000000 Z
35
+ date: 2021-10-14 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: xcodeproj
@@ -1711,6 +1711,7 @@ files:
1711
1711
  - spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
1712
1712
  - spaceship/lib/spaceship/connect_api/response.rb
1713
1713
  - spaceship/lib/spaceship/connect_api/spaceship.rb
1714
+ - spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp
1714
1715
  - spaceship/lib/spaceship/connect_api/testflight/client.rb
1715
1716
  - spaceship/lib/spaceship/connect_api/testflight/testflight.rb
1716
1717
  - spaceship/lib/spaceship/connect_api/token.rb
@@ -1838,28 +1839,32 @@ homepage: https://fastlane.tools
1838
1839
  licenses:
1839
1840
  - MIT
1840
1841
  metadata:
1841
- docs_url: https://docs.fastlane.tools
1842
+ bug_tracker_uri: https://github.com/fastlane/fastlane/issues
1843
+ changelog_uri: https://github.com/fastlane/fastlane/releases
1844
+ documentation_uri: https://docs.fastlane.tools/
1845
+ homepage_uri: https://fastlane.tools
1846
+ source_code_uri: https://github.com/fastlane/fastlane
1842
1847
  post_install_message:
1843
1848
  rdoc_options: []
1844
1849
  require_paths:
1850
+ - cert/lib
1845
1851
  - credentials_manager/lib
1846
- - pem/lib
1847
- - snapshot/lib
1848
- - frameit/lib
1849
- - match/lib
1850
- - fastlane_core/lib
1851
1852
  - deliver/lib
1852
- - scan/lib
1853
- - supply/lib
1854
- - cert/lib
1855
1853
  - fastlane/lib
1856
- - spaceship/lib
1857
- - pilot/lib
1854
+ - fastlane_core/lib
1855
+ - frameit/lib
1858
1856
  - gym/lib
1857
+ - match/lib
1858
+ - pem/lib
1859
+ - pilot/lib
1859
1860
  - precheck/lib
1861
+ - produce/lib
1862
+ - scan/lib
1860
1863
  - screengrab/lib
1861
1864
  - sigh/lib
1862
- - produce/lib
1865
+ - snapshot/lib
1866
+ - spaceship/lib
1867
+ - supply/lib
1863
1868
  required_ruby_version: !ruby/object:Gem::Requirement
1864
1869
  requirements:
1865
1870
  - - ">="
@@ -1871,7 +1876,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1871
1876
  - !ruby/object:Gem::Version
1872
1877
  version: '0'
1873
1878
  requirements: []
1874
- rubygems_version: 3.1.6
1879
+ rubygems_version: 3.2.3
1875
1880
  signing_key:
1876
1881
  specification_version: 4
1877
1882
  summary: The easiest way to automate beta deployments and releases for your iOS and