fastlane 2.206.2 → 2.207.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +94 -94
  3. data/deliver/lib/deliver/runner.rb +31 -35
  4. data/deliver/lib/deliver/upload_price_tier.rb +3 -1
  5. data/deliver/lib/deliver/upload_screenshots.rb +1 -1
  6. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
  9. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  10. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  11. data/fastlane/lib/fastlane/version.rb +1 -1
  12. data/fastlane/swift/Deliverfile.swift +1 -1
  13. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  14. data/fastlane/swift/Fastlane.swift +14 -2
  15. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. data/fastlane/swift/Gymfile.swift +1 -1
  17. data/fastlane/swift/GymfileProtocol.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  20. data/fastlane/swift/Precheckfile.swift +1 -1
  21. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  22. data/fastlane/swift/Scanfile.swift +1 -1
  23. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  24. data/fastlane/swift/Screengrabfile.swift +1 -1
  25. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  26. data/fastlane/swift/Snapshotfile.swift +1 -1
  27. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  28. data/fastlane/swift/SocketClient.swift +1 -1
  29. data/fastlane/swift/formatting/Brewfile.lock.json +21 -16
  30. data/fastlane_core/lib/fastlane_core/project.rb +19 -2
  31. data/frameit/lib/frameit/device_types.rb +2 -0
  32. data/match/lib/match/.module.rb.swp +0 -0
  33. data/match/lib/match/.nuke.rb.swp +0 -0
  34. data/match/lib/match/encryption.rb +3 -0
  35. data/match/lib/match/importer.rb +1 -0
  36. data/match/lib/match/module.rb +53 -1
  37. data/match/lib/match/nuke.rb +3 -40
  38. data/match/lib/match/options.rb +6 -0
  39. data/match/lib/match/runner.rb +5 -1
  40. data/match/lib/match/spaceship_ensure.rb +4 -2
  41. data/match/lib/match/storage/gitlab/client.rb +86 -0
  42. data/match/lib/match/storage/gitlab/secure_file.rb +66 -0
  43. data/match/lib/match/storage/gitlab_secure_files.rb +179 -0
  44. data/match/lib/match/storage.rb +4 -0
  45. data/scan/lib/scan/detect_values.rb +6 -0
  46. data/sigh/lib/sigh/download_all.rb +14 -2
  47. data/sigh/lib/sigh/module.rb +3 -1
  48. data/sigh/lib/sigh/runner.rb +7 -0
  49. data/snapshot/lib/snapshot/reports_generator.rb +1 -0
  50. data/spaceship/lib/spaceship/connect_api/models/app.rb +4 -2
  51. data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
  52. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +18 -8
  53. metadata +27 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8709bb6f807e965a0a9994a1fedefa13e0b92a05d9424308cd7cbcac25a5e02f
4
- data.tar.gz: f45bede96abcdeb1307634c05547123266ce8c3e4e8a2ca2d078c112df9c5c00
3
+ metadata.gz: 03436b89c4752dfccf0502507af81f0776e6f3222d247695dfbf4973efc30ae7
4
+ data.tar.gz: 2da8f7113c916e3b5190928d2ed04a7f1a8bf7e5fac54066a54482cf61b407db
5
5
  SHA512:
6
- metadata.gz: 7051a939573b286ec7c73e050824b8683266f4560ef4ea4787d8b3f19c238130fa1ac1426e157f545655470a7be32bc99496d1ca813387fd9c37488342a7b0bd
7
- data.tar.gz: b84234e26b2fb02313170410c0e23c26729cc6f4cb35f899265eabec327f9a09cb0542f042f6cd99e9c5101132c257f256a53f4d7352a50a6c77376f90a0003b
6
+ metadata.gz: f57d60ee294702a1f61e187eeecb5ce48f81258b6fcdfb6b4c7a8d4999dc42049f1831733ef605c4151be5e3fb967ea4dca9487f86292dfcbac8196e50e39d6b
7
+ data.tar.gz: 6a315c09bab9709040737edc9b7050f74516fae1825abe20694d821c311c848cd1c9c3da6bcaee46c7c636da107a0a66b5d799be611b349f7ef63846835940be
data/README.md CHANGED
@@ -35,23 +35,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='olivier-halligon'>
39
- <a href='https://github.com/AliSoftware'>
40
- <img src='https://github.com/AliSoftware.png' width='140px;'>
41
- </a>
42
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
43
- </td>
44
- <td id='maksym-grebenets'>
45
- <a href='https://github.com/mgrebenets'>
46
- <img src='https://github.com/mgrebenets.png' width='140px;'>
47
- </a>
48
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
49
- </td>
50
- <td id='iulian-onofrei'>
51
- <a href='https://github.com/revolter'>
52
- <img src='https://github.com/revolter.png' width='140px;'>
38
+ <td id='aaron-brager'>
39
+ <a href='https://github.com/getaaron'>
40
+ <img src='https://github.com/getaaron.png' width='140px;'>
53
41
  </a>
