fastlane 2.193.1 → 2.194.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +92 -92
  3. data/cert/lib/cert/options.rb +1 -1
  4. data/deliver/lib/deliver/options.rb +1 -1
  5. data/{spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp → fastlane/lib/fastlane/actions/.notarize.rb.swp} +0 -0
  6. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/notarize.rb +27 -18
  9. data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  12. data/fastlane/lib/fastlane/actions/slather.rb +6 -0
  13. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +11 -5
  14. data/fastlane/lib/fastlane/version.rb +1 -1
  15. data/fastlane/swift/Deliverfile.swift +1 -1
  16. data/fastlane/swift/DeliverfileProtocol.swift +2 -2
  17. data/fastlane/swift/Fastlane.swift +34 -26
  18. data/fastlane/swift/Gymfile.swift +1 -1
  19. data/fastlane/swift/GymfileProtocol.swift +1 -1
  20. data/fastlane/swift/Matchfile.swift +1 -1
  21. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  22. data/fastlane/swift/Precheckfile.swift +1 -1
  23. data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
  24. data/fastlane/swift/Scanfile.swift +1 -1
  25. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  26. data/fastlane/swift/Screengrabfile.swift +1 -1
  27. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  28. data/fastlane/swift/Snapshotfile.swift +1 -1
  29. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  30. data/fastlane/swift/formatting/Brewfile.lock.json +4 -4
  31. data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
  32. data/match/lib/match/options.rb +1 -1
  33. data/pilot/lib/pilot/options.rb +1 -1
  34. data/precheck/lib/precheck/options.rb +1 -1
  35. data/sigh/lib/assets/resign.sh +1 -1
  36. data/sigh/lib/sigh/options.rb +1 -1
  37. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  38. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
  39. data/supply/lib/supply/uploader.rb +9 -6
  40. metadata +22 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16bbd4e5c7f94860e5d9cba08578ab2918bccfe31092380f43d859da4f8393e7
4
- data.tar.gz: f527779d5963a3f3110c7b5b4bb6bda4c816a01e391b16919c7ef5c0c841b82d
3
+ metadata.gz: 89364e66ffaf19316585dfb22f851fbaea4f5c592942a06b90ac4e1301b6eac1
4
+ data.tar.gz: a968f9c694a148943ff821d8ece6dc7874558638f1b3ae80637bbcc12483e0fa
5
5
  SHA512:
6
- metadata.gz: 148193a7bc745d1c044cadad094875e5375c8f0ed611231695228bd1656aa3f5030018a88cf484d7c811bcd4161ac191f786f3cfcce759a9e59d70cc5a814e34
7
- data.tar.gz: b041a08c28429bc1a32c7a08702ebca0e260ac051734541b4345cb441a3cfaeb33d08f75887346bc974380463c1c8eddae468024069ad505c5edaa2ec5fdfc1c
6
+ metadata.gz: 0200da5a0b1fc50d082ad63f87b62a80047041014c31a0f786dd5bb713c4e257c3e1d4e1be5e5a6bbf250db09a1ecd19cbbde83b1329a0179a06c584d03eab1e
7
+ data.tar.gz: '0692862a0ad1e6ae72c8c8e7e59473fc2d2871d252f891e22bb0353844dee71b47b44d2ef9c9541500c5e3458c1ce05cceb9ee89af7d3a672d752daf72c39108'
data/README.md CHANGED
@@ -35,35 +35,35 @@ 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='iulian-onofrei'>
39
- <a href='https://github.com/revolter'>
40
- <img src='https://github.com/revolter.png' width='140px;'>
38
+ <td id='manu-wallner'>
39
+ <a href='https://github.com/milch'>
40
+ <img src='https://github.com/milch.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
43
43
  </td>
44
- <td id='andrew-mcburney'>
45
- <a href='https://github.com/armcburney'>
46
- <img src='https://github.com/armcburney.png' width='140px;'>
44
+ <td id='max-ott'>
45
+ <a href='https://github.com/max-ott'>
46
+ <img src='https://github.com/max-ott.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
49
49
  </td>
50
- <td id='maksym-grebenets'>
51
- <a href='https://github.com/mgrebenets'>
52
- <img src='https://github.com/mgrebenets.png' width='140px;'>
50
+ <td id='daniel-jankowski'>
51
+ <a href='https://github.com/mollyIV'>
52
+ <img src='https://github.com/mollyIV.png' width='140px;'>
53
53
  </a>
54
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
55
55
  </td>
56
- <td id='joshua-liebowitz'>
57
- <a href='https://github.com/taquitos'>
58
- <img src='https://github.com/taquitos.png' width='140px;'>
56
+ <td id='josh-holtz'>
57
+ <a href='https://github.com/joshdholtz'>
58
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
61
61
  </td>
62
- <td id='luka-mirosevic'>
63
- <a href='https://github.com/lmirosevic'>
64
- <img src='https://github.com/lmirosevic.png' width='140px;'>
62
+ <td id='jimmy-dee'>
63
+ <a href='https://github.com/jdee'>
64
+ <img src='https://github.com/jdee.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
66
+ <h4 align='center'>Jimmy Dee</h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
@@ -73,11 +73,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
73
73
  </a>
74
74
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
75
75
  </td>
76
- <td id='satoshi-namai'>
77
- <a href='https://github.com/ainame'>
78
- <img src='https://github.com/ainame.png' width='140px;'>
76
+ <td id='andrew-mcburney'>
77
+ <a href='https://github.com/armcburney'>
78
+ <img src='https://github.com/armcburney.png' width='140px;'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
81
+ </td>
82
+ <td id='maksym-grebenets'>
83
+ <a href='https://github.com/mgrebenets'>
84
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
85
+ </a>
86
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
81
87
  </td>
82
88
  <td id='stefan-natchev'>
83
89
  <a href='https://github.com/snatchev'>
