fastlane 2.206.1 → 2.208.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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  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/changelog_from_git_commits.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
  11. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -16
  12. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  13. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  14. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  15. data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
  16. data/fastlane/lib/fastlane/tools.rb +16 -0
  17. data/fastlane/lib/fastlane/version.rb +1 -1
  18. data/fastlane/swift/Deliverfile.swift +1 -1
  19. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  20. data/fastlane/swift/Fastlane.swift +18 -6
  21. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  22. data/fastlane/swift/Gymfile.swift +1 -1
  23. data/fastlane/swift/GymfileProtocol.swift +1 -1
  24. data/fastlane/swift/MainProcess.swift +2 -2
  25. data/fastlane/swift/Matchfile.swift +1 -1
  26. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  27. data/fastlane/swift/Precheckfile.swift +1 -1
  28. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  29. data/fastlane/swift/Scanfile.swift +1 -1
  30. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  31. data/fastlane/swift/Screengrabfile.swift +1 -1
  32. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  33. data/fastlane/swift/Snapshotfile.swift +1 -1
  34. data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
  35. data/fastlane/swift/SocketClient.swift +1 -1
  36. data/fastlane/swift/formatting/Brewfile.lock.json +21 -16
  37. data/fastlane_core/lib/fastlane_core/cert_checker.rb +7 -11
  38. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
  39. data/fastlane_core/lib/fastlane_core/project.rb +19 -2
  40. data/frameit/lib/frameit/device_types.rb +2 -0
  41. data/match/lib/match/encryption.rb +3 -0
  42. data/match/lib/match/importer.rb +1 -0
  43. data/match/lib/match/module.rb +53 -1
  44. data/match/lib/match/nuke.rb +3 -40
  45. data/match/lib/match/options.rb +6 -0
  46. data/match/lib/match/runner.rb +11 -1
  47. data/match/lib/match/setup.rb +1 -1
  48. data/match/lib/match/spaceship_ensure.rb +4 -2
  49. data/match/lib/match/storage/gitlab/client.rb +102 -0
  50. data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
  51. data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
  52. data/match/lib/match/storage.rb +4 -0
  53. data/match/lib/match/table_printer.rb +2 -1
  54. data/match/lib/match/utils.rb +10 -2
  55. data/pem/lib/pem/manager.rb +1 -1
  56. data/scan/lib/scan/detect_values.rb +6 -0
  57. data/sigh/lib/sigh/download_all.rb +14 -2
  58. data/sigh/lib/sigh/module.rb +3 -1
  59. data/sigh/lib/sigh/runner.rb +7 -0
  60. data/snapshot/lib/snapshot/options.rb +1 -1
  61. data/snapshot/lib/snapshot/reports_generator.rb +1 -0
  62. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
  63. data/spaceship/lib/spaceship/connect_api/models/app.rb +4 -2
  64. data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
  65. data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
  66. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +18 -8
  67. data/spaceship/lib/spaceship/tunes/.tunes_client.rb.swp +0 -0
  68. data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
  69. data/trainer/lib/trainer/junit_generator.rb +1 -1
  70. metadata +24 -21
  71. data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
  72. data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d672d93684e080402a5134a7119d8919c103ae31b4225039e8c51eb82f1ddd3c
4
- data.tar.gz: '08fe0b17e3e93c07e62e456a5eb7964d29a6d12a1782c0961a275d3a9090ed40'
3
+ metadata.gz: cfd35c12569450bf934a4c43012dbb80248a7411fd1e523ecd437da887cbff61
4
+ data.tar.gz: 8fe0ef2bcae204fd8b8eb5f13e1ec1795385d76cf7bcd909550130522f7edbf2
5
5
  SHA512:
6
- metadata.gz: a784a27e27f1edae3c450828f938c9a673db46ad7755eb45878807aac3a4b422d32b48c3ff9ff438e5ee58214d28c217371f51f95cc1c359c83be7104c096c30
7
- data.tar.gz: ad732679e342ee88fb948f6d3a339c60301dfad48952953d211fd335046e573661305f25e7797131566f3bf10965745c625c98cf91fd9fd2da72910c12433c5b
6
+ metadata.gz: f2d2b72ecc903c7c4faed72fe24df7d55a9b2ad56aabc68f0b8c80bf11af4ca1a40c7b0ab77eb0977d80dae9204846a769f118e7caa8e3ac8e0a93700c87cb91
7
+ data.tar.gz: 9b524e9a9d80a0c5b2d2bd87f9577574a77b7a1543c61cde0f562fa406e61b72b711718dc5054e749da9c97cded3620bf94aff90194d1959392222f773bb3826
data/README.md CHANGED
@@ -35,43 +35,43 @@ 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='jérôme-lacoste'>
39
- <a href='https://github.com/lacostej'>
40
- <img src='https://github.com/lacostej.png' width='140px;'>
38
+ <td id='max-ott'>
39
+ <a href='https://github.com/max-ott'>
40
+ <img src='https://github.com/max-ott.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
43
43
  </td>
