fastlane 2.204.2 → 2.205.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  3. data/deliver/lib/deliver/runner.rb +2 -2
  4. data/fastlane/lib/fastlane/actions/badge.rb +1 -1
  5. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  6. data/fastlane/lib/fastlane/actions/git_commit.rb +4 -6
  7. data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
  8. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  9. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +6 -7
  10. data/fastlane/lib/fastlane/version.rb +1 -1
  11. data/fastlane/swift/Deliverfile.swift +1 -1
  12. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  13. data/fastlane/swift/Fastlane.swift +8 -8
  14. data/fastlane/swift/Gymfile.swift +1 -1
  15. data/fastlane/swift/GymfileProtocol.swift +1 -1
  16. data/fastlane/swift/Matchfile.swift +1 -1
  17. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  18. data/fastlane/swift/Precheckfile.swift +1 -1
  19. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  20. data/fastlane/swift/Scanfile.swift +1 -1
  21. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  22. data/fastlane/swift/Screengrabfile.swift +1 -1
  23. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  24. data/fastlane/swift/Snapshotfile.swift +1 -1
  25. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  26. data/fastlane/swift/SocketClient.swift +2 -2
  27. data/fastlane/swift/formatting/Brewfile.lock.json +14 -14
  28. data/fastlane_core/README.md +1 -0
  29. data/frameit/lib/frameit/.device.rb.swp +0 -0
  30. data/frameit/lib/frameit/.device_types.rb.swp +0 -0
  31. data/frameit/lib/frameit/.editor.rb.swp +0 -0
  32. data/frameit/lib/frameit/.offsets.rb.swp +0 -0
  33. data/frameit/lib/frameit/.runner.rb.swp +0 -0
  34. data/frameit/lib/frameit/.screenshot.rb.swp +0 -0
  35. data/match/lib/match/encryption/openssl.rb +1 -1
  36. data/match/lib/match/options.rb +1 -1
  37. data/pilot/lib/pilot/build_manager.rb +2 -2
  38. data/scan/lib/scan/runner.rb +5 -1
  39. data/snapshot/lib/assets/SnapshotHelper.swift +2 -2
  40. data/spaceship/lib/spaceship/client.rb +13 -25
  41. data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
  42. data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
  43. data/spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp +0 -0
  44. data/spaceship/lib/spaceship/connect_api/models/app.rb +2 -1
  45. data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +1 -0
  46. data/spaceship/lib/spaceship/portal/certificate.rb +4 -3
  47. data/spaceship/lib/spaceship/tunes/app_ratings.rb +6 -6
  48. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
  49. data/spaceship/lib/spaceship/tunes/tunes.rb +0 -1
  50. data/spaceship/lib/spaceship/tunes/tunes_client.rb +16 -19
  51. data/supply/lib/supply/client.rb +2 -7
  52. data/trainer/lib/assets/junit.xml.erb +9 -1
  53. data/trainer/lib/trainer/junit_generator.rb +1 -1
  54. data/trainer/lib/trainer/options.rb +1 -1
  55. data/trainer/lib/trainer/test_parser.rb +25 -3
  56. metadata +29 -21
  57. data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb0d735baa2f01d008088fe3a4cafe2c6c3b5e1d276bb7a3c1e5ebe0fccbebfe
4
- data.tar.gz: c9144a288c2ca37eaf878bba27f79b3408cfbd043de0ad5a982e0fa8fed93828
3
+ metadata.gz: 994da9828fe4d44c29cac93ca6e884180b10287e3d718daa4181027cab944092
4
+ data.tar.gz: 0d72f9db1cc73bcc469975734793e6a85357b88c9ad12bb8e735022145312bb3
5
5
  SHA512:
6
- metadata.gz: be7164ceea49a09f6685af9273d6e7ebb56a09921c4e7a0bb5e50660fa56d030d569886db167bf23b94a86ac8142410c41b62cc4e6c6b202114e5939d6450e82
7
- data.tar.gz: c32ccc34243252a9fdc46b7efcdde3d54d76c21ce8b3a42df94ac3d092fdc1a3faa971842a4ecf285adcb51cfabf1b7be39eb823a5e53d60c32bfd5549981273
6
+ metadata.gz: 398db44834ce32b96c719024e03c91ea820333bf101b5e1188e778b2c8acd34118b4642910f8cf53b75c6495ae78a523b582e6ca1369be6c55441444dce246b2
7
+ data.tar.gz: 6928c188cfd852191e997cc7a1991ae7b60ea2fa9a0bfcba886c7b7c0efc9e5e33893604c127c0f0de0a18ea1104ce1f53133c9087723973d749fa852d6fccae
data/README.md CHANGED
@@ -35,17 +35,23 @@ 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='max-ott'>
39
- <a href='https://github.com/max-ott'>
40
- <img src='https://github.com/max-ott.png' width='140px;'>
38
+ <td id='jérôme-lacoste'>
39
+ <a href='https://github.com/lacostej'>
40
+ <img src='https://github.com/lacostej.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
43
43
  </td>
44
- <td id='matthew-ellis'>
45
- <a href='https://github.com/matthewellis'>
46
- <img src='https://github.com/matthewellis.png' width='140px;'>
44
+ <td id='jimmy-dee'>
45
+ <a href='https://github.com/jdee'>
46
+ <img src='https://github.com/jdee.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
48
+ <h4 align='center'>Jimmy Dee</h4>
49
+ </td>
50
+ <td id='manu-wallner'>
51
+ <a href='https://github.com/milch'>
52
+ <img src='https://github.com/milch.png' width='140px;'>
53
+ </a>
54
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
49
55
  </td>
50
56
  <td id='danielle-tomlinson'>
51
57
  <a href='https://github.com/endocrimes'>
@@ -53,37 +59,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
53
59
  </a>
54
60
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
55
61
  </td>
56
- <td id='joshua-liebowitz'>
57
- <a href='https://github.com/taquitos'>
58
- <img src='https://github.com/taquitos.png' width='140px;'>
59
- </a>
60
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
61
- </td>
62
- <td id='helmut-januschka'>
63
- <a href='https://github.com/hjanuschka'>
64
- <img src='https://github.com/hjanuschka.png' width='140px;'>
62
+ <td id='satoshi-namai'>
63
+ <a href='https://github.com/ainame'>
64
+ <img src='https://github.com/ainame.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</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;'>
73
- </a>
74
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
75
- </td>
76
- <td id='fumiya-nakamura'>
77
- <a href='https://github.com/nafu'>
78
- <img src='https://github.com/nafu.png' width='140px;'>
79
- </a>
80
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
81
- </td>
82
- <td id='olivier-halligon'>
83
- <a href='https://github.com/AliSoftware'>
84
- <img src='https://github.com/AliSoftware.png' width='140px;'>
70
+ <td id='kohki-miki'>
71
+ <a href='https://github.com/giginet'>
72
+ <img src='https://github.com/giginet.png' width='140px;'>
85
73
  </a>
86
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
87
75
  </td>
88
76
  <td id='josh-holtz'>
89
77
  <a href='https://github.com/joshdholtz'>
@@ -91,115 +79,127 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
91
79
  </a>
92
80
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
93
81
  </td>
94
- <td id='maksym-grebenets'>
95
- <a href='https://github.com/mgrebenets'>
96
- <img src='https://github.com/mgrebenets.png' width='140px;'>
97
- </a>
98
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
99
- </td>
100
- </tr>
101
- <tr>
102
82
  <td id='jan-piotrowski'>
103
83
  <a href='https://github.com/janpio'>
104
84
  <img src='https://github.com/janpio.png' width='140px;'>
105
85
  </a>
106
86
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
107
87
  </td>
108
- <td id='jorge-revuelta-h'>
109
- <a href='https://github.com/minuscorp'>
110
- <img src='https://github.com/minuscorp.png' width='140px;'>
88
+ <td id='łukasz-grabowski'>
89
+ <a href='https://github.com/lucgrabowski'>
90
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
111
91
  </a>
112
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
92
+ <h4 align='center'>Łukasz Grabowski</h4>
113
93
  </td>
94
+ <td id='matthew-ellis'>
95
+ <a href='https://github.com/matthewellis'>
96
+ <img src='https://github.com/matthewellis.png' width='140px;'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
99
+ </td>
100
+ </tr>
101
+ <tr>
114
102
  <td id='aaron-brager'>
115
103
  <a href='https://github.com/getaaron'>
116
104
  <img src='https://github.com/getaaron.png' width='140px;'>
117
105
  </a>
118
106
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
119
107
  </td>