@@ -85,63 +91,51 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
85
91
  </a>
86
92
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
87
93
  </td>
88
- <td id='kohki-miki'>
89
- <a href='https://github.com/giginet'>
90
- <img src='https://github.com/giginet.png' width='140px;'>
91
- </a>
92
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
93
- </td>
94
- <td id='daniel-jankowski'>
95
- <a href='https://github.com/mollyIV'>
96
- <img src='https://github.com/mollyIV.png' width='140px;'>
94
+ <td id='felix-krause'>
95
+ <a href='https://github.com/KrauseFx'>
96
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
97
97
  </a>
98
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='max-ott'>
103
- <a href='https://github.com/max-ott'>
104
- <img src='https://github.com/max-ott.png' width='140px;'>
102
+ <td id='helmut-januschka'>
103
+ <a href='https://github.com/hjanuschka'>
104
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
105
105
  </a>
106
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
107
107
  </td>
108
- <td id='matthew-ellis'>
109
- <a href='https://github.com/matthewellis'>
110
- <img src='https://github.com/matthewellis.png' width='140px;'>
108
+ <td id='iulian-onofrei'>
109
+ <a href='https://github.com/revolter'>
110
+ <img src='https://github.com/revolter.png' width='140px;'>
111
111
  </a>
112
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
113
113
  </td>
114
- <td id='jorge-revuelta-h'>
115
- <a href='https://github.com/minuscorp'>
116
- <img src='https://github.com/minuscorp.png' width='140px;'>
114
+ <td id='jan-piotrowski'>
115
+ <a href='https://github.com/janpio'>
116
+ <img src='https://github.com/janpio.png' width='140px;'>
117
117
  </a>
118
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
119
119
  </td>
120
- <td id='fumiya-nakamura'>
121
- <a href='https://github.com/nafu'>
122
- <img src='https://github.com/nafu.png' width='140px;'>
120
+ <td id='joshua-liebowitz'>
121
+ <a href='https://github.com/taquitos'>
122
+ <img src='https://github.com/taquitos.png' width='140px;'>
123
123
  </a>
124
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
125
125
  </td>
126
- <td id='jimmy-dee'>
127
- <a href='https://github.com/jdee'>
128
- <img src='https://github.com/jdee.png' width='140px;'>
126
+ <td id='matthew-ellis'>
127
+ <a href='https://github.com/matthewellis'>
128
+ <img src='https://github.com/matthewellis.png' width='140px;'>
129
129
  </a>
130
- <h4 align='center'>Jimmy Dee</h4>
130
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='helmut-januschka'>
135
- <a href='https://github.com/hjanuschka'>
136
- <img src='https://github.com/hjanuschka.png' width='140px;'>
137
- </a>
138
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
139
- </td>
140
- <td id='jérôme-lacoste'>
141
- <a href='https://github.com/lacostej'>
142
- <img src='https://github.com/lacostej.png' width='140px;'>
134
+ <td id='fumiya-nakamura'>
135
+ <a href='https://github.com/nafu'>
136
+ <img src='https://github.com/nafu.png' width='140px;'>
143
137
  </a>
144
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
145
139
  </td>
146
140
  <td id='danielle-tomlinson'>
147
141
  <a href='https://github.com/endocrimes'>
@@ -149,49 +143,55 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
149
143
  </a>
150
144
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
151
145
  </td>
152
- <td id='josh-holtz'>
153
- <a href='https://github.com/joshdholtz'>
154
- <img src='https://github.com/joshdholtz.png' width='140px;'>
146
+ <td id='kohki-miki'>
147
+ <a href='https://github.com/giginet'>
148
+ <img src='https://github.com/giginet.png' width='140px;'>
155
149
  </a>
156
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
157
151
  </td>
158
- <td id='felix-krause'>
159
- <a href='https://github.com/KrauseFx'>
160
- <img src='https://github.com/KrauseFx.png' width='140px;'>
152
+ <td id='manish-rathi'>
153
+ <a href='https://github.com/crazymanish'>
154
+ <img src='https://github.com/crazymanish.png' width='140px;'>
161
155
  </a>
162
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
157
+ </td>
158
+ <td id='jorge-revuelta-h'>
159
+ <a href='https://github.com/minuscorp'>
160
+ <img src='https://github.com/minuscorp.png' width='140px;'>
161
+ </a>
162
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='aaron-brager'>
167
- <a href='https://github.com/getaaron'>
168
- <img src='https://github.com/getaaron.png' width='140px;'>
166
+ <td id='roger-oba'>
167
+ <a href='https://github.com/rogerluan'>
168
+ <img src='https://github.com/rogerluan.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
171
171
  </td>
172
- <td id='manu-wallner'>
173
- <a href='https://github.com/milch'>
174
- <img src='https://github.com/milch.png' width='140px;'>
172
+ <td id='satoshi-namai'>
173
+ <a href='https://github.com/ainame'>
174
+ <img src='https://github.com/ainame.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
177
177
  </td>
178
- <td id='jan-piotrowski'>
179
- <a href='https://github.com/janpio'>
180
- <img src='https://github.com/janpio.png' width='140px;'>
178
+ <td id='jérôme-lacoste'>
179
+ <a href='https://github.com/lacostej'>
180
+ <img src='https://github.com/lacostej.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
183
183
  </td>
184
- <td id='manish-rathi'>
185
- <a href='https://github.com/crazymanish'>
186
- <img src='https://github.com/crazymanish.png' width='140px;'>
184
+ <td id='aaron-brager'>
185
+ <a href='https://github.com/getaaron'>
186
+ <img src='https://github.com/getaaron.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
189
189
  </td>