54
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
55
43
  </td>
56
44
  <td id='satoshi-namai'>
57
45
  <a href='https://github.com/ainame'>
@@ -59,25 +47,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
59
47
  </a>
60
48
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
61
49
  </td>
62
- <td id='stefan-natchev'>
63
- <a href='https://github.com/snatchev'>
64
- <img src='https://github.com/snatchev.png' width='140px;'>
65
- </a>
66
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
67
- </td>
68
- </tr>
69
- <tr>
70
- <td id='jimmy-dee'>
71
- <a href='https://github.com/jdee'>
72
- <img src='https://github.com/jdee.png' width='140px;'>
73
- </a>
74
- <h4 align='center'>Jimmy Dee</h4>
75
- </td>
76
- <td id='andrew-mcburney'>
77
- <a href='https://github.com/armcburney'>
78
- <img src='https://github.com/armcburney.png' width='140px;'>
50
+ <td id='łukasz-grabowski'>
51
+ <a href='https://github.com/lucgrabowski'>
52
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
79
53
  </a>
80
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
54
+ <h4 align='center'>Łukasz Grabowski</h4>
81
55
  </td>
82
56
  <td id='luka-mirosevic'>
83
57
  <a href='https://github.com/lmirosevic'>
@@ -85,37 +59,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
85
59
  </a>
86
60
  <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
87
61
  </td>
62
+ <td id='daniel-jankowski'>
63
+ <a href='https://github.com/mollyIV'>
64
+ <img src='https://github.com/mollyIV.png' width='140px;'>
65
+ </a>
66
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
67
+ </td>
68
+ </tr>
69
+ <tr>
88
70
  <td id='jorge-revuelta-h'>
89
71
  <a href='https://github.com/minuscorp'>
90
72
  <img src='https://github.com/minuscorp.png' width='140px;'>
91
73
  </a>
92
74
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
93
75
  </td>
94
- <td id='aaron-brager'>
95
- <a href='https://github.com/getaaron'>
96
- <img src='https://github.com/getaaron.png' width='140px;'>
76
+ <td id='fumiya-nakamura'>
77
+ <a href='https://github.com/nafu'>
78
+ <img src='https://github.com/nafu.png' width='140px;'>
97
79
  </a>
98
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
81
+ </td>
82
+ <td id='manu-wallner'>
83
+ <a href='https://github.com/milch'>
84
+ <img src='https://github.com/milch.png' width='140px;'>
85
+ </a>
86
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
99
87
  </td>
100
- </tr>
101
- <tr>
102
88
  <td id='joshua-liebowitz'>
103
89
  <a href='https://github.com/taquitos'>
104
90
  <img src='https://github.com/taquitos.png' width='140px;'>
105
91
  </a>
106
92
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
107
93
  </td>
108
- <td id='danielle-tomlinson'>
109
- <a href='https://github.com/endocrimes'>
110
- <img src='https://github.com/endocrimes.png' width='140px;'>
94
+ <td id='roger-oba'>
95
+ <a href='https://github.com/rogerluan'>
96
+ <img src='https://github.com/rogerluan.png' width='140px;'>
111
97
  </a>
112
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
113
99
  </td>
114
- <td id='jérôme-lacoste'>
115
- <a href='https://github.com/lacostej'>
116
- <img src='https://github.com/lacostej.png' width='140px;'>
100
+ </tr>
101
+ <tr>
102
+ <td id='stefan-natchev'>
103
+ <a href='https://github.com/snatchev'>
104
+ <img src='https://github.com/snatchev.png' width='140px;'>
117
105
  </a>
118
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
107
+ </td>
108
+ <td id='olivier-halligon'>
109
+ <a href='https://github.com/AliSoftware'>
110
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
111
+ </a>
112
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
119
113
  </td>
120
114
  <td id='josh-holtz'>
121
115
  <a href='https://github.com/joshdholtz'>
@@ -123,31 +117,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
123
117
  </a>
124
118
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
125
119
  </td>