120
- <td id='roger-oba'>
121
- <a href='https://github.com/rogerluan'>
122
- <img src='https://github.com/rogerluan.png' width='140px;'>
108
+ <td id='manish-rathi'>
109
+ <a href='https://github.com/crazymanish'>
110
+ <img src='https://github.com/crazymanish.png' width='140px;'>
123
111
  </a>
124
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
125
113
  </td>
126
- <td id='iulian-onofrei'>
127
- <a href='https://github.com/revolter'>
128
- <img src='https://github.com/revolter.png' width='140px;'>
114
+ <td id='olivier-halligon'>
115
+ <a href='https://github.com/AliSoftware'>
116
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
129
117
  </a>
130
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
131
119
  </td>
132
- </tr>
133
- <tr>
134
- <td id='jimmy-dee'>
135
- <a href='https://github.com/jdee'>
136
- <img src='https://github.com/jdee.png' width='140px;'>
120
+ <td id='joshua-liebowitz'>
121
+ <a href='https://github.com/taquitos'>
122
+ <img src='https://github.com/taquitos.png' width='140px;'>
137
123
  </a>
138
- <h4 align='center'>Jimmy Dee</h4>
124
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
139
125
  </td>
140
- <td id='daniel-jankowski'>
141
- <a href='https://github.com/mollyIV'>
142
- <img src='https://github.com/mollyIV.png' width='140px;'>
126
+ <td id='andrew-mcburney'>
127
+ <a href='https://github.com/armcburney'>
128
+ <img src='https://github.com/armcburney.png' width='140px;'>
143
129
  </a>
144
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
145
131
  </td>
132
+ </tr>
133
+ <tr>
146
134
  <td id='felix-krause'>
147
135
  <a href='https://github.com/KrauseFx'>
148
136
  <img src='https://github.com/KrauseFx.png' width='140px;'>
149
137
  </a>
150
138
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
151
139
  </td>
152
- <td id='jérôme-lacoste'>
153
- <a href='https://github.com/lacostej'>
154
- <img src='https://github.com/lacostej.png' width='140px;'>
155
- </a>
156
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
157
- </td>
158
- <td id='andrew-mcburney'>
159
- <a href='https://github.com/armcburney'>
160
- <img src='https://github.com/armcburney.png' width='140px;'>
140
+ <td id='max-ott'>
141
+ <a href='https://github.com/max-ott'>
142
+ <img src='https://github.com/max-ott.png' width='140px;'>
161
143
  </a>
162
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
163
145
  </td>
164
- </tr>
165
- <tr>
166
- <td id='kohki-miki'>
167
- <a href='https://github.com/giginet'>
168
- <img src='https://github.com/giginet.png' width='140px;'>
146
+ <td id='helmut-januschka'>
147
+ <a href='https://github.com/hjanuschka'>
148
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
169
149
  </a>
170
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
171
151
  </td>
172
- <td id='łukasz-grabowski'>
173
- <a href='https://github.com/lucgrabowski'>
174
- <img src='https://github.com/lucgrabowski.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;'>
175
155
  </a>
176
- <h4 align='center'>Łukasz Grabowski</h4>
156
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
177
157
  </td>
178
- <td id='manu-wallner'>
179
- <a href='https://github.com/milch'>
180
- <img src='https://github.com/milch.png' width='140px;'>
158
+ <td id='iulian-onofrei'>
159
+ <a href='https://github.com/revolter'>
160
+ <img src='https://github.com/revolter.png' width='140px;'>
181
161
  </a>
182
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
183
163
  </td>
164
+ </tr>
165
+ <tr>
184
166
  <td id='stefan-natchev'>
185
167
  <a href='https://github.com/snatchev'>
186
168
  <img src='https://github.com/snatchev.png' width='140px;'>
187
169
  </a>
188
170
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
189
171
  </td>
190
- <td id='luka-mirosevic'>
191
- <a href='https://github.com/lmirosevic'>
192
- <img src='https://github.com/lmirosevic.png' width='140px;'>
172
+ <td id='maksym-grebenets'>
173
+ <a href='https://github.com/mgrebenets'>
174
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
193
175
  </a>