190
- <td id='roger-oba'>
191
- <a href='https://github.com/rogerluan'>
192
- <img src='https://github.com/rogerluan.png' width='140px;'>
190
+ <td id='luka-mirosevic'>
191
+ <a href='https://github.com/lmirosevic'>
192
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  </table>
@@ -47,7 +47,7 @@ module Cert
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
49
  env_names: ["CERT_API_KEY", "DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
50
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
51
51
  type: Hash,
52
52
  optional: true,
53
53
  sensitive: true,
@@ -22,7 +22,7 @@ module Deliver
22
22
  end),
23
23
  FastlaneCore::ConfigItem.new(key: :api_key,
24
24
  env_names: ["DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
25
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
25
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
26
26
  type: Hash,
27
27
  optional: true,
28
28
  sensitive: true,
@@ -125,7 +125,7 @@ module Fastlane
125
125
  end),
126
126
  FastlaneCore::ConfigItem.new(key: :api_key,
127
127
  env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
128
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
128
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
129
129
  type: Hash,
130
130
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
131
131
  default_value_dynamic: true,
@@ -47,7 +47,7 @@ module Fastlane
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
49
  env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
50
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
51
51
  type: Hash,
52
52
  optional: true,
53
53
  sensitive: true,
@@ -8,7 +8,12 @@ module Fastlane
8
8
  try_early_stapling = params[:try_early_stapling]
9
9
  print_log = params[:print_log]
10
10
  verbose = params[:verbose]
11
- api_key_path = params[:api_key_path]
11
+
12
+ # Only set :api_key from SharedValues if :api_key_path isn't set (conflicting options)
13
+ unless params[:api_key_path]
14
+ params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
15
+ end
16
+ api_key = Spaceship::ConnectAPI::Token.from(hash: params[:api_key], filepath: params[:api_key_path])
12
17
 
13
18
  use_notarytool = params[:use_notarytool]
14
19
 
@@ -33,20 +38,18 @@ module Fastlane
33
38
  UI.user_error!('Could not read bundle identifier, provide as a parameter') unless bundle_id
34
39
 
35
40
  if use_notarytool
36
- notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key_path, compressed_package_path)
41
+ notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
37
42
  else
38
- altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key_path, compressed_package_path)
43
+ altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
39
44
  end
40
45
  end
41
46
 
42
- def self.notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key_path, compressed_package_path)
47
+ def self.notarytool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
43
48
  temp_file = nil
44
49
 
45
50
  # Create authorization part of command with either API Key or Apple ID
46
51
  auth_parts = []
47
- if api_key_path
48
- api_key = Spaceship::ConnectAPI::Token.from_json_file(api_key_path)
49
-
52
+ if api_key
50
53
  # Writes key contents to temporary file for command
51
54
  require 'tempfile'
52
55
  temp_file = Tempfile.new
@@ -99,14 +102,14 @@ module Fastlane
99
102
  temp_file.delete if temp_file
100
103
  end
101
104
 
102
- def self.altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key_path, compressed_package_path)
105
+ def self.altool(params, package_path, bundle_id, try_early_stapling, print_log, verbose, api_key, compressed_package_path)
103
106
  UI.message('Uploading package to notarization service, might take a while')
104
107
 
105
108
  notarization_upload_command = "xcrun altool --notarize-app -t osx -f \"#{compressed_package_path || package_path}\" --primary-bundle-id #{bundle_id} --output-format xml"
106
109
 
107
110
  notarization_info = {}
108
- with_notarize_authenticator(params, api_key_path) do |notarize_authenticator|
109
- notarization_upload_command << " --asc-provider \"#{params[:asc_provider]}\"" if params[:asc_provider] && api_key_path.nil?
111
+ with_notarize_authenticator(params, api_key) do |notarize_authenticator|
112
+ notarization_upload_command << " --asc-provider \"#{params[:asc_provider]}\"" if params[:asc_provider] && api_key.nil?
110
113
 
111
114
  notarization_upload_response = Actions.sh(
112
115
  notarize_authenticator.call(notarization_upload_command),
@@ -200,11 +203,10 @@ module Fastlane
200
203
  )
201
204
  end
202
205
 
203
- def self.with_notarize_authenticator(params, api_key_path)
204
- if api_key_path
206
+ def self.with_notarize_authenticator(params, api_key)
207
+ if api_key
205
208
  # From xcrun altool for --apiKey:
206
209
  # This option will search the following directories in sequence for a private key file with the name of 'AuthKey_<api_key>.p8': './private_keys', '~/private_keys', '~/.private_keys', and '~/.appstoreconnect/private_keys'.
207
- api_key = Spaceship::ConnectAPI::Token.from_json_file(api_key_path)
208
210
  api_key_folder_path = File.expand_path('~/.appstoreconnect/private_keys')
209
211
  api_key_file_path = File.join(api_key_folder_path, "AuthKey_#{api_key.key_id}.p8")
210
212
  directory_exists = File.directory?(api_key_folder_path)
@@ -271,7 +273,7 @@ module Fastlane
271
273
  description: 'Apple ID username',
272
274
  default_value: username,
273
275
  optional: true,
274
- conflicting_options: [:api_key_path],
276
+ conflicting_options: [:api_key_path, :api_key],
275
277
  default_value_dynamic: true),
276
278
  FastlaneCore::ConfigItem.new(key: :asc_provider,
277
279
  env_name: 'FL_NOTARIZE_ASC_PROVIDER',
@@ -291,13 +293,20 @@ module Fastlane
291
293
  default_value: false,
292
294
  type: Boolean),
