fastlane 2.195.0 → 2.196.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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