194
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
177
+ </td>
178
+ <td id='roger-oba'>
179
+ <a href='https://github.com/rogerluan'>
180
+ <img src='https://github.com/rogerluan.png' width='140px;'>
181
+ </a>
182
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
183
+ </td>
184
+ <td id='daniel-jankowski'>
185
+ <a href='https://github.com/mollyIV'>
186
+ <img src='https://github.com/mollyIV.png' width='140px;'>
187
+ </a>
188
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
189
+ </td>
190
+ <td id='jorge-revuelta-h'>
191
+ <a href='https://github.com/minuscorp'>
192
+ <img src='https://github.com/minuscorp.png' width='140px;'>
193
+ </a>
194
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='satoshi-namai'>
199
- <a href='https://github.com/ainame'>
200
- <img src='https://github.com/ainame.png' width='140px;'>
198
+ <td id='luka-mirosevic'>
199
+ <a href='https://github.com/lmirosevic'>
200
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -243,8 +243,8 @@ module Deliver
243
243
  return generic_transporter unless options[:itc_provider].nil? && tunes_client.teams.count > 1
244
244
 
245
245
  begin
246
- team = tunes_client.teams.find { |t| t['contentProvider']['contentProviderId'].to_s == tunes_client.team_id }
247
- name = team['contentProvider']['name']
246
+ team = tunes_client.teams.find { |t| t['providerId'].to_s == tunes_client.team_id }
247
+ name = team['name']
248
248
  provider_id = generic_transporter.provider_ids[name]
249
249
  UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
250
250
  return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id)