293
295
  FastlaneCore::ConfigItem.new(key: :api_key_path,
294
- env_name: 'FL_NOTARIZE_API_KEY_PATH',
295
- description: 'Path to AppStore Connect API key',
296
+ env_names: ['FL_NOTARIZE_API_KEY_PATH', "APP_STORE_CONNECT_API_KEY_PATH"],
297
+ description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
296
298
  optional: true,
297
- conflicting_options: [:username],
299
+ conflicting_options: [:username, :api_key],
298
300
  verify_block: proc do |value|
299
301
  UI.user_error!("API Key not found at '#{value}'") unless File.exist?(value)
300
- end)
302
+ end),
303
+ FastlaneCore::ConfigItem.new(key: :api_key,
304
+ env_names: ['FL_NOTARIZE_API_KEY', "APP_STORE_CONNECT_API_KEY"],
305
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
306
+ optional: true,
307
+ conflicting_options: [:username, :api_key_path],
308
+ sensitive: true,
309
+ type: Hash)
301
310
  ]
302
311
  end
303
312
 
@@ -73,7 +73,7 @@ module Fastlane
73
73
  end),
74
74
  FastlaneCore::ConfigItem.new(key: :api_key,
75
75
  env_names: ["FL_REGISTER_DEVICE_API_KEY", "APP_STORE_CONNECT_API_KEY"],
76
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
76
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
77
77
  type: Hash,
78
78
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
79
79
  default_value_dynamic: true,
@@ -121,7 +121,7 @@ module Fastlane
121
121
  end),
122
122
  FastlaneCore::ConfigItem.new(key: :api_key,
123
123
  env_names: ["FL_REGISTER_DEVICES_API_KEY", "APP_STORE_CONNECT_API_KEY"],
124
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
124
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
125
125
  type: Hash,
126
126
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
127
127
  default_value_dynamic: true,
@@ -115,7 +115,7 @@ module Fastlane
115
115
  end),
116
116
  FastlaneCore::ConfigItem.new(key: :api_key,
117
117
  env_names: ["FL_SET_CHANGELOG_API_KEY", "APP_STORE_CONNECT_API_KEY"],
118
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
118
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
119
119
  type: Hash,
120
120
  default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
121
121
  default_value_dynamic: true,
@@ -9,6 +9,7 @@ module Fastlane
9
9
  jenkins: '--jenkins',
10
10
  buildkite: '--buildkite',
11
11
  teamcity: '--teamcity',
12
+ github: '--github',
12
13
 
13
14
  coveralls: '--coveralls',
14
15
  simple_output: '--simple-output',
@@ -155,6 +156,11 @@ module Fastlane
155
156
  env_name: "FL_SLATHER_INPUT_FORMAT", # The name of the environment variable
156
157
  description: "The input format that slather should look for",
157
158
  optional: true),