126
- <td id='jan-piotrowski'>
127
- <a href='https://github.com/janpio'>
128
- <img src='https://github.com/janpio.png' width='140px;'>
120
+ <td id='iulian-onofrei'>
121
+ <a href='https://github.com/revolter'>
122
+ <img src='https://github.com/revolter.png' width='140px;'>
129
123
  </a>
130
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
125
+ </td>
126
+ <td id='manish-rathi'>
127
+ <a href='https://github.com/crazymanish'>
128
+ <img src='https://github.com/crazymanish.png' width='140px;'>
129
+ </a>
130
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='max-ott'>
135
- <a href='https://github.com/max-ott'>
136
- <img src='https://github.com/max-ott.png' width='140px;'>
134
+ <td id='jérôme-lacoste'>
135
+ <a href='https://github.com/lacostej'>
136
+ <img src='https://github.com/lacostej.png' width='140px;'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
139
139
  </td>
140
- <td id='daniel-jankowski'>
141
- <a href='https://github.com/mollyIV'>
142
- <img src='https://github.com/mollyIV.png' width='140px;'>
140
+ <td id='felix-krause'>
141
+ <a href='https://github.com/KrauseFx'>
142
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
145
145
  </td>
146
- <td id='roger-oba'>
147
- <a href='https://github.com/rogerluan'>
148
- <img src='https://github.com/rogerluan.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;'>
149
149
  </a>
150
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
151
+ </td>
152
+ <td id='jan-piotrowski'>
153
+ <a href='https://github.com/janpio'>
154
+ <img src='https://github.com/janpio.png' width='140px;'>
155
+ </a>
156
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
151
157
  </td>
152
158
  <td id='helmut-januschka'>
153
159
  <a href='https://github.com/hjanuschka'>
@@ -155,51 +161,45 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
155
161
  </a>
156
162
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
157
163
  </td>
158
- <td id='fumiya-nakamura'>
159
- <a href='https://github.com/nafu'>
160
- <img src='https://github.com/nafu.png' width='140px;'>
161
- </a>
162
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
163
- </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='łukasz-grabowski'>
167
- <a href='https://github.com/lucgrabowski'>
168
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
166
+ <td id='maksym-grebenets'>
167
+ <a href='https://github.com/mgrebenets'>
168
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'>Łukasz Grabowski</h4>
170
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</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='andrew-mcburney'>
173
+ <a href='https://github.com/armcburney'>
174
+ <img src='https://github.com/armcburney.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
177
177
  </td>
178
- <td id='matthew-ellis'>
179
- <a href='https://github.com/matthewellis'>
180
- <img src='https://github.com/matthewellis.png' width='140px;'>
178
+ <td id='jimmy-dee'>
179
+ <a href='https://github.com/jdee'>
180
+ <img src='https://github.com/jdee.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
182
+ <h4 align='center'>Jimmy Dee</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='max-ott'>
185
+ <a href='https://github.com/max-ott'>
186
+ <img src='https://github.com/max-ott.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/ott_max'>Max Ott</a></h4>
189
189
  </td>
190
- <td id='kohki-miki'>
191
- <a href='https://github.com/giginet'>
192
- <img src='https://github.com/giginet.png' width='140px;'>
190
+ <td id='matthew-ellis'>
191
+ <a href='https://github.com/matthewellis'>
192
+ <img src='https://github.com/matthewellis.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='felix-krause'>
199
- <a href='https://github.com/KrauseFx'>
200
- <img src='https://github.com/KrauseFx.png' width='140px;'>
198
+ <td id='danielle-tomlinson'>
199
+ <a href='https://github.com/endocrimes'>
200
+ <img src='https://github.com/endocrimes.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -165,35 +165,33 @@ module Deliver
165
165
  def verify_binary
166
166
  UI.message("Verifying binary with App Store Connect")
167
167
 
168
- verify_ipa = options[:ipa]
169
- verify_pkg = options[:pkg]
170
-
171
- # 2020-01-27
172
- # Only verify platform if if both ipa and pkg exists (for backwards support)
173
- if verify_ipa && verify_pkg
174
- verify_ipa = ["ios", "appletvos"].include?(options[:platform])
175
- verify_pkg = options[:platform] == "osx"
176
- end
168
+ ipa_path = options[:ipa]
169
+ pkg_path = options[:pkg]
170
+
171
+ platform = options[:platform]
172
+ transporter = transporter_for_selected_team
177
173
 
178
- if verify_ipa
174
+ case platform
175
+ when "ios", "appletvos"
179
176
  package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
180
177
  app_id: Deliver.cache[:app].id,