@@ -63,7 +63,7 @@ module Fastlane
63
63
  [
64
64
  FastlaneCore::ConfigItem.new(key: :dark,
65
65
  env_name: "FL_BADGE_DARK",
66
- description: "Adds a dark flavored badge ontop of your icon",
66
+ description: "Adds a dark flavored badge on top of your icon",
67
67
  optional: true,
68
68
  type: Boolean,
69
69
  verify_block: proc do |value|
@@ -158,7 +158,7 @@ module Fastlane
158
158
  [
159
159
  FastlaneCore::ConfigItem.new(key: :xcodeproj,
160
160
  env_name: "FL_VERSION_NUMBER_PROJECT",
161
- description: "Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed",
161
+ description: "Path to the Xcode project to read version number from, or its containing directory, optional. If omitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed",
162
162
  optional: true,
163
163
  verify_block: proc do |value|
164
164
  UI.user_error!("Please pass the path to the project or its containing directory, not the workspace path") if value.end_with?(".xcworkspace")
@@ -2,22 +2,20 @@ module Fastlane
2
2
  module Actions
3
3
  class GitCommitAction < Action
4
4
  def self.run(params)
5
- paths = params[:path].map(&:shellescape).join(' ')
6
-
7
- skip_git_hooks = params[:skip_git_hooks] ? '--no-verify' : ''
5
+ paths = params[:path]
6
+ skip_git_hooks = params[:skip_git_hooks] ? ['--no-verify'] : []
8
7
 
9
8
  if params[:allow_nothing_to_commit]
10
9
  # Here we check if the path passed in parameter contains any modification
11
10
  # and we skip the `git commit` command if there is none.
12
11
  # That means you can have other files modified that are not in the path parameter
13
12
  # and still make use of allow_nothing_to_commit.
14
- repo_clean = Actions.sh("git status #{paths} --porcelain").empty?
13
+ repo_clean = Actions.sh('git', 'status', *paths, '--porcelain').empty?
15
14
  UI.success("Nothing to commit, working tree clean ✅.") if repo_clean
16
15
  return if repo_clean
17
16
  end
18
17
 
19
- command = "git commit -m #{params[:message].shellescape} #{paths} #{skip_git_hooks}".strip
20
- result = Actions.sh(command)
18
+ result = Actions.sh('git', 'commit', '-m', params[:message], *paths, *skip_git_hooks)
21
19
  UI.success("Successfully committed \"#{params[:path]}\" 💾.")
22
20
  return result
23
21
  end
@@ -79,7 +79,7 @@ module Fastlane
79
79
  end
80
80
 
81
81
  def self.return_type
82
- :hash_of_strings
82
+ :hash
83
83
  end
84
84
 
85
85
  def self.category
@@ -36,7 +36,8 @@ module Fastlane
36
36
  # do not use "include" as it may be some where in the commandline where "env" is required, therefore explicit index->0
37
37
  unless ARGV[0] == "env" || CLIToolsDistributor.running_version_command? || CLIToolsDistributor.running_help_command?
38
38
  # *after* loading the plugins
39
- Fastlane.plugin_manager.load_plugins
39
+ hide_plugins_table = FastlaneCore::Env.truthy?("FASTLANE_HIDE_PLUGINS_TABLE")
40
+ Fastlane.plugin_manager.load_plugins(print_table: !hide_plugins_table)
40
41
  Fastlane::PluginUpdateManager.start_looking_for_updates
41
42
  end
42
43
  self.new.run
@@ -216,10 +216,10 @@ module Fastlane
216
216
  # Check if upgrade is needed
217
217
  # If fastlane build settings exists already, we don't need any more changes to the Xcode project
218
218
  self.fastlane_runner_target.build_configurations.each { |config|
219
- return false if dry_run && config.build_settings["CODE_SIGN_IDENTITY"].nil?
220
- return false if dry_run && config.build_settings["MACOSX_DEPLOYMENT_TARGET"].nil?
219
+ return true if dry_run && config.build_settings["CODE_SIGN_IDENTITY"].nil?
220
+ return true if dry_run && config.build_settings["MACOSX_DEPLOYMENT_TARGET"].nil?
221
221
  }
222
- return true if dry_run
222
+ return false if dry_run
223
223
 
224
224
  # Proceed to upgrade
225
225
  self.fastlane_runner_target.build_configurations.each { |config|
@@ -236,11 +236,10 @@ module Fastlane
236
236
  phase_copy_sign = self.fastlane_runner_target.copy_files_build_phases.select { |phase_copy| phase_copy.name == "FastlaneRunnerCopySigned" }.first
237
237
 
238
238
  old_phase_copy_sign = self.fastlane_runner_target.shell_script_build_phases.select { |phase_copy| phase_copy.shell_script == "cd \"${SRCROOT}\"\ncd ../..\ncp \"${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}\" .\n" }.first
239
- unless phase_copy_sign
240
- return false if dry_run
241
- end
242
239
 
243
- return true if dry_run
240
+ return true if dry_run && phase_copy_sign.nil?
241
+
242
+ return false if dry_run
244
243
 
245
244
  # Proceed to upgrade
246
245
  old_phase_copy_sign.remove_from_project unless old_phase_copy_sign.nil?
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.204.2'.freeze
2
+ VERSION = '2.205.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
@@ -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.204.2
20
+ // Generated with fastlane 2.205.1
@@ -260,4 +260,4 @@ public extension DeliverfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.98]
263
+ // FastlaneRunnerAPIVersion [0.9.101]
@@ -1111,7 +1111,7 @@ public func backupXcarchive(xcarchive: String,
1111
1111
  Automatically add a badge to your app icon
1112
1112
 
1113
1113
  - parameters:
1114
- - dark: Adds a dark flavored badge ontop of your icon
1114
+ - dark: Adds a dark flavored badge on top of your icon
1115
1115
  - custom: Add your custom overlay/badge image
1116
1116
  - noBadge: Hides the beta badge
1117
1117
  - shield: Add a shield to your app icon from shields.io
@@ -5110,7 +5110,7 @@ public func getPushCertificate(platform: String = "ios",
5110
5110
  Get the version number of your project
5111
5111
 
5112
5112
  - parameters:
5113
- - xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed
5113
+ - xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If omitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed
5114
5114
  - target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
5115
5115
  - configuration: Configuration name, optional. Will be needed if you have altered the configurations from the default or your version number depends on the configuration selected
5116
5116
 
@@ -6643,7 +6643,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6643
6643
  - force: Renew the provisioning profiles every time you run match
6644
6644
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6645
6645
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
6646
- - forceForNewCertificates: Renew the provisioning profiles if the device count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6646
+ - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6647
6647
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6648
6648
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
6649
6649
  - skipDocs: Skip generation of a README.md for the created git repository
@@ -6846,7 +6846,7 @@ public func match(type: String = matchfile.type,
6846
6846
  - force: Renew the provisioning profiles every time you run match
6847
6847
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6848
6848
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
6849
- - forceForNewCertificates: Renew the provisioning profiles if the device count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6849
+ - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6850
6850
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6851
6851
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
6852
6852
  - skipDocs: Skip generation of a README.md for the created git repository
@@ -8240,7 +8240,7 @@ public func puts(message: OptionalConfigValue<String?> = .fastlaneDefault(nil))
8240
8240
  This can be useful when basing your release process on the version string only stored in one place - in the podspec.
8241
8241
  As one of the first steps you'd read the podspec and its version and the rest of the workflow can use that version string (when e.g. creating a new git tag or a GitHub Release).
8242
8242
  */
8243
- @discardableResult public func readPodspec(path: String) -> [String: String] {
8243
+ @discardableResult public func readPodspec(path: String) -> [String: Any] {
8244
8244
  let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
8245
8245
  let array: [RubyCommand.Argument?] = [pathArg]
8246
8246
  let args: [RubyCommand.Argument] = array
@@ -11036,7 +11036,7 @@ public func swiftlint(mode: String = "lint",
11036
11036
  - force: Renew the provisioning profiles every time you run match
11037
11037
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
11038
11038
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
11039
- - forceForNewCertificates: Renew the provisioning profiles if the device count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
11039
+ - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
11040
11040
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
11041
11041
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
11042
11042
  - skipDocs: Skip generation of a README.md for the created git repository
@@ -11464,7 +11464,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11464
11464
  - parameters:
11465
11465
  - path: Path to the directory that should be converted
11466
11466
  - extension: The extension for the newly created file. Usually .xml or .junit
11467
- - outputDirectory: Directoy in which the xml files should be written to. Same directory as source by default
11467
+ - outputDirectory: Directory in which the xml files should be written to. Same directory as source by default
11468
11468
  - outputFilename: Filename the xml file should be written to. Defaults to name of input file. (Only works if one input file is used)
11469
11469
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're handling this with a test reporter
11470
11470
  - xcprettyNaming: Produces class name and test name identical to xcpretty naming in junit file
@@ -13430,4 +13430,4 @@ public let snapshotfile: Snapshotfile = .init()
13430
13430
 
13431
13431
  // Please don't remove the lines below
13432
13432
  // They are used to detect outdated files
13433
- // FastlaneRunnerAPIVersion [0.9.151]
13433
+ // FastlaneRunnerAPIVersion [0.9.154]
@@ -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.204.2
20
+ // Generated with fastlane 2.205.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.101]
207
+ // FastlaneRunnerAPIVersion [0.9.104]
@@ -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.204.2
20
+ // Generated with fastlane 2.205.1
@@ -104,7 +104,7 @@ public protocol MatchfileProtocol: AnyObject {
104
104
  /// Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
105
105
  var includeAllCertificates: Bool { get }
106
106
 
107
- /// Renew the provisioning profiles if the device count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
107
+ /// Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
108
108
  var forceForNewCertificates: Bool { get }
109
109
 
110
110
  /// Disables confirmation prompts during nuke, answering them with yes
@@ -196,4 +196,4 @@ public extension MatchfileProtocol {
196
196
 
197
197
  // Please don't remove the lines below
198
198
  // They are used to detect outdated files
199
- // FastlaneRunnerAPIVersion [0.9.95]
199
+ // FastlaneRunnerAPIVersion [0.9.98]
@@ -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.204.2
20
+ // Generated with fastlane 2.205.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.94]
55
+ // FastlaneRunnerAPIVersion [0.9.97]
@@ -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.204.2
20
+ // Generated with fastlane 2.205.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.106]
315
+ // FastlaneRunnerAPIVersion [0.9.109]
@@ -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.204.2
20
+ // Generated with fastlane 2.205.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.96]
99
+ // FastlaneRunnerAPIVersion [0.9.99]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.204.2
20
+ // Generated with fastlane 2.205.1
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.90]
207
+ // FastlaneRunnerAPIVersion [0.9.93]
@@ -206,7 +206,7 @@ class SocketClient: NSObject {
206
206
  extension SocketClient: StreamDelegate {
207
207
  func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
208
208
  guard !cleaningUpAfterDone else {
209
- // Still getting response from server eventhough we are done.
209
+ // Still getting response from server even though we are done.
210
210
  // No big deal, we're closing the streams anyway.
211
211
  // That being said, we need to balance out the dispatchGroups
212
212
  dispatchGroup.leave()
@@ -244,7 +244,7 @@ extension SocketClient: StreamDelegate {
244
244
 
245
245
  case Stream.Event.errorOccurred:
246
246
  // probably safe to close all the things because Ruby already disconnected
247
- verbose(message: "output stream recevied error")
247
+ verbose(message: "output stream received error")
248
248
 
249
249
  case Stream.Event.endEncountered:
250
250
  // nothing special here