44
- <td id='jan-piotrowski'>
45
- <a href='https://github.com/janpio'>
46
- <img src='https://github.com/janpio.png' width='140px;'>
44
+ <td id='felix-krause'>
45
+ <a href='https://github.com/KrauseFx'>
46
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</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='jorge-revuelta-h'>
51
+ <a href='https://github.com/minuscorp'>
52
+ <img src='https://github.com/minuscorp.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/minuscorp'>Jorge Revuelta H</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='andrew-mcburney'>
57
+ <a href='https://github.com/armcburney'>
58
+ <img src='https://github.com/armcburney.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/armcburney'>Andrew McBurney</a></h4>
61
61
  </td>
62
- <td id='danielle-tomlinson'>
63
- <a href='https://github.com/endocrimes'>
64
- <img src='https://github.com/endocrimes.png' width='140px;'>
62
+ <td id='olivier-halligon'>
63
+ <a href='https://github.com/AliSoftware'>
64
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
70
- <td id='manish-rathi'>
71
- <a href='https://github.com/crazymanish'>
72
- <img src='https://github.com/crazymanish.png' width='140px;'>
70
+ <td id='jérôme-lacoste'>
71
+ <a href='https://github.com/lacostej'>
72
+ <img src='https://github.com/lacostej.png' width='140px;'>
73
73
  </a>
74
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
75
75
  </td>
76
76
  <td id='iulian-onofrei'>
77
77
  <a href='https://github.com/revolter'>
@@ -79,31 +79,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
79
79
  </a>
80
80
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
81
81
  </td>
82
+ <td id='łukasz-grabowski'>
83
+ <a href='https://github.com/lucgrabowski'>
84
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
85
+ </a>
86
+ <h4 align='center'>Łukasz Grabowski</h4>
87
+ </td>
88
+ <td id='manish-rathi'>
89
+ <a href='https://github.com/crazymanish'>
90
+ <img src='https://github.com/crazymanish.png' width='140px;'>
91
+ </a>
92
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</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;'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
99
+ </td>
100
+ </tr>
101
+ <tr>
102
+ <td id='jimmy-dee'>
103
+ <a href='https://github.com/jdee'>
104
+ <img src='https://github.com/jdee.png' width='140px;'>
105
+ </a>
106
+ <h4 align='center'>Jimmy Dee</h4>
107
+ </td>
108
+ <td id='maksym-grebenets'>
109
+ <a href='https://github.com/mgrebenets'>
110
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
111
+ </a>
112
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
113
+ </td>
82
114
  <td id='luka-mirosevic'>
83
115
  <a href='https://github.com/lmirosevic'>
84
116
  <img src='https://github.com/lmirosevic.png' width='140px;'>
85
117
  </a>
86
118
  <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
87
119
  </td>
88
- <td id='aaron-brager'>
89
- <a href='https://github.com/getaaron'>
90
- <img src='https://github.com/getaaron.png' width='140px;'>
120
+ <td id='matthew-ellis'>
121
+ <a href='https://github.com/matthewellis'>
122
+ <img src='https://github.com/matthewellis.png' width='140px;'>
91
123
  </a>
92
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
93
125
  </td>
94
- <td id='olivier-halligon'>
95
- <a href='https://github.com/AliSoftware'>
96
- <img src='https://github.com/AliSoftware.png' width='140px;'>
126
+ <td id='joshua-liebowitz'>
127
+ <a href='https://github.com/taquitos'>
128
+ <img src='https://github.com/taquitos.png' width='140px;'>
97
129
  </a>
98
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
99
131
  </td>
100
132
  </tr>
101
133
  <tr>
102
- <td id='andrew-mcburney'>
103
- <a href='https://github.com/armcburney'>
104
- <img src='https://github.com/armcburney.png' width='140px;'>
134
+ <td id='roger-oba'>
135
+ <a href='https://github.com/rogerluan'>
136
+ <img src='https://github.com/rogerluan.png' width='140px;'>
105
137
  </a>
106
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
139
+ </td>
140
+ <td id='fumiya-nakamura'>
141
+ <a href='https://github.com/nafu'>
142
+ <img src='https://github.com/nafu.png' width='140px;'>
143
+ </a>
144
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
107
145
  </td>
108
146
  <td id='manu-wallner'>
109
147
  <a href='https://github.com/milch'>
@@ -111,31 +149,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
111
149
  </a>
112
150
  <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
113
151
  </td>
114
- <td id='stefan-natchev'>
115
- <a href='https://github.com/snatchev'>
116
- <img src='https://github.com/snatchev.png' width='140px;'>
152
+ <td id='aaron-brager'>
153
+ <a href='https://github.com/getaaron'>
154
+ <img src='https://github.com/getaaron.png' width='140px;'>
117
155
  </a>
118
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
119
157
  </td>
120
- <td id='łukasz-grabowski'>
121
- <a href='https://github.com/lucgrabowski'>
122
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
158
+ <td id='jan-piotrowski'>
159
+ <a href='https://github.com/janpio'>
160
+ <img src='https://github.com/janpio.png' width='140px;'>
123
161
  </a>
124
- <h4 align='center'>Łukasz Grabowski</h4>
162
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
125
163
  </td>
164
+ </tr>
165
+ <tr>
126
166
  <td id='satoshi-namai'>
127
167
  <a href='https://github.com/ainame'>
128
168
  <img src='https://github.com/ainame.png' width='140px;'>
129
169
  </a>
130
170
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
131
171
  </td>
132
- </tr>
133
- <tr>
134
- <td id='josh-holtz'>
135
- <a href='https://github.com/joshdholtz'>
136
- <img src='https://github.com/joshdholtz.png' width='140px;'>
172
+ <td id='danielle-tomlinson'>
173
+ <a href='https://github.com/endocrimes'>
174
+ <img src='https://github.com/endocrimes.png' width='140px;'>
137
175
  </a>
138
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
139
177
  </td>
140
178
  <td id='kohki-miki'>
141
179
  <a href='https://github.com/giginet'>
@@ -143,31 +181,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
143
181
  </a>
144
182
  <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
145
183
  </td>
146
- <td id='roger-oba'>
147
- <a href='https://github.com/rogerluan'>
148
- <img src='https://github.com/rogerluan.png' width='140px;'>
149
- </a>
150
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
151
- </td>
152
- <td id='daniel-jankowski'>
153
- <a href='https://github.com/mollyIV'>
154
- <img src='https://github.com/mollyIV.png' width='140px;'>
155
- </a>
156
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
157
- </td>
158
- <td id='max-ott'>
159
- <a href='https://github.com/max-ott'>
160
- <img src='https://github.com/max-ott.png' width='140px;'>
161
- </a>
162
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
163
- </td>
164
- </tr>
165
- <tr>
166
- <td id='jorge-revuelta-h'>
167
- <a href='https://github.com/minuscorp'>
168
- <img src='https://github.com/minuscorp.png' width='140px;'>
184
+ <td id='stefan-natchev'>
185
+ <a href='https://github.com/snatchev'>
186
+ <img src='https://github.com/snatchev.png' width='140px;'>
169
187
  </a>
170
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
171
189
  </td>
172
190
  <td id='helmut-januschka'>
173
191
  <a href='https://github.com/hjanuschka'>
@@ -175,31 +193,13 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
175
193
  </a>
176
194
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
177
195
  </td>
178
- <td id='fumiya-nakamura'>
179
- <a href='https://github.com/nafu'>
180
- <img src='https://github.com/nafu.png' width='140px;'>
181
- </a>
182
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
183
- </td>
184
- <td id='matthew-ellis'>
185
- <a href='https://github.com/matthewellis'>
186
- <img src='https://github.com/matthewellis.png' width='140px;'>
187
- </a>
188
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
189
- </td>
190
- <td id='jimmy-dee'>
191
- <a href='https://github.com/jdee'>
192
- <img src='https://github.com/jdee.png' width='140px;'>
193
- </a>
194
- <h4 align='center'>Jimmy Dee</h4>
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='josh-holtz'>
199
+ <a href='https://github.com/joshdholtz'>
200
+ <img src='https://github.com/joshdholtz.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/joshdholtz'>Josh Holtz</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
@@ -141,7 +141,7 @@ module Fastlane
141
141
  end),
142
142
  FastlaneCore::ConfigItem.new(key: :merge_commit_filtering,
143
143
  env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_MERGE_COMMIT_FILTERING',
144
- description: "Controls inclusion of merge commits when collecting the changelog. Valid values: #{GIT_MERGE_COMMIT_FILTERING_OPTIONS.map { |o| "`:#{o}`" }.join(', ')}",
144
+ description: "Controls inclusion of merge commits when collecting the changelog. Valid values: #{GIT_MERGE_COMMIT_FILTERING_OPTIONS.map { |o| "'#{o}'" }.join(', ')}",
145
145
  optional: true,
146
146
  default_value: 'include_merges',
147
147
  verify_block: proc do |value|
@@ -58,7 +58,7 @@ module Fastlane
58
58
 
59
59
  def self.example_code
60
60
  [
61
- 'import_certificate(certificate_path: "certs/AppleWWDRCA.cer")',
61
+ 'import_certificate(certificate_path: "certs/AppleWWDRCA6.cer")',
62
62
  'import_certificate(
63
63
  certificate_path: "certs/dist.p12",
64
64
  certificate_password: ENV["CERTIFICATE_PASSWORD"] || "default"
@@ -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\''],
@@ -127,22 +127,7 @@ module Fastlane
127
127
  end
128
128
 
129
129
  def map_aliased_tools(tool_name)
130
- map = {
131
- "get_certificates": "cert",
132
- "upload_to_app_store": "deliver",
133
- "frame_screenshots": "frameit",
134
- "build_app": "gym",
135
- "build_ios_app": "gym",
136
- "build_mac_app": "gym",
137
- "sync_code_signing": "match",
138
- "get_push_certificate": "pem",
139
- "check_app_store_metadata": "precheck",
140
- "capture_android_screenshots": "screengrab",
141
- "get_provisioning_profile": "sigh",
142
- "capture_ios_screenshots": "snapshot",
143
- "upload_to_play_store": "supply"
144
- }
145
- return map[tool_name&.to_sym] || tool_name
130
+ Fastlane::TOOL_ALIASES[tool_name&.to_sym] || tool_name
146
131
  end
147
132
 
148
133
  # Since loading dotenv should respect additional environments passed using
@@ -108,7 +108,7 @@ module Fastlane
108
108
  puts(table)
109
109
 
110
110
  fastlane_command = Helper.bundler? ? "bundle exec fastlane" : "fastlane"
111
- i = UI.input("Which number would you like run?")
111
+ i = UI.input("Which number would you like to run?")
112
112
 
113
113
  i = i.to_i - 1
114
114
  if i >= 0 && available[i]
@@ -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:
@@ -387,7 +387,7 @@ module Fastlane
387
387
  def verify_app_exists_itc!
388
388
  UI.user_error!("No app identifier provided") if self.app_identifier.to_s.length == 0
389
389
  UI.message("Checking if the app '#{self.app_identifier}' exists on App Store Connect...")
390
- app = Spaceship::Tunes::Application.find(self.app_identifier)
390
+ app = Spaceship::ConnectAPI::App.find(self.app_identifier)
391
391
  if app.nil?
392
392
  UI.error("Looks like the app '#{self.app_identifier}' isn't available on #{'App Store Connect'.bold.underline}")
393
393
  UI.error("for the team ID '#{self.itc_team_id}' on Apple ID '#{self.user}'")
@@ -31,4 +31,20 @@ module Fastlane
31
31
  "Screengrabfile",
32
32
  "Snapshotfile"
33
33
  ]
34
+
35
+ TOOL_ALIASES = {
36
+ "get_certificates": "cert",
37
+ "upload_to_app_store": "deliver",
38
+ "frame_screenshots": "frameit",
39
+ "build_app": "gym",
40
+ "build_ios_app": "gym",
41
+ "build_mac_app": "gym",
42
+ "sync_code_signing": "match",
43
+ "get_push_certificate": "pem",
44
+ "check_app_store_metadata": "precheck",
45
+ "capture_android_screenshots": "screengrab",
46
+ "get_provisioning_profile": "sigh",
47
+ "capture_ios_screenshots": "snapshot",
48
+ "upload_to_play_store": "supply"
49
+ }
34
50
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.206.1'.freeze
2
+ VERSION = '2.208.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.1
20
+ // Generated with fastlane 2.208.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.104]
267
+ // FastlaneRunnerAPIVersion [0.9.107]