fastlane 2.193.1 → 2.194.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 (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