181
- ipa_path: options[:ipa],
178
+ ipa_path: ipa_path,
182
179
  package_path: "/tmp",
183
- platform: options[:platform]
180
+ platform: platform
184
181
  )
185
- elsif verify_pkg
182
+ result = transporter.verify(package_path: package_path)
183
+ when "osx"
186
184
  package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
187
185
  app_id: Deliver.cache[:app].id,
188
- pkg_path: options[:pkg],
186
+ pkg_path: pkg_path,
189
187
  package_path: "/tmp",
190
- platform: options[:platform]
188
+ platform: platform
191
189
  )
190
+ result = transporter.verify(package_path: package_path)
191
+ else
192
+ UI.user_error!("No suitable file found for verify for platform: #{options[:platform]}")
192
193
  end
193
194
 
194
- transporter = transporter_for_selected_team
195
- result = transporter.verify(package_path: package_path)
196
-
197
195
  unless result
198
196
  transporter_errors = transporter.displayable_errors
199
197
  UI.user_error!("Error verifying the binary file: \n #{transporter_errors}")
@@ -204,35 +202,33 @@ module Deliver
204
202
  def upload_binary
205
203
  UI.message("Uploading binary to App Store Connect")
206
204
 
207
- upload_ipa = options[:ipa]
208
- upload_pkg = options[:pkg]
205
+ ipa_path = options[:ipa]
206
+ pkg_path = options[:pkg]
209
207
 
210
- # 2020-01-27
211
- # Only verify platform if if both ipa and pkg exists (for backwards support)
212
- if upload_ipa && upload_pkg
213
- upload_ipa = ["ios", "appletvos"].include?(options[:platform])
214
- upload_pkg = options[:platform] == "osx"
215
- end
208
+ platform = options[:platform]
209
+ transporter = transporter_for_selected_team
216
210
 
217
- if upload_ipa
211
+ case platform
212
+ when "ios", "appletvos"
218
213
  package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
219
214
  app_id: Deliver.cache[:app].id,
220
- ipa_path: options[:ipa],
215
+ ipa_path: ipa_path,
221
216
  package_path: "/tmp",
222
- platform: options[:platform]
217
+ platform: platform
223
218
  )
224
- elsif upload_pkg
219
+ result = transporter.upload(package_path: package_path, asset_path: ipa_path)
220
+ when "osx"
225
221
  package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
226
222
  app_id: Deliver.cache[:app].id,
227
- pkg_path: options[:pkg],
223
+ pkg_path: pkg_path,
228
224
  package_path: "/tmp",
229
- platform: options[:platform]
225
+ platform: platform
230
226
  )
227
+ result = transporter.upload(package_path: package_path, asset_path: pkg_path)
228
+ else
229
+ UI.user_error!("No suitable file found for upload for platform: #{options[:platform]}")
231
230
  end
232
231
 
233
- transporter = transporter_for_selected_team
234
- result = transporter.upload(package_path: package_path, asset_path: upload_ipa || upload_pkg)
235
-
236
232
  unless result
237
233
  transporter_errors = transporter.displayable_errors
238
234
  UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
@@ -12,7 +12,9 @@ module Deliver
12
12
  app = Deliver.cache[:app]
13
13
 
14
14
  attributes = {}
15
- territory_ids = []
15
+
16
+ # Check App update method to understand how to use territory_ids.
17
+ territory_ids = nil # nil won't update app's territory_ids, empty array would remove app from sale.
16
18
 
17
19
  # As of 2020-09-14:
18
20
  # Official App Store Connect does not have an endpoint to get app prices for an app
@@ -145,7 +145,7 @@ module Deliver
145
145
  if duplicate
146
146
  UI.message("Previous uploaded. Skipping '#{screenshot.path}'...")
147
147
  else
148
- UI.verbose("Queued uplaod sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{screenshot.path}")
148
+ UI.verbose("Queued upload sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{screenshot.path}")
149
149
  worker.enqueue(UploadScreenshotJob.new(app_screenshot_set, screenshot.path))
150
150
  number_of_screenshots_per_set[app_screenshot_set] += 1
151
151
  end
@@ -80,7 +80,7 @@ module Fastlane
80
80
  description: "Path to info plist",
81
81
  optional: true,
82
82
  verify_block: proc do |value|
83
- UI.user_error!("Invalid plist file") unless value[-6..-1].casecmp(".plist").zero?
83
+ UI.user_error!("Invalid plist file") unless value.downcase.end_with?(".plist")
84
84
  end),
85
85
  FastlaneCore::ConfigItem.new(key: :scheme,
86
86
  env_name: "FL_UPDATE_PLIST_APP_SCHEME",
@@ -48,7 +48,7 @@ module Fastlane
48
48
  upload_dsym(resource, dsym)
49
49
  end
50
50
 
51
- # Return uplaoded dSYM paths
51
+ # Return uploaded dSYM paths
52
52
  uploaded_paths
53
53
  end
54
54
 
@@ -267,10 +267,11 @@ module Fastlane
267
267
 
268
268
  output_result = ""
269
269
 
270
+ override_architecture_prefix = params[:xcodebuild_architecture] ? "arch -#{params[:xcodebuild_architecture]} " : ""
270
271
  # In some cases the simulator is not booting up in time
271
272
  # One way to solve it is to try to rerun it for one more time
272
273
  begin
273
- output_result = Actions.sh "set -o pipefail && xcodebuild #{xcodebuild_args} #{pipe_command}"
274
+ output_result = Actions.sh "set -o pipefail && #{override_architecture_prefix}xcodebuild #{xcodebuild_args} #{pipe_command}"
274
275
  rescue => ex
275
276
  exit_status = $?.exitstatus
276
277
 
@@ -383,8 +384,9 @@ module Fastlane
383
384
  ['scheme', 'The scheme to build'],
384
385
  ['build_settings', 'Hash of additional build information'],
385
386
  ['xcargs', 'Pass additional xcodebuild options'],
386
- ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
387
387
  ['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
388
+ ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
389
+ ['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
388
390
  ['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
389
391
  ['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
390
392
  ['xcpretty_utf', 'Specifies xcpretty should use utf8 when reporting builds. This has no effect when raw_buildlog is specified.']
@@ -437,6 +439,7 @@ module Fastlane
437
439
  ['build_settings', 'Hash of additional build information'],
438
440
  ['xcargs', 'Pass additional xcodebuild options'],
439
441
  ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
442
+ ['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
440
443
  ['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
441
444
  ['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
442
445
  ['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
@@ -529,6 +532,7 @@ module Fastlane
529
532
  ['build_settings', 'Hash of additional build information'],
530
533
  ['xcargs', 'Pass additional xcodebuild options'],
531
534
  ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
535
+ ['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
532
536
  ['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
533
537
  ['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
534
538
  ['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
@@ -571,6 +575,7 @@ module Fastlane
571
575
  ['build_settings', 'Hash of additional build information'],
572
576
  ['xcargs', 'Pass additional xcodebuild options'],
573
577
  ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
578
+ ['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
574
579
  ['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
575
580
  ['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
576
581
  ['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
@@ -621,6 +626,7 @@ module Fastlane
621
626
  ['destination_timeout', 'The timeout for connecting to the simulator, in seconds'],
622
627
  ['enable_code_coverage', 'Turn code coverage on or off when testing. eg. true|false. Requires Xcode 7+'],
623
628
  ['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
629
+ ['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
624
630
  ['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
625
631
  ['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
626
632
  ['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ['lib']
18
18
 
19
- spec.required_ruby_version = '>= 2.5'
19
+ spec.required_ruby_version = '>= 2.6'
20
20
 
21
21
  # Don't add a dependency to fastlane or fastlane_re
22
22
  # since this would cause a circular dependency
@@ -3,7 +3,7 @@ require:
3
3
  - rubocop/require_tools
4
4
  - rubocop-performance
5
5
  AllCops:
6
- TargetRubyVersion: 2.5
6
+ TargetRubyVersion: 2.6
7
7
  NewCops: enable
8
8
  Include:
9
9
  - "**/*.rb"
@@ -18,6 +18,10 @@ AllCops:
18
18
  - "**/lib/assets/MatchfileTemplate"
19
19
  - "**/spec/fixtures/broken_files/broken_file.rb"
20
20
  - "**/*.provisionprofile"
21
+ Lint/ErbNewArguments:
22
+ Enabled: false
23
+ Style/SlicingWithRange:
24
+ Enabled: false
21
25
  Style/MultipleComparison:
22
26
  Enabled: false
23
27
  Style/PercentLiteralDelimiters:
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.206.2'.freeze
2
+ VERSION = '2.207.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.206.2
20
+ // Generated with fastlane 2.207.0
@@ -264,4 +264,4 @@ public extension DeliverfileProtocol {
264
264
 
265
265
  // Please don't remove the lines below
266
266
  // They are used to detect outdated files
267
- // FastlaneRunnerAPIVersion [0.9.105]
267
+ // FastlaneRunnerAPIVersion [0.9.106]