159
+ FastlaneCore::ConfigItem.new(key: :github,
160
+ env_name: "FL_SLATHER_GITHUB_ENABLED", # The name of the environment variable
161
+ description: "Tell slather that it is running on Github Actions",
162
+ type: Boolean,
163
+ optional: true),
158
164
  FastlaneCore::ConfigItem.new(key: :buildkite,
159
165
  env_name: "FL_SLATHER_BUILDKITE_ENABLED", # The name of the environment variable
160
166
  description: "Tell slather that it is running on Buildkite",
@@ -134,15 +134,17 @@ module Fastlane
134
134
  require 'yaml'
135
135
  FileUtils.mkdir_p(target_path)
136
136
  docs_dir = File.join(target_path, "docs")
137
+ generated_actions_dir = File.join("generated", "actions")
138
+ FileUtils.mkdir_p(File.join(docs_dir, generated_actions_dir))
137
139
 
138
140
  # Generate actions.md
139
141
  template = File.join(Fastlane::ROOT, "lib/assets/Actions.md.erb")
140
142
  result = ERB.new(File.read(template), 0, '-').result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
141
- File.write(File.join(docs_dir, "actions.md"), result)
143
+ File.write(File.join(docs_dir, "generated", "actions.md"), result)
142
144
 
143
- # Generate actions sub pages (e.g. actions/slather.md, actions/scan.md)
145
+ # Generate actions sub pages (e.g. generated/actions/slather.md, generated/actions/scan.md)
144
146
  all_actions_ref_yml = []
145
- FileUtils.mkdir_p(File.join(docs_dir, "actions"))
147
+ FileUtils.mkdir_p(File.join(docs_dir, generated_actions_dir))
146
148
  ActionsList.all_actions do |action|
147
149
  @action = action # to provide a reference in the .html.erb template
148
150
  @action_filename = filename_for_action(action)
@@ -165,10 +167,14 @@ module Fastlane
165
167
  template = File.join(Fastlane::ROOT, "lib/assets/ActionDetails.md.erb")
166
168
  result = ERB.new(File.read(template), 0, '-').result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
167
169
 
168
- file_name = File.join("actions", "#{action.action_name}.md")
170
+ # Actions get placed in "generated/actions" directory
171
+ file_name = File.join(generated_actions_dir, "#{action.action_name}.md")
169
172
  File.write(File.join(docs_dir, file_name), result)
170
173
 
171
- all_actions_ref_yml << { action.action_name => file_name }
174
+ # The action pages when published get moved to the "actions" directory
175
+ # The mkdocs.yml file needs to reference the "actions" directory (not the "generated/actions" directory)
176
+ published_file_name = File.join("actions", "#{action.action_name}.md")
177
+ all_actions_ref_yml << { action.action_name => published_file_name }
172
178
  end
173
179
 
174
180
  # Modify the mkdocs.yml to list all the actions
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.193.1'.freeze
2
+ VERSION = '2.194.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.193.1
20
+ // Generated with fastlane 2.194.0
@@ -5,7 +5,7 @@ public protocol DeliverfileProtocol: class {
5
5
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6
6
  var apiKeyPath: String? { get }
7
7
 
8
- /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8
+ /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9
9
  var apiKey: [String: Any]? { get }
10
10
 
11
11
  /// Your Apple ID Username
@@ -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.82]
263
+ // FastlaneRunnerAPIVersion [0.9.83]
@@ -133,7 +133,7 @@ public func addGitTag(tag: OptionalConfigValue<String?> = .fastlaneDefault(nil),
133
133
 
134
134
  - parameters:
135
135
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
136
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
136
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
137
137
  - initialBuildNumber: sets the build number to given value if no build is in current train
138
138
  - appIdentifier: The bundle identifier of your app
139
139
  - username: Your Apple ID Username
@@ -643,7 +643,7 @@ public func appledoc(input: [String],
643
643
 
644
644
  - parameters:
645
645
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
646
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
646
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
647
647
  - username: Your Apple ID Username
648
648
  - appIdentifier: The bundle identifier of your app
649
649
  - appVersion: The version that should be edited or created
@@ -2588,7 +2588,7 @@ public func carthage(command: String = "bootstrap",
2588
2588
  - force: Create a certificate even if an existing certificate exists
2589
2589
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
2590
2590
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
2591
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
2591
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
2592
2592
  - username: Your Apple ID Username
2593
2593
  - teamId: The ID of your Developer Portal team if you're in multiple teams
2594
2594
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -2752,7 +2752,7 @@ public func chatwork(apiToken: String,
2752
2752
 
2753
2753
  - parameters:
2754
2754
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
2755
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
2755
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
2756
2756
  - appIdentifier: The bundle identifier of your app
2757
2757
  - username: Your Apple ID Username
2758
2758
  - teamId: The ID of your App Store Connect team if you're in multiple teams
@@ -3680,7 +3680,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3680
3680
 
3681
3681
  - parameters:
3682
3682
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
3683
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
3683
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
3684
3684
  - username: Your Apple ID Username
3685
3685
  - appIdentifier: The bundle identifier of your app
3686
3686
  - appVersion: The version that should be edited or created
@@ -4710,7 +4710,7 @@ public func getBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
4710
4710
  - force: Create a certificate even if an existing certificate exists
4711
4711
  - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
4712
4712
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
4713
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
4713
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
4714
4714
  - username: Your Apple ID Username
4715
4715
  - teamId: The ID of your Developer Portal team if you're in multiple teams
4716
4716
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -4940,7 +4940,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
4940
4940
  - force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
4941
4941
  - appIdentifier: The bundle identifier of your app
4942
4942
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
4943
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
4943
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
4944
4944
  - username: Your Apple ID Username
4945
4945
  - teamId: The ID of your Developer Portal team if you're in multiple teams
4946
4946
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -6428,7 +6428,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6428
6428
 
6429
6429
  - parameters:
6430
6430
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6431
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6431
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6432
6432
  - live: Query the live version (ready-for-sale)
6433
6433
  - appIdentifier: The bundle identifier of your app
6434
6434
  - username: Your Apple ID Username
@@ -6621,7 +6621,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6621
6621
  - skipProvisioningProfiles: Skip syncing provisioning profiles
6622
6622
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
6623
6623
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6624
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6624
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6625
6625
  - username: Your Apple ID Username
6626
6626
  - teamId: The ID of your Developer Portal team if you're in multiple teams
6627
6627
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -6812,7 +6812,7 @@ public func match(type: String = matchfile.type,
6812
6812
  - skipProvisioningProfiles: Skip syncing provisioning profiles
6813
6813
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
6814
6814
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6815
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
6815
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
6816
6816
  - username: Your Apple ID Username
6817
6817
  - teamId: The ID of your Developer Portal team if you're in multiple teams
6818
6818
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -7136,17 +7136,19 @@ public func nexusUpload(file: String,
7136
7136
  - ascProvider: Provider short name for accounts associated with multiple providers
7137
7137
  - printLog: Whether to print notarization log file, listing issues on failure and warnings on success
7138
7138
  - verbose: Whether to log requests
7139
- - apiKeyPath: Path to AppStore Connect API key
7139
+ - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7140
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7140
7141
  */
7141
7142
  public func notarize(package: String,
7142
- useNotarytool: OptionalConfigValue<Bool> = .fastlaneDefault(true),
7143
+ useNotarytool: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7143
7144
  tryEarlyStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7144
7145
  bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7145
7146
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7146
7147
  ascProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7147
7148
  printLog: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7148
7149
  verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7149
- apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil))
7150
+ apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7151
+ apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil))
7150
7152
  {
7151
7153
  let packageArg = RubyCommand.Argument(name: "package", value: package, type: nil)
7152
7154
  let useNotarytoolArg = useNotarytool.asRubyArgument(name: "use_notarytool", type: nil)
@@ -7157,6 +7159,7 @@ public func notarize(package: String,
7157
7159
  let printLogArg = printLog.asRubyArgument(name: "print_log", type: nil)
7158
7160
  let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
7159
7161
  let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
7162
+ let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
7160
7163
  let array: [RubyCommand.Argument?] = [packageArg,
7161
7164
  useNotarytoolArg,
7162
7165
  tryEarlyStaplingArg,
@@ -7165,7 +7168,8 @@ public func notarize(package: String,
7165
7168
  ascProviderArg,
7166
7169
  printLogArg,
7167
7170
  verboseArg,
7168
- apiKeyPathArg]
7171
+ apiKeyPathArg,
7172
+ apiKeyArg]
7169
7173
  let args: [RubyCommand.Argument] = array
7170
7174
  .filter { $0?.value != nil }
7171
7175
  .compactMap { $0 }
@@ -7502,7 +7506,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
7502
7506
 
7503
7507
  - parameters:
7504
7508
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7505
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
7509
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7506
7510
  - username: Your Apple ID Username
7507
7511
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
7508
7512
  - appPlatform: The platform to use (optional)
@@ -7900,7 +7904,7 @@ public func podioItem(clientId: String,
7900
7904
 
7901
7905
  - parameters:
7902
7906
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
7903
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
7907
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
7904
7908
  - appIdentifier: The bundle identifier of your app
7905
7909
  - username: Your Apple ID Username
7906
7910
  - teamId: The ID of your App Store Connect team if you're in multiple teams
@@ -8238,7 +8242,7 @@ public func recreateSchemes(project: String) {
8238
8242
  - platform: Provide the platform of the device to register as (ios, mac)
8239
8243
  - udid: Provide the UDID of the device to register as
8240
8244
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
8241
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8245
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
8242
8246
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8243
8247
  - teamName: The name of your Developer Portal team if you're in multiple teams
8244
8248
  - username: Optional: Your Apple ID
@@ -8286,7 +8290,7 @@ public func recreateSchemes(project: String) {
8286
8290
  - devices: A hash of devices, with the name as key and the UDID as value
8287
8291
  - devicesFile: Provide a path to a file with the devices to register. For the format of the file see the examples
8288
8292
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
8289
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8293
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
8290
8294
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8291
8295
  - teamName: The name of your Developer Portal team if you're in multiple teams
8292
8296
  - username: Optional: Your Apple ID
@@ -9405,7 +9409,7 @@ public func setBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
9405
9409
 
9406
9410
  - parameters:
9407
9411
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
9408
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
9412
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9409
9413
  - appIdentifier: The bundle identifier of your app
9410
9414
  - username: Your Apple ID Username
9411
9415
  - version: The version number to create/update
@@ -9759,7 +9763,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
9759
9763
  - force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
9760
9764
  - appIdentifier: The bundle identifier of your app
9761
9765
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
9762
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
9766
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9763
9767
  - username: Your Apple ID Username
9764
9768
  - teamId: The ID of your Developer Portal team if you're in multiple teams
9765
9769
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -9994,6 +9998,7 @@ public func slackTrainStart(distance: Int = 5,
9994
9998
  - scheme: Scheme to use when calling slather
9995
9999
  - configuration: Configuration to use when calling slather (since slather-2.4.1)
9996
10000
  - inputFormat: The input format that slather should look for
10001
+ - github: Tell slather that it is running on Github Actions
9997
10002
  - buildkite: Tell slather that it is running on Buildkite
9998
10003
  - teamcity: Tell slather that it is running on TeamCity
9999
10004
  - jenkins: Tell slather that it is running on Jenkins
@@ -10029,6 +10034,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10029
10034
  scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10030
10035
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10031
10036
  inputFormat: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10037
+ github: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10032
10038
  buildkite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10033
10039
  teamcity: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10034
10040
  jenkins: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
@@ -10061,6 +10067,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10061
10067
  let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
10062
10068
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
10063
10069
  let inputFormatArg = inputFormat.asRubyArgument(name: "input_format", type: nil)
10070
+ let githubArg = github.asRubyArgument(name: "github", type: nil)
10064
10071
  let buildkiteArg = buildkite.asRubyArgument(name: "buildkite", type: nil)
10065
10072
  let teamcityArg = teamcity.asRubyArgument(name: "teamcity", type: nil)
10066
10073
  let jenkinsArg = jenkins.asRubyArgument(name: "jenkins", type: nil)
@@ -10092,6 +10099,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10092
10099
  schemeArg,
10093
10100
  configurationArg,
10094
10101
  inputFormatArg,
10102
+ githubArg,
10095
10103
  buildkiteArg,
10096
10104
  teamcityArg,
10097
10105
  jenkinsArg,
@@ -10918,7 +10926,7 @@ public func swiftlint(mode: String = "lint",
10918
10926
  - skipProvisioningProfiles: Skip syncing provisioning profiles
10919
10927
  - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
10920
10928
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
10921
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
10929
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
10922
10930
  - username: Your Apple ID Username
10923
10931
  - teamId: The ID of your Developer Portal team if you're in multiple teams
10924
10932
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -11188,7 +11196,7 @@ public func testfairy(apiKey: String,
11188
11196
 
11189
11197
  - parameters:
11190
11198
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
11191
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
11199
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
11192
11200
  - username: Your Apple ID Username
11193
11201
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
11194
11202
  - appPlatform: The platform to use (optional)
@@ -12036,7 +12044,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12036
12044
 
12037
12045
  - parameters:
12038
12046
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
12039
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
12047
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
12040
12048
  - username: Your Apple ID Username
12041
12049
  - appIdentifier: The bundle identifier of your app
12042
12050
  - appVersion: The version that should be edited or created
@@ -12528,7 +12536,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
12528
12536
 
12529
12537
  - parameters:
12530
12538
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
12531
- - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
12539
+ - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
12532
12540
  - username: Your Apple ID Username
12533
12541
  - appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
12534
12542
  - appPlatform: The platform to use (optional)
@@ -13061,7 +13069,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13061
13069
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13062
13070
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13063
13071
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13064
- ideFoundationPath: String = "/Applications/Xcode-beta.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13072
+ ideFoundationPath: String = "/Applications/Xcode-12.5.1.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13065
13073
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
13066
13074
  {
13067
13075
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13263,4 +13271,4 @@ public let snapshotfile = Snapshotfile()
13263
13271
 
13264
13272
  // Please don't remove the lines below
13265
13273
  // They are used to detect outdated files
13266
- // FastlaneRunnerAPIVersion [0.9.135]
13274
+ // FastlaneRunnerAPIVersion [0.9.136]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.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.85]
199
+ // FastlaneRunnerAPIVersion [0.9.86]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.0
@@ -23,7 +23,7 @@ public protocol MatchfileProtocol: class {
23
23
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
24
24
  var apiKeyPath: String? { get }
25
25
 
26
- /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
26
+ /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
27
27
  var apiKey: [String: Any]? { get }
28
28
 
29
29
  /// Your Apple ID Username
@@ -184,4 +184,4 @@ public extension MatchfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.79]
187
+ // FastlaneRunnerAPIVersion [0.9.80]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.0
@@ -5,7 +5,7 @@ public protocol PrecheckfileProtocol: class {
5
5
  /// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
6
6
  var apiKeyPath: String? { get }
7
7
 
8
- /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
8
+ /// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
9
9
  var apiKey: [String: Any]? { get }
10
10
 
11
11
  /// The bundle identifier of your app
@@ -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.78]
55
+ // FastlaneRunnerAPIVersion [0.9.79]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.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.90]
299
+ // FastlaneRunnerAPIVersion [0.9.91]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.0
@@ -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.80]
99
+ // FastlaneRunnerAPIVersion [0.9.81]
@@ -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.193.1
20
+ // Generated with fastlane 2.194.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.74]
203
+ // FastlaneRunnerAPIVersion [0.9.75]
@@ -51,11 +51,11 @@
51
51
  "macOS": "11.5.2"
52
52
  },
53
53
  "monterey": {
54
- "HOMEBREW_VERSION": "3.2.6-34-g6bb3699",
54
+ "HOMEBREW_VERSION": "3.2.12-9-gb19fcef",
55
55
  "HOMEBREW_PREFIX": "/usr/local",
56
- "Homebrew/homebrew-core": "b7523de28df0f0f819ff2c49c84611eec19f5455",
57
- "CLT": "13.0.0.0.1.1626155413",
58
- "Xcode": "13.0",
56
+ "Homebrew/homebrew-core": "e79d8126370187be3bd7be6bdbffacf803732113",
57
+ "CLT": "13.0.0.0.1.1628499445",
58
+ "Xcode": "12.5.1",
59
59
  "macOS": "12.0"
60
60
  }
61
61
  }
@@ -156,7 +156,7 @@ module FastlaneCore
156
156
  #
157
157
  # If set, this method will only return true if all three statuses are complete
158
158
  if wait_for_build_beta_detail_processing
159
- is_processed &&= build.build_beta_detail.processed?
159
+ is_processed &&= (build.build_beta_detail&.processed? || false)
160
160
  end
161
161
 
162
162
  return is_processed
@@ -83,7 +83,7 @@ module Match
83
83
  end),
84
84
  FastlaneCore::ConfigItem.new(key: :api_key,
85
85
  env_names: ["SIGH_API_KEY", "APP_STORE_CONNECT_API_KEY"],
86
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
86
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
87
87
  type: Hash,
88
88
  optional: true,
89
89
  sensitive: true,
@@ -20,7 +20,7 @@ module Pilot
20
20
  end),
21
21
  FastlaneCore::ConfigItem.new(key: :api_key,
22
22
  env_names: ["PILOT_API_KEY", "APP_STORE_CONNECT_API_KEY"],
23
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
23
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
24
24
  type: Hash,
25
25
  optional: true,
26
26
  sensitive: true,
@@ -35,7 +35,7 @@ module Precheck
35
35
  end),
36
36
  FastlaneCore::ConfigItem.new(key: :api_key,
37
37
  env_names: ["PRECHECK_API_KEY", "APP_STORE_CONNECT_API_KEY"],
38
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
38
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
39
39
  type: Hash,
40
40
  optional: true,
41
41
  sensitive: true,
@@ -644,7 +644,7 @@ function resign {
644
644
  # Get the old and new app identifier (prefix)
645
645
  APP_ID_KEY="application-identifier"
646
646
  # Extract just the identifier from the value
647
- # Use the fact that we are after some identifer, which is always at the start of the string
647
+ # Use the fact that we are after some identifier, which is always at the start of the string
648
648
  OLD_APP_ID=$(PlistBuddy -c "Print $APP_ID_KEY" "$APP_ENTITLEMENTS" | grep -E '^[A-Z0-9]*' -o | tr -d '\n')
649
649
  NEW_APP_ID=$(PlistBuddy -c "Print $APP_ID_KEY" "$PROFILE_ENTITLEMENTS" | grep -E '^[A-Z0-9]*' -o | tr -d '\n')
650
650
 
@@ -66,7 +66,7 @@ module Sigh
66
66
  end),
67
67
  FastlaneCore::ConfigItem.new(key: :api_key,
68
68
  env_names: ["SIGH_API_KEY", "APP_STORE_CONNECT_API_KEY"],
69
- description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
69
+ description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)",
70
70
  type: Hash,
71
71
  optional: true,
72
72
  sensitive: true,
@@ -116,7 +116,8 @@ module Snapshot
116
116
  device_udid = TestCommandGenerator.device_udid(device_type)
117
117
 
118
118
  UI.message("Launch Simulator #{device_type}")
119
- Helper.backticks("xcrun instruments -w #{device_udid} &> /dev/null")
119
+ # Boot the simulator and wait for it to finish booting
120
+ Helper.backticks("xcrun simctl bootstatus #{device_udid} -b &> /dev/null")
120
121
 
121
122
  UI.message("Overriding Status Bar")
122
123
 
@@ -112,7 +112,7 @@ module Spaceship
112
112
 
113
113
  # @deprecated
114
114
  def fetch_age_rating_declaration(client: nil)
115
- raise 'AppStoreVersion no longer as AgeRatingDelcaration as of App Store Connect API 1.3 - Use AppInfo instead'
115
+ raise 'AppStoreVersion no longer as AgeRatingDeclaration as of App Store Connect API 1.3 - Use AppInfo instead'
116
116
  end
117
117
 
118
118
  #
@@ -13,6 +13,8 @@ module Supply
13
13
  apk_version_codes.concat(upload_bundles) unless Supply.config[:skip_upload_aab]
14
14
  upload_mapping(apk_version_codes)
15
15
 
16
+ track_to_update = Supply.config[:track]
17
+
16
18
  apk_version_codes.concat(Supply.config[:version_codes_to_retain]) if Supply.config[:version_codes_to_retain]
17
19
 
18
20
  if !apk_version_codes.empty?
@@ -23,13 +25,14 @@ module Supply
23
25
  else
24
26
  # Only promote or rollout if we don't have version codes
25
27
  if Supply.config[:track_promote_to]
28
+ track_to_update = Supply.config[:track_promote_to]
26
29
  promote_track
27
30
  elsif !Supply.config[:rollout].nil? && Supply.config[:track].to_s != ""
28
31
  update_rollout
29
32
  end
30
33
  end
31
34
 
32
- perform_upload_meta(apk_version_codes)
35
+ perform_upload_meta(apk_version_codes, track_to_update)
33
36
 
34
37
  if Supply.config[:validate_only]
35
38
  UI.message("Validating all changes with Google Play...")
@@ -70,7 +73,7 @@ module Supply
70
73
  end
71
74
  end
72
75
 
73
- def perform_upload_meta(version_codes)
76
+ def perform_upload_meta(version_codes, track_name)
74
77
  if (!Supply.config[:skip_upload_metadata] || !Supply.config[:skip_upload_images] || !Supply.config[:skip_upload_changelogs] || !Supply.config[:skip_upload_screenshots]) && metadata_path
75
78
  # Use version code from config if version codes is empty and no nil or empty string
76
79
  version_codes = [Supply.config[:version_code]] if version_codes.empty?
@@ -81,7 +84,7 @@ module Supply
81
84
  version_codes.each do |version_code|
82
85
  UI.user_error!("Could not find folder #{metadata_path}") unless File.directory?(metadata_path)
83
86
 
84
- track, release = fetch_track_and_release!(Supply.config[:track], version_code)
87
+ track, release = fetch_track_and_release!(track_name, version_code)
85
88
  UI.user_error!("Unable to find the requested track - '#{Supply.config[:track]}'") unless track
86
89
  UI.user_error!("Could not find release for version code '#{version_code}' to update changelog") unless release
87
90
 
@@ -98,7 +101,7 @@ module Supply
98
101
  release_notes << upload_changelog(language, version_code) unless Supply.config[:skip_upload_changelogs]
99
102
  end
100
103
 
101
- upload_changelogs(release_notes, release, track) unless release_notes.empty?
104
+ upload_changelogs(release_notes, release, track, track_name) unless release_notes.empty?
102
105
  end
103
106
  end
104
107
  end
@@ -239,9 +242,9 @@ module Supply
239
242
  )
240
243
  end
241
244
 
242
- def upload_changelogs(release_notes, release, track)
245
+ def upload_changelogs(release_notes, release, track, track_name)
243
246
  release.release_notes = release_notes
244
- client.upload_changelogs(track, Supply.config[:track])
247
+ client.upload_changelogs(track, track_name)
245
248
  end
246
249
 
247
250
  def upload_metadata(language, listing)
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.193.1
4
+ version: 2.194.0
5
5
  platform: ruby
6
6
  authors:
7
- - Maksym Grebenets
8
- - Jérôme Lacoste
9
- - Fumiya Nakamura
10
- - Olivier Halligon
11
- - Daniel Jankowski
12
- - Kohki Miki
13
- - Jimmy Dee
14
- - Jan Piotrowski
15
- - Manish Rathi
16
- - Manu Wallner
7
+ - Josh Holtz
8
+ - Danielle Tomlinson
17
9
  - Jorge Revuelta H
10
+ - Aaron Brager
11
+ - Kohki Miki
18
12
  - Joshua Liebowitz
13
+ - Olivier Halligon
14
+ - Fumiya Nakamura
15
+ - Satoshi Namai
16
+ - Max Ott
19
17
  - Helmut Januschka
20
- - Aaron Brager
21
- - Josh Holtz
22
- - Danielle Tomlinson
18
+ - Roger Oba
23
19
  - Felix Krause
20
+ - Maksym Grebenets
21
+ - Jérôme Lacoste
22
+ - Jimmy Dee
24
23
  - Luka Mirosevic
25
- - Roger Oba
24
+ - Manish Rathi
25
+ - Manu Wallner
26
26
  - Andrew McBurney
27
- - Iulian Onofrei
28
- - Matthew Ellis
29
- - Satoshi Namai
30
- - Max Ott
31
27
  - Stefan Natchev
28
+ - Daniel Jankowski
29
+ - Jan Piotrowski
30
+ - Matthew Ellis
31
+ - Iulian Onofrei
32
32
  autorequire:
33
33
  bindir: bin
34
34
  cert_chain: []
35
- date: 2021-09-02 00:00:00.000000000 Z
35
+ date: 2021-09-15 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: xcodeproj
@@ -1013,6 +1013,7 @@ files:
1013
1013
  - fastlane/lib/fastlane.rb
1014
1014
  - fastlane/lib/fastlane/action.rb
1015
1015
  - fastlane/lib/fastlane/action_collector.rb
1016
+ - fastlane/lib/fastlane/actions/.notarize.rb.swp
1016
1017
  - fastlane/lib/fastlane/actions/README.md
1017
1018
  - fastlane/lib/fastlane/actions/actions_helper.rb
1018
1019
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1713,7 +1714,6 @@ files:
1713
1714
  - spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
1714
1715
  - spaceship/lib/spaceship/connect_api/response.rb
1715
1716
  - spaceship/lib/spaceship/connect_api/spaceship.rb
1716
- - spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp
1717
1717
  - spaceship/lib/spaceship/connect_api/testflight/client.rb
1718
1718
  - spaceship/lib/spaceship/connect_api/testflight/testflight.rb
1719
1719
  - spaceship/lib/spaceship/connect_api/token.rb
@@ -1874,7 +1874,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1874
1874
  - !ruby/object:Gem::Version
1875
1875
  version: '0'
1876
1876
  requirements: []
1877
- rubygems_version: 3.1.4
1877
+ rubygems_version: 3.1.6
1878
1878
  signing_key:
1879
1879
  specification_version: 4
1880
1880
  summary: The easiest way to automate beta deployments and releases for your iOS and