fastlane 2.207.0 → 2.209.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +94 -94
  3. data/deliver/lib/deliver/options.rb +1 -2
  4. data/fastlane/lib/assets/AppfileTemplate +1 -1
  5. data/fastlane/lib/assets/AppfileTemplate.swift +1 -1
  6. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  8. data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/pod_push.rb +19 -1
  10. data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
  11. data/fastlane/lib/fastlane/version.rb +1 -1
  12. data/fastlane/swift/Appfile.swift +1 -1
  13. data/fastlane/swift/Deliverfile.swift +1 -1
  14. data/fastlane/swift/DeliverfileProtocol.swift +2 -2
  15. data/fastlane/swift/Fastlane.swift +18 -10
  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 +1 -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 +2 -2
  28. data/fastlane/swift/formatting/Brewfile.lock.json +16 -16
  29. data/fastlane_core/lib/fastlane_core/cert_checker.rb +68 -13
  30. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
  31. data/frameit/lib/frameit/frame_downloader.rb +1 -1
  32. data/match/lib/match/runner.rb +6 -0
  33. data/match/lib/match/setup.rb +1 -1
  34. data/match/lib/match/storage/gitlab/client.rb +17 -1
  35. data/match/lib/match/storage/gitlab/secure_file.rb +1 -2
  36. data/match/lib/match/storage/gitlab_secure_files.rb +5 -2
  37. data/match/lib/match/table_printer.rb +2 -1
  38. data/match/lib/match/utils.rb +15 -2
  39. data/pilot/lib/pilot/build_manager.rb +2 -2
  40. data/snapshot/lib/snapshot/options.rb +1 -1
  41. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
  42. data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
  43. data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
  44. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +1 -1
  45. data/trainer/lib/trainer/junit_generator.rb +1 -1
  46. metadata +22 -34
  47. data/fastlane/lib/.DS_Store +0 -0
  48. data/fastlane/lib/fastlane/.DS_Store +0 -0
  49. data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
  50. data/fastlane/lib/fastlane/actions/.supply.rb.swp +0 -0
  51. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  52. data/match/lib/match/.module.rb.swp +0 -0
  53. data/match/lib/match/.nuke.rb.swp +0 -0
  54. data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
  55. data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
  56. data/spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp +0 -0
  57. data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
  58. data/trainer/lib/.DS_Store +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 03436b89c4752dfccf0502507af81f0776e6f3222d247695dfbf4973efc30ae7
4
- data.tar.gz: 2da8f7113c916e3b5190928d2ed04a7f1a8bf7e5fac54066a54482cf61b407db
3
+ metadata.gz: 5010adae3c5b21d54dd16b6247c5955bbe6c415439de68c08fcabe3845f8b6b7
4
+ data.tar.gz: '08149ff32ed120e68c970357b564e8dbcec8d9ddbb9d2e2e1dc2b4ef19819d47'
5
5
  SHA512:
6
- metadata.gz: f57d60ee294702a1f61e187eeecb5ce48f81258b6fcdfb6b4c7a8d4999dc42049f1831733ef605c4151be5e3fb967ea4dca9487f86292dfcbac8196e50e39d6b
7
- data.tar.gz: 6a315c09bab9709040737edc9b7050f74516fae1825abe20694d821c311c848cd1c9c3da6bcaee46c7c636da107a0a66b5d799be611b349f7ef63846835940be
6
+ metadata.gz: 46821e9b86a08c035d3c95da0b4e11d48617a9d2132a28f6e237f7a7e83bc66512d436ae5497de0277509e1331048741e49ae75e2ba78fea1bbc4d5e5b7a3875
7
+ data.tar.gz: 4026c9ae374842f26eff1bdea173c0f3eb80168a0dd286be0053ba7bda3368cf331d27e2df85a4473334ca9f8fe0ea94eea7372606aefc84bcb21c26c38531b7
data/README.md CHANGED
@@ -35,49 +35,49 @@ 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='aaron-brager'>
39
- <a href='https://github.com/getaaron'>
40
- <img src='https://github.com/getaaron.png' width='140px;'>
38
+ <td id='jan-piotrowski'>
39
+ <a href='https://github.com/janpio'>
40
+ <img src='https://github.com/janpio.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
43
43
  </td>
44
- <td id='satoshi-namai'>
45
- <a href='https://github.com/ainame'>
46
- <img src='https://github.com/ainame.png' width='140px;'>
44
+ <td id='kohki-miki'>
45
+ <a href='https://github.com/giginet'>
46
+ <img src='https://github.com/giginet.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
49
49
  </td>
50
- <td id='łukasz-grabowski'>
51
- <a href='https://github.com/lucgrabowski'>
52
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
50
+ <td id='andrew-mcburney'>
51
+ <a href='https://github.com/armcburney'>
52
+ <img src='https://github.com/armcburney.png' width='140px;'>
53
53
  </a>
54
- <h4 align='center'>Łukasz Grabowski</h4>
54
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
55
55
  </td>
56
- <td id='luka-mirosevic'>
57
- <a href='https://github.com/lmirosevic'>
58
- <img src='https://github.com/lmirosevic.png' width='140px;'>
56
+ <td id='matthew-ellis'>
57
+ <a href='https://github.com/matthewellis'>
58
+ <img src='https://github.com/matthewellis.png' width='140px;'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
61
61
  </td>
62
- <td id='daniel-jankowski'>
63
- <a href='https://github.com/mollyIV'>
64
- <img src='https://github.com/mollyIV.png' width='140px;'>
62
+ <td id='josh-holtz'>
63
+ <a href='https://github.com/joshdholtz'>
64
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
70
- <td id='jorge-revuelta-h'>
71
- <a href='https://github.com/minuscorp'>
72
- <img src='https://github.com/minuscorp.png' width='140px;'>
70
+ <td id='maksym-grebenets'>
71
+ <a href='https://github.com/mgrebenets'>
72
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
73
73
  </a>
74
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
75
75
  </td>
76
- <td id='fumiya-nakamura'>
77
- <a href='https://github.com/nafu'>
78
- <img src='https://github.com/nafu.png' width='140px;'>
76
+ <td id='daniel-jankowski'>
77
+ <a href='https://github.com/mollyIV'>
78
+ <img src='https://github.com/mollyIV.png' width='140px;'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
81
81
  </td>
82
82
  <td id='manu-wallner'>
83
83
  <a href='https://github.com/milch'>
@@ -85,37 +85,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
85
85
  </a>
86
86
  <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
87
87
  </td>
88
- <td id='joshua-liebowitz'>
89
- <a href='https://github.com/taquitos'>
90
- <img src='https://github.com/taquitos.png' width='140px;'>
88
+ <td id='jérôme-lacoste'>
89
+ <a href='https://github.com/lacostej'>
90
+ <img src='https://github.com/lacostej.png' width='140px;'>
91
91
  </a>
92
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
93
93
  </td>
94
- <td id='roger-oba'>
95
- <a href='https://github.com/rogerluan'>
96
- <img src='https://github.com/rogerluan.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/rogerluan_'>Roger Oba</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='stefan-natchev'>
103
- <a href='https://github.com/snatchev'>
104
- <img src='https://github.com/snatchev.png' width='140px;'>
105
- </a>
106
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
107
- </td>
108
102
  <td id='olivier-halligon'>
109
103
  <a href='https://github.com/AliSoftware'>
110
104
  <img src='https://github.com/AliSoftware.png' width='140px;'>
111
105
  </a>
112
106
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
113
107
  </td>
114
- <td id='josh-holtz'>
115
- <a href='https://github.com/joshdholtz'>
116
- <img src='https://github.com/joshdholtz.png' width='140px;'>
108
+ <td id='jorge-revuelta-h'>
109
+ <a href='https://github.com/minuscorp'>
110
+ <img src='https://github.com/minuscorp.png' width='140px;'>
117
111
  </a>
118
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
113
+ </td>
114
+ <td id='satoshi-namai'>
115
+ <a href='https://github.com/ainame'>
116
+ <img src='https://github.com/ainame.png' width='140px;'>
117
+ </a>
118
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
119
+ </td>
120
+ <td id='roger-oba'>
121
+ <a href='https://github.com/rogerluan'>
122
+ <img src='https://github.com/rogerluan.png' width='140px;'>
123
+ </a>
124
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
119
125
  </td>
120
126
  <td id='iulian-onofrei'>
121
127
  <a href='https://github.com/revolter'>
@@ -123,63 +129,63 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
123
129
  </a>
124
130
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
125
131
  </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
- </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='jérôme-lacoste'>
135
- <a href='https://github.com/lacostej'>
136
- <img src='https://github.com/lacostej.png' width='140px;'>
134
+ <td id='jimmy-dee'>
135
+ <a href='https://github.com/jdee'>
136
+ <img src='https://github.com/jdee.png' width='140px;'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
138
+ <h4 align='center'>Jimmy Dee</h4>
139
139
  </td>
140
- <td id='felix-krause'>
141
- <a href='https://github.com/KrauseFx'>
142
- <img src='https://github.com/KrauseFx.png' width='140px;'>
140
+ <td id='helmut-januschka'>
141
+ <a href='https://github.com/hjanuschka'>
142
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
145
145
  </td>
146
- <td id='kohki-miki'>
147
- <a href='https://github.com/giginet'>
148
- <img src='https://github.com/giginet.png' width='140px;'>
146
+ <td id='stefan-natchev'>
147
+ <a href='https://github.com/snatchev'>
148
+ <img src='https://github.com/snatchev.png' width='140px;'>
149
149
  </a>
150
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
151
151
  </td>
152
- <td id='jan-piotrowski'>
153
- <a href='https://github.com/janpio'>
154
- <img src='https://github.com/janpio.png' width='140px;'>
152
+ <td id='fumiya-nakamura'>
153
+ <a href='https://github.com/nafu'>
154
+ <img src='https://github.com/nafu.png' width='140px;'>
155
155
  </a>
156
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
157
157
  </td>
158
- <td id='helmut-januschka'>
159
- <a href='https://github.com/hjanuschka'>
160
- <img src='https://github.com/hjanuschka.png' width='140px;'>
158
+ <td id='aaron-brager'>
159
+ <a href='https://github.com/getaaron'>
160
+ <img src='https://github.com/getaaron.png' width='140px;'>
161
161
  </a>
162
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='maksym-grebenets'>
167
- <a href='https://github.com/mgrebenets'>
168
- <img src='https://github.com/mgrebenets.png' width='140px;'>
166
+ <td id='manish-rathi'>
167
+ <a href='https://github.com/crazymanish'>
168
+ <img src='https://github.com/crazymanish.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
171
171
  </td>
172
- <td id='andrew-mcburney'>
173
- <a href='https://github.com/armcburney'>
174
- <img src='https://github.com/armcburney.png' width='140px;'>
172
+ <td id='luka-mirosevic'>
173
+ <a href='https://github.com/lmirosevic'>
174
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
177
177
  </td>
178
- <td id='jimmy-dee'>
179
- <a href='https://github.com/jdee'>
180
- <img src='https://github.com/jdee.png' width='140px;'>
178
+ <td id='łukasz-grabowski'>
179
+ <a href='https://github.com/lucgrabowski'>
180
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'>Jimmy Dee</h4>
182
+ <h4 align='center'>Łukasz Grabowski</h4>
183
+ </td>
184
+ <td id='danielle-tomlinson'>
185
+ <a href='https://github.com/endocrimes'>
186
+ <img src='https://github.com/endocrimes.png' width='140px;'>
187
+ </a>
188
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
183
189
  </td>
184
190
  <td id='max-ott'>
185
191
  <a href='https://github.com/max-ott'>
@@ -187,19 +193,13 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
187
193
  </a>
188
194
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
189
195
  </td>
190
- <td id='matthew-ellis'>
191
- <a href='https://github.com/matthewellis'>
192
- <img src='https://github.com/matthewellis.png' width='140px;'>
193
- </a>
194
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
195
- </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='danielle-tomlinson'>
199
- <a href='https://github.com/endocrimes'>
200
- <img src='https://github.com/endocrimes.png' width='140px;'>
198
+ <td id='joshua-liebowitz'>
199
+ <a href='https://github.com/taquitos'>
200
+ <img src='https://github.com/taquitos.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -164,8 +164,7 @@ module Deliver
164
164
  default_value: false),
165
165
  FastlaneCore::ConfigItem.new(key: :sync_screenshots,
166
166
  env_name: "DELIVER_SYNC_SCREENSHOTS",
167
- description: "Sync screenshots with local ones. This is currently beta option" \
168
- "so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
167
+ description: "Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
169
168
  type: Boolean,
170
169
  default_value: false),
171
170
  FastlaneCore::ConfigItem.new(key: :submit_for_review,
@@ -1,5 +1,5 @@
1
1
  # app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
2
- # apple_id("[[APPLE_ID]]") # Your Apple email address
2
+ # apple_id("[[APPLE_ID]]") # Your Apple Developer Portal username
3
3
 
4
4
  [[TEAMS]]
5
5
  # For more information about the Appfile, see:
@@ -1,5 +1,5 @@
1
1
  var appIdentifier: String { return "[[APP_IDENTIFIER]]" } // The bundle identifier of your app
2
- var appleID: String { return "[[APPLE_ID]]" } // Your Apple email address
2
+ var appleID: String { return "[[APPLE_ID]]" } // Your Apple Developer Portal username
3
3
 
4
4
  [[TEAMS]]
5
5
 
@@ -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|
@@ -60,7 +60,7 @@ Here is a nice gif, that shows _frameit_ in action:
60
60
  <h5 align="center">The <em>frameit</em> 2.0 update was kindly sponsored by <a href="https://mindnode.com/">MindNode</a>, seen in the screenshots above.</h5>
61
61
 
62
62
 
63
- The first time that _frameit_ is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](http://facebook.design/devices) and they are kept on [this repo](https://github.com/fastlane/frameit-frames).
63
+ The first time that _frameit_ is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](https://design.facebook.com/toolsandresources/devices/) and they are kept on [this repo](https://github.com/fastlane/frameit-frames).
64
64
 
65
65
  More information about this process and how to update the frames can be found [here](https://github.com/fastlane/fastlane/tree/master/frameit/frames_generator)
66
66
 
@@ -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"
@@ -59,6 +59,14 @@ module Fastlane
59
59
  command << "--synchronous"
60
60
  end
61
61
 
62
+ if params[:no_overwrite]
63
+ command << "--no-overwrite"
64
+ end
65
+
66
+ if params[:local_only]
67
+ command << "--local-only"
68
+ end
69
+
62
70
  result = Actions.sh(command.join(' '))
63
71
  UI.success("Successfully pushed Podspec ⬆️ ")
64
72
  return result
@@ -143,7 +151,17 @@ module Fastlane
143
151
  description: "If validation depends on other recently pushed pods, synchronize",
144
152
  optional: true,
145
153
  type: Boolean,
146
- env_name: "FL_POD_PUSH_SYNCHRONOUS")
154
+ env_name: "FL_POD_PUSH_SYNCHRONOUS"),
155
+ FastlaneCore::ConfigItem.new(key: :no_overwrite,
156
+ description: "Disallow pushing that would overwrite an existing spec",
157
+ optional: true,
158
+ type: Boolean,
159
+ env_name: "FL_POD_PUSH_NO_OVERWRITE"),
160
+ FastlaneCore::ConfigItem.new(key: :local_only,
161
+ description: "Does not perform the step of pushing REPO to its remote",
162
+ optional: true,
163
+ type: Boolean,
164
+ env_name: "FL_POD_PUSH_LOCAL_ONLY")
147
165
  ]
148
166
  end
149
167
 
@@ -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}'")
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.207.0'.freeze
2
+ VERSION = '2.209.1'.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
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) 2022 FastlaneTools
3
3
 
4
4
  var appIdentifier: String { return "" } // The bundle identifier of your app
5
- var appleID: String { return "" } // Your Apple email address
5
+ var appleID: String { return "" } // Your Apple Developer Portal username
6
6
 
7
7
  var teamID: String { return "" } // Developer Portal Team ID
8
8
  var itcTeam: String? { return nil } // App Store Connect Team ID (may be nil if no team)
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -59,7 +59,7 @@ public protocol DeliverfileProtocol: AnyObject {
59
59
  /// Clear all previously uploaded screenshots before uploading the new ones
60
60
  var overwriteScreenshots: Bool { get }
61
61
 
62
- /// Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
62
+ /// Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
63
63
  var syncScreenshots: Bool { get }
64
64
 
65
65
  /// Submit the new version for Review after uploading everything
@@ -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.106]
267
+ // FastlaneRunnerAPIVersion [0.9.109]
@@ -661,7 +661,7 @@ public func appledoc(input: [String],
661
661
  - skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
662
662
  - force: Skip verification of HTML preview file
663
663
  - overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
664
- - syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
664
+ - syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
665
665
  - submitForReview: Submit the new version for Review after uploading everything
666
666
  - verifyOnly: Verifies archive with App Store Connect without uploading
667
667
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
@@ -2113,7 +2113,7 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
2113
2113
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
2114
2114
  - headless: Enabling this option will prevent displaying the simulator window
2115
2115
  - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
2116
- - overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
2116
+ - overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
2117
2117
  - localizeSimulator: Enabling this option will configure the Simulator's system language
2118
2118
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
2119
2119
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -2322,7 +2322,7 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
2322
2322
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
2323
2323
  - headless: Enabling this option will prevent displaying the simulator window
2324
2324
  - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
2325
- - overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
2325
+ - overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
2326
2326
  - localizeSimulator: Enabling this option will configure the Simulator's system language
2327
2327
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
2328
2328
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -2705,7 +2705,7 @@ public func cert(development: OptionalConfigValue<Bool> = .fastlaneDefault(false
2705
2705
  - matchLightweightTag: Whether or not to match a lightweight tag when searching for the last one
2706
2706
  - quiet: Whether or not to disable changelog output
2707
2707
  - includeMerges: **DEPRECATED!** Use `:merge_commit_filtering` instead - Whether or not to include any commits that are merges
2708
- - mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values: `:include_merges`, `:exclude_merges`, `:only_include_merges`
2708
+ - mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values: 'include_merges', 'exclude_merges', 'only_include_merges'
2709
2709
 
2710
2710
  - returns: Returns a String containing your formatted git commits
2711
2711
 
@@ -3681,7 +3681,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3681
3681
  - skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
3682
3682
  - force: Skip verification of HTML preview file
3683
3683
  - overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
3684
- - syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
3684
+ - syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
3685
3685
  - submitForReview: Submit the new version for Review after uploading everything
3686
3686
  - verifyOnly: Verifies archive with App Store Connect without uploading
3687
3687
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
@@ -7869,6 +7869,8 @@ public func podLibLint(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefau
7869
7869
  - verbose: Show more debugging information
7870
7870
  - useModularHeaders: Use modular headers option during validation
7871
7871
  - synchronous: If validation depends on other recently pushed pods, synchronize
7872
+ - noOverwrite: Disallow pushing that would overwrite an existing spec
7873
+ - localOnly: Does not perform the step of pushing REPO to its remote
7872
7874
  */
7873
7875
  public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7874
7876
  path: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -7882,7 +7884,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
7882
7884
  useJson: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
7883
7885
  verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7884
7886
  useModularHeaders: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
7885
- synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil))
7887
+ synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
7888
+ noOverwrite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
7889
+ localOnly: OptionalConfigValue<Bool?> = .fastlaneDefault(nil))
7886
7890
  {
7887
7891
  let useBundleExecArg = useBundleExec.asRubyArgument(name: "use_bundle_exec", type: nil)
7888
7892
  let pathArg = path.asRubyArgument(name: "path", type: nil)
@@ -7897,6 +7901,8 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
7897
7901
  let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
7898
7902
  let useModularHeadersArg = useModularHeaders.asRubyArgument(name: "use_modular_headers", type: nil)
7899
7903
  let synchronousArg = synchronous.asRubyArgument(name: "synchronous", type: nil)
7904
+ let noOverwriteArg = noOverwrite.asRubyArgument(name: "no_overwrite", type: nil)
7905
+ let localOnlyArg = localOnly.asRubyArgument(name: "local_only", type: nil)
7900
7906
  let array: [RubyCommand.Argument?] = [useBundleExecArg,
7901
7907
  pathArg,
7902
7908
  repoArg,
@@ -7909,7 +7915,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
7909
7915
  useJsonArg,
7910
7916
  verboseArg,
7911
7917
  useModularHeadersArg,
7912
- synchronousArg]
7918
+ synchronousArg,
7919
+ noOverwriteArg,
7920
+ localOnlyArg]
7913
7921
  let args: [RubyCommand.Argument] = array
7914
7922
  .filter { $0?.value != nil }
7915
7923
  .compactMap { $0 }
@@ -10264,7 +10272,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10264
10272
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
10265
10273
  - headless: Enabling this option will prevent displaying the simulator window
10266
10274
  - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
10267
- - overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
10275
+ - overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
10268
10276
  - localizeSimulator: Enabling this option will configure the Simulator's system language
10269
10277
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
10270
10278
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -12256,7 +12264,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12256
12264
  - skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
12257
12265
  - force: Skip verification of HTML preview file
12258
12266
  - overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
12259
- - syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
12267
+ - syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
12260
12268
  - submitForReview: Submit the new version for Review after uploading everything
12261
12269
  - verifyOnly: Verifies archive with App Store Connect without uploading
12262
12270
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
@@ -13478,4 +13486,4 @@ public let snapshotfile: Snapshotfile = .init()
13478
13486
 
13479
13487
  // Please don't remove the lines below
13480
13488
  // They are used to detect outdated files
13481
- // FastlaneRunnerAPIVersion [0.9.159]
13489
+ // FastlaneRunnerAPIVersion [0.9.162]
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -204,4 +204,4 @@ public extension GymfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.109]
207
+ // FastlaneRunnerAPIVersion [0.9.112]
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -204,4 +204,4 @@ public extension MatchfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.103]
207
+ // FastlaneRunnerAPIVersion [0.9.106]
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -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.102]
55
+ // FastlaneRunnerAPIVersion [0.9.105]
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -312,4 +312,4 @@ public extension ScanfileProtocol {
312
312
 
313
313
  // Please don't remove the lines below
314
314
  // They are used to detect outdated files
315
- // FastlaneRunnerAPIVersion [0.9.114]
315
+ // FastlaneRunnerAPIVersion [0.9.117]
@@ -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.207.0
20
+ // Generated with fastlane 2.209.1
@@ -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.104]
99
+ // FastlaneRunnerAPIVersion [0.9.107]