fastlane 2.154.0 → 2.155.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +78 -78
  3. data/deliver/lib/deliver/html_generator.rb +8 -1
  4. data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -1
  5. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +5 -0
  6. data/fastlane/lib/fastlane/version.rb +1 -1
  7. data/fastlane/swift/Deliverfile.swift +1 -1
  8. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  9. data/fastlane/swift/Fastlane.swift +375 -182
  10. data/fastlane/swift/Gymfile.swift +1 -1
  11. data/fastlane/swift/GymfileProtocol.swift +1 -1
  12. data/fastlane/swift/Matchfile.swift +1 -1
  13. data/fastlane/swift/MatchfileProtocol.swift +6 -2
  14. data/fastlane/swift/Precheckfile.swift +1 -1
  15. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  16. data/fastlane/swift/Scanfile.swift +1 -1
  17. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  18. data/fastlane/swift/Screengrabfile.swift +1 -1
  19. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  20. data/fastlane/swift/Snapshotfile.swift +1 -1
  21. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  22. data/gym/lib/gym/detect_values.rb +6 -3
  23. data/gym/lib/gym/module.rb +22 -0
  24. data/gym/lib/gym/runner.rb +8 -10
  25. data/match/lib/match/generator.rb +6 -0
  26. data/match/lib/match/options.rb +7 -2
  27. data/match/lib/match/runner.rb +12 -5
  28. data/match/lib/match/spaceship_ensure.rb +7 -9
  29. data/match/lib/match/storage/google_cloud_storage.rb +1 -1
  30. data/sigh/lib/sigh/download_all.rb +42 -27
  31. data/sigh/lib/sigh/module.rb +26 -0
  32. data/sigh/lib/sigh/options.rb +2 -2
  33. data/sigh/lib/sigh/runner.rb +74 -33
  34. data/snapshot/lib/snapshot/options.rb +5 -0
  35. data/snapshot/lib/snapshot/test_command_generator.rb +3 -2
  36. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +4 -1
  37. data/spaceship/lib/spaceship/connect_api/client.rb +2 -0
  38. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  39. data/spaceship/lib/spaceship/connect_api/models/app.rb +3 -1
  40. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +17 -5
  41. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +41 -7
  42. data/spaceship/lib/spaceship/connect_api/models/profile.rb +31 -1
  43. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +46 -4
  44. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -0
  45. data/supply/lib/supply/client.rb +2 -1
  46. data/supply/lib/supply/options.rb +8 -1
  47. metadata +17 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70c5a33bcf7a92f427b7c09b26e1269a00807a2975f484c6be1159df830a0ffb
4
- data.tar.gz: 36610a4cd508042f7a9632fe30088e84609b805bb6722f5b2752589a69cce12a
3
+ metadata.gz: d05003197423c1e94c2728d49100fbacb7d5f5b657491b94e90f34432d2774ba
4
+ data.tar.gz: 99b28cc3d83ec3500d9a90554db8464ee479a7e533141e9246164d26fef8edba
5
5
  SHA512:
6
- metadata.gz: 6195726b19d99f0d0b7b8980e2facb389f18189bbba530d09d7dabdc60c6959e1a00b7bc4c4f8c43a0b6bdfc4211d580909ef8e941a83fb061583bae1eec0cae
7
- data.tar.gz: f0854bb26324cb229428f971159d2b7713fb137ef5c37dff1eee843bb52652afc3bf4621bf98aa0438b94fa476971bd064546ad4a5780108dba4475f438c74a8
6
+ metadata.gz: 9a7b6ce2df7348ad80f366ad54a619ad1d966348e3e2a0f616f43d160681c1ba15625f7c16923d4b0bbfa3c873b3936891001f53c5349abba1e0a3c0a6bb4704
7
+ data.tar.gz: c75739db5b1e8dcea81230f67effe0d1b46de274cab20d85183aa3dafb64088ed85a7260f2aa47e14e802c8a81879b541d7ba4fbca55f56a2c84c1cb09fbeae0
data/README.md CHANGED
@@ -34,55 +34,55 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
34
  <!-- This table is regenerated and resorted on each release -->
35
35
  <table id='team'>
36
36
  <tr>
37
- <td id='jérôme-lacoste'>
38
- <a href='https://github.com/lacostej'>
39
- <img src='https://github.com/lacostej.png?size=140'>
37
+ <td id='danielle-tomlinson'>
38
+ <a href='https://github.com/endocrimes'>
39
+ <img src='https://github.com/endocrimes.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
42
42
  </td>
43
- <td id='kohki-miki'>
44
- <a href='https://github.com/giginet'>
45
- <img src='https://github.com/giginet.png?size=140'>
43
+ <td id='olivier-halligon'>
44
+ <a href='https://github.com/AliSoftware'>
45
+ <img src='https://github.com/AliSoftware.png?size=140'>
46
46
  </a>
47
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
48
48
  </td>
49
- <td id='maksym-grebenets'>
50
- <a href='https://github.com/mgrebenets'>
51
- <img src='https://github.com/mgrebenets.png?size=140'>
49
+ <td id='max-ott'>
50
+ <a href='https://github.com/max-ott'>
51
+ <img src='https://github.com/max-ott.png?size=140'>
52
52
  </a>
53
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
54
54
  </td>
55
- <td id='daniel-jankowski'>
56
- <a href='https://github.com/mollyIV'>
57
- <img src='https://github.com/mollyIV.png?size=140'>
55
+ <td id='jorge-revuelta-h'>
56
+ <a href='https://github.com/minuscorp'>
57
+ <img src='https://github.com/minuscorp.png?size=140'>
58
58
  </a>
59
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
60
60
  </td>
61
- <td id='olivier-halligon'>
62
- <a href='https://github.com/AliSoftware'>
63
- <img src='https://github.com/AliSoftware.png?size=140'>
61
+ <td id='andrew-mcburney'>
62
+ <a href='https://github.com/armcburney'>
63
+ <img src='https://github.com/armcburney.png?size=140'>
64
64
  </a>
65
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
66
66
  </td>
67
67
  </tr>
68
68
  <tr>
69
- <td id='stefan-natchev'>
70
- <a href='https://github.com/snatchev'>
71
- <img src='https://github.com/snatchev.png?size=140'>
69
+ <td id='jérôme-lacoste'>
70
+ <a href='https://github.com/lacostej'>
71
+ <img src='https://github.com/lacostej.png?size=140'>
72
72
  </a>
73
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
74
74
  </td>
75
- <td id='jan-piotrowski'>
76
- <a href='https://github.com/janpio'>
77
- <img src='https://github.com/janpio.png?size=140'>
75
+ <td id='josh-holtz'>
76
+ <a href='https://github.com/joshdholtz'>
77
+ <img src='https://github.com/joshdholtz.png?size=140'>
78
78
  </a>
79
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
79
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
80
80
  </td>
81
- <td id='helmut-januschka'>
82
- <a href='https://github.com/hjanuschka'>
83
- <img src='https://github.com/hjanuschka.png?size=140'>
81
+ <td id='manu-wallner'>
82
+ <a href='https://github.com/milch'>
83
+ <img src='https://github.com/milch.png?size=140'>
84
84
  </a>
85
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
86
86
  </td>
87
87
  <td id='fumiya-nakamura'>
88
88
  <a href='https://github.com/nafu'>
@@ -90,25 +90,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
90
90
  </a>
91
91
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
92
92
  </td>
93
- <td id='iulian-onofrei'>
94
- <a href='https://github.com/revolter'>
95
- <img src='https://github.com/revolter.png?size=140'>
93
+ <td id='felix-krause'>
94
+ <a href='https://github.com/KrauseFx'>
95
+ <img src='https://github.com/KrauseFx.png?size=140'>
96
96
  </a>
97
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
98
98
  </td>
99
99
  </tr>
100
100
  <tr>
101
- <td id='danielle-tomlinson'>
102
- <a href='https://github.com/endocrimes'>
103
- <img src='https://github.com/endocrimes.png?size=140'>
101
+ <td id='stefan-natchev'>
102
+ <a href='https://github.com/snatchev'>
103
+ <img src='https://github.com/snatchev.png?size=140'>
104
104
  </a>
105
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
105
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
106
106
  </td>
107
- <td id='josh-holtz'>
108
- <a href='https://github.com/joshdholtz'>
109
- <img src='https://github.com/joshdholtz.png?size=140'>
107
+ <td id='matthew-ellis'>
108
+ <a href='https://github.com/matthewellis'>
109
+ <img src='https://github.com/matthewellis.png?size=140'>
110
110
  </a>
111
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
112
+ </td>
113
+ <td id='daniel-jankowski'>
114
+ <a href='https://github.com/mollyIV'>
115
+ <img src='https://github.com/mollyIV.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
112
118
  </td>
113
119
  <td id='jimmy-dee'>
114
120
  <a href='https://github.com/jdee'>
@@ -116,43 +122,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
116
122
  </a>
117
123
  <h4 align='center'>Jimmy Dee</h4>
118
124
  </td>
119
- <td id='joshua-liebowitz'>
120
- <a href='https://github.com/taquitos'>
121
- <img src='https://github.com/taquitos.png?size=140'>
122
- </a>
123
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
124
- </td>
125
- <td id='andrew-mcburney'>
126
- <a href='https://github.com/armcburney'>
127
- <img src='https://github.com/armcburney.png?size=140'>
125
+ <td id='jan-piotrowski'>
126
+ <a href='https://github.com/janpio'>
127
+ <img src='https://github.com/janpio.png?size=140'>
128
128
  </a>
129
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
130
130
  </td>
131
131
  </tr>
132
132
  <tr>
133
- <td id='manu-wallner'>
134
- <a href='https://github.com/milch'>
135
- <img src='https://github.com/milch.png?size=140'>
133
+ <td id='luka-mirosevic'>
134
+ <a href='https://github.com/lmirosevic'>
135
+ <img src='https://github.com/lmirosevic.png?size=140'>
136
136
  </a>
137
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
138
138
  </td>
139
- <td id='matthew-ellis'>
140
- <a href='https://github.com/matthewellis'>
141
- <img src='https://github.com/matthewellis.png?size=140'>
139
+ <td id='maksym-grebenets'>
140
+ <a href='https://github.com/mgrebenets'>
141
+ <img src='https://github.com/mgrebenets.png?size=140'>
142
142
  </a>
143
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
144
144
  </td>
145
- <td id='felix-krause'>
146
- <a href='https://github.com/KrauseFx'>
147
- <img src='https://github.com/KrauseFx.png?size=140'>
145
+ <td id='kohki-miki'>
146
+ <a href='https://github.com/giginet'>
147
+ <img src='https://github.com/giginet.png?size=140'>
148
148
  </a>
149
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
150
150
  </td>
151
- <td id='jorge-revuelta-h'>
152
- <a href='https://github.com/minuscorp'>
153
- <img src='https://github.com/minuscorp.png?size=140'>
151
+ <td id='helmut-januschka'>
152
+ <a href='https://github.com/hjanuschka'>
153
+ <img src='https://github.com/hjanuschka.png?size=140'>
154
154
  </a>
155
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
156
156
  </td>
157
157
  <td id='aaron-brager'>
158
158
  <a href='https://github.com/getaaron'>
@@ -162,17 +162,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='max-ott'>
166
- <a href='https://github.com/max-ott'>
167
- <img src='https://github.com/max-ott.png?size=140'>
165
+ <td id='iulian-onofrei'>
166
+ <a href='https://github.com/revolter'>
167
+ <img src='https://github.com/revolter.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
170
170
  </td>
171
- <td id='luka-mirosevic'>
172
- <a href='https://github.com/lmirosevic'>
173
- <img src='https://github.com/lmirosevic.png?size=140'>
171
+ <td id='joshua-liebowitz'>
172
+ <a href='https://github.com/taquitos'>
173
+ <img src='https://github.com/taquitos.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -1,3 +1,5 @@
1
+ require 'spaceship'
2
+
1
3
  require_relative 'module'
2
4
 
3
5
  module Deliver
@@ -51,7 +53,12 @@ module Deliver
51
53
  @app_name ||= options[:app].name
52
54
 
53
55
  @languages = options[:description].keys if options[:description]
54
- @languages ||= options[:app].latest_version.description.languages
56
+ @languages ||= begin
57
+ platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
58
+ version = options[:app].get_edit_app_store_version(platform: platform)
59
+
60
+ version.get_app_store_version_localizations.collect(&:locale)
61
+ end
55
62
 
56
63
  html_path = File.join(Deliver::ROOT, "lib/assets/summary.html.erb")
57
64
  html = ERB.new(File.read(html_path)).result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
@@ -4,6 +4,7 @@ module Fastlane
4
4
  module Actions
5
5
  module SharedValues
6
6
  ORIGINAL_DEFAULT_KEYCHAIN = :ORIGINAL_DEFAULT_KEYCHAIN
7
+ KEYCHAIN_PATH = :KEYCHAIN_PATH
7
8
  end
8
9
 
9
10
  class CreateKeychainAction < Action
@@ -32,6 +33,8 @@ module Fastlane
32
33
  UI.important("If creating a new Keychain DB is required please set the `require_create` option true to cause the action to fail")
33
34
  end
34
35
 
36
+ Actions.lane_context[Actions::SharedValues::KEYCHAIN_PATH] = keychain_path
37
+
35
38
  if params[:default_keychain]
36
39
  # if there is no default keychain - setting the original will fail - silent this error
37
40
  begin
@@ -91,7 +94,8 @@ module Fastlane
91
94
 
92
95
  def self.output
93
96
  [
94
- ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain']
97
+ ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain'],
98
+ ['KEYCHAIN_PATH', 'The path of the keychain']
95
99
  ]
96
100
  end
97
101
 
@@ -45,6 +45,11 @@ module Fastlane
45
45
  env_variable_name = Match::Utils.environment_variable_name_profile_name(app_identifier: app_identifier,
46
46
  type: Match.profile_type_sym(params[:type]),
47
47
  platform: params[:platform])
48
+
49
+ if params[:derive_catalyst_app_identifier]
50
+ app_identifier = "maccatalyst.#{app_identifier}"
51
+ end
52
+
48
53
  mapping[app_identifier] = ENV[env_variable_name]
49
54
  end
50
55
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.154.0'.freeze
2
+ VERSION = '2.155.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 = '0.49.1'.freeze
@@ -14,4 +14,4 @@ class Deliverfile: DeliverfileProtocol {
14
14
  // during the `init` process, and you won't see this message
15
15
  }
16
16
 
17
- // Generated with fastlane 2.154.0
17
+ // Generated with fastlane 2.155.0
@@ -245,4 +245,4 @@ extension DeliverfileProtocol {
245
245
 
246
246
  // Please don't remove the lines below
247
247
  // They are used to detect outdated files
248
- // FastlaneRunnerAPIVersion [0.9.28]
248
+ // FastlaneRunnerAPIVersion [0.9.29]
@@ -13,7 +13,8 @@ import Foundation
13
13
  */
14
14
  @discardableResult func adb(serial: String = "",
15
15
  command: String? = nil,
16
- adbPath: String = "adb") -> String {
16
+ adbPath: String = "adb") -> String
17
+ {
17
18
  let command = RubyCommand(commandID: "", methodName: "adb", className: nil, args: [RubyCommand.Argument(name: "serial", value: serial),
18
19
  RubyCommand.Argument(name: "command", value: command),
19
20
  RubyCommand.Argument(name: "adb_path", value: adbPath)])
@@ -76,7 +77,8 @@ func addGitTag(tag: String? = nil,
76
77
  message: String? = nil,
77
78
  commit: String? = nil,
78
79
  force: Bool = false,
79
- sign: Bool = false) {
80
+ sign: Bool = false)
81
+ {
80
82
  let command = RubyCommand(commandID: "", methodName: "add_git_tag", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag),
81
83
  RubyCommand.Argument(name: "grouping", value: grouping),
82
84
  RubyCommand.Argument(name: "prefix", value: prefix),
@@ -112,7 +114,8 @@ func appStoreBuildNumber(initialBuildNumber: Any,
112
114
  live: Bool = true,
113
115
  version: String? = nil,
114
116
  platform: String = "ios",
115
- teamName: String? = nil) {
117
+ teamName: String? = nil)
118
+ {
116
119
  let command = RubyCommand(commandID: "", methodName: "app_store_build_number", className: nil, args: [RubyCommand.Argument(name: "initial_build_number", value: initialBuildNumber),
117
120
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
118
121
  RubyCommand.Argument(name: "username", value: username),
@@ -148,7 +151,8 @@ func appaloosa(binary: String,
148
151
  screenshots: String,
149
152
  locale: String = "en-US",
150
153
  device: String? = nil,
151
- description: String? = nil) {
154
+ description: String? = nil)
155
+ {
152
156
  let command = RubyCommand(commandID: "", methodName: "appaloosa", className: nil, args: [RubyCommand.Argument(name: "binary", value: binary),
153
157
  RubyCommand.Argument(name: "api_token", value: apiToken),
154
158
  RubyCommand.Argument(name: "store_id", value: storeId),
@@ -182,7 +186,8 @@ func appetize(apiHost: String = "api.appetize.io",
182
186
  platform: String = "ios",
183
187
  path: String? = nil,
184
188
  publicKey: String? = nil,
185
- note: String? = nil) {
189
+ note: String? = nil)
190
+ {
186
191
  let command = RubyCommand(commandID: "", methodName: "appetize", className: nil, args: [RubyCommand.Argument(name: "api_host", value: apiHost),
187
192
  RubyCommand.Argument(name: "api_token", value: apiToken),
188
193
  RubyCommand.Argument(name: "url", value: url),
@@ -223,7 +228,8 @@ func appetizeViewingUrlGenerator(publicKey: String,
223
228
  launchUrl: String? = nil,
224
229
  osVersion: String? = nil,
225
230
  params: String? = nil,
226
- proxy: String? = nil) {
231
+ proxy: String? = nil)
232
+ {
227
233
  let command = RubyCommand(commandID: "", methodName: "appetize_viewing_url_generator", className: nil, args: [RubyCommand.Argument(name: "public_key", value: publicKey),
228
234
  RubyCommand.Argument(name: "base_url", value: baseUrl),
229
235
  RubyCommand.Argument(name: "device", value: device),
@@ -260,7 +266,8 @@ func appium(platform: String,
260
266
  port: Int = 4723,
261
267
  appiumPath: String? = nil,
262
268
  caps: [String: Any]? = nil,
263
- appiumLib: [String: Any]? = nil) {
269
+ appiumLib: [String: Any]? = nil)
270
+ {
264
271
  let command = RubyCommand(commandID: "", methodName: "appium", className: nil, args: [RubyCommand.Argument(name: "platform", value: platform),
265
272
  RubyCommand.Argument(name: "spec_path", value: specPath),
266
273
  RubyCommand.Argument(name: "app_path", value: appPath),
@@ -369,7 +376,8 @@ func appledoc(input: Any,
369
376
  docsSectionTitle: String? = nil,
370
377
  warnings: String? = nil,
371
378
  logformat: Any? = nil,
372
- verbose: Any? = nil) {
379
+ verbose: Any? = nil)
380
+ {
373
381
  let command = RubyCommand(commandID: "", methodName: "appledoc", className: nil, args: [RubyCommand.Argument(name: "input", value: input),
374
382
  RubyCommand.Argument(name: "output", value: output),
375
383
  RubyCommand.Argument(name: "templates", value: templates),
@@ -549,7 +557,8 @@ func appstore(username: String,
549
557
  languages: [String]? = nil,
550
558
  ignoreLanguageDirectoryValidation: Bool = false,
551
559
  precheckIncludeInAppPurchases: Bool = true,
552
- app: Any) {
560
+ app: Any)
561
+ {
553
562
  let command = RubyCommand(commandID: "", methodName: "appstore", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
554
563
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
555
564
  RubyCommand.Argument(name: "app_version", value: appVersion),
@@ -623,7 +632,8 @@ func appstore(username: String,
623
632
  */
624
633
  func apteligent(dsym: String? = nil,
625
634
  appId: String,
626
- apiKey: String) {
635
+ apiKey: String)
636
+ {
627
637
  let command = RubyCommand(commandID: "", methodName: "apteligent", className: nil, args: [RubyCommand.Argument(name: "dsym", value: dsym),
628
638
  RubyCommand.Argument(name: "app_id", value: appId),
629
639
  RubyCommand.Argument(name: "api_key", value: apiKey)])
@@ -662,7 +672,8 @@ func artifactory(file: String,
662
672
  proxyPassword: String? = nil,
663
673
  proxyAddress: String? = nil,
664
674
  proxyPort: String? = nil,
665
- readTimeout: String? = nil) {
675
+ readTimeout: String? = nil)
676
+ {
666
677
  let command = RubyCommand(commandID: "", methodName: "artifactory", className: nil, args: [RubyCommand.Argument(name: "file", value: file),
667
678
  RubyCommand.Argument(name: "repo", value: repo),
668
679
  RubyCommand.Argument(name: "repo_path", value: repoPath),
@@ -704,7 +715,8 @@ func automaticCodeSigning(path: String,
704
715
  codeSignIdentity: String? = nil,
705
716
  profileName: String? = nil,
706
717
  profileUuid: String? = nil,
707
- bundleIdentifier: String? = nil) {
718
+ bundleIdentifier: String? = nil)
719
+ {
708
720
  let command = RubyCommand(commandID: "", methodName: "automatic_code_signing", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
709
721
  RubyCommand.Argument(name: "use_automatic_signing", value: useAutomaticSigning),
710
722
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -740,7 +752,8 @@ func backupXcarchive(xcarchive: String,
740
752
  destination: String,
741
753
  zip: Bool = true,
742
754
  zipFilename: String? = nil,
743
- versioned: Bool = true) {
755
+ versioned: Bool = true)
756
+ {
744
757
  let command = RubyCommand(commandID: "", methodName: "backup_xcarchive", className: nil, args: [RubyCommand.Argument(name: "xcarchive", value: xcarchive),
745
758
  RubyCommand.Argument(name: "destination", value: destination),
746
759
  RubyCommand.Argument(name: "zip", value: zip),
@@ -781,7 +794,8 @@ func badge(dark: Any? = nil,
781
794
  glob: String? = nil,
782
795
  alphaChannel: Any? = nil,
783
796
  shieldGravity: String? = nil,
784
- shieldNoResize: Any? = nil) {
797
+ shieldNoResize: Any? = nil)
798
+ {
785
799
  let command = RubyCommand(commandID: "", methodName: "badge", className: nil, args: [RubyCommand.Argument(name: "dark", value: dark),
786
800
  RubyCommand.Argument(name: "custom", value: custom),
787
801
  RubyCommand.Argument(name: "no_badge", value: noBadge),
@@ -813,7 +827,8 @@ func buildAndUploadToAppetize(xcodebuild: [String: Any] = [:],
813
827
  scheme: String? = nil,
814
828
  apiToken: String,
815
829
  publicKey: String? = nil,
816
- note: String? = nil) {
830
+ note: String? = nil)
831
+ {
817
832
  let command = RubyCommand(commandID: "", methodName: "build_and_upload_to_appetize", className: nil, args: [RubyCommand.Argument(name: "xcodebuild", value: xcodebuild),
818
833
  RubyCommand.Argument(name: "scheme", value: scheme),
819
834
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -854,7 +869,8 @@ func buildAndroidApp(task: String? = nil,
854
869
  systemProperties: Any? = nil,
855
870
  serial: String = "",
856
871
  printCommand: Bool = true,
857
- printCommandOutput: Bool = true) {
872
+ printCommandOutput: Bool = true)
873
+ {
858
874
  let command = RubyCommand(commandID: "", methodName: "build_android_app", className: nil, args: [RubyCommand.Argument(name: "task", value: task),
859
875
  RubyCommand.Argument(name: "flavor", value: flavor),
860
876
  RubyCommand.Argument(name: "build_type", value: buildType),
@@ -966,7 +982,8 @@ func buildApp(workspace: String? = nil,
966
982
  analyzeBuildTime: Bool? = nil,
967
983
  xcprettyUtf: Bool? = nil,
968
984
  skipProfileDetection: Bool = false,
969
- clonedSourcePackagesPath: String? = nil) {
985
+ clonedSourcePackagesPath: String? = nil)
986
+ {
970
987
  let command = RubyCommand(commandID: "", methodName: "build_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
971
988
  RubyCommand.Argument(name: "project", value: project),
972
989
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -1104,7 +1121,8 @@ func buildIosApp(workspace: String? = nil,
1104
1121
  analyzeBuildTime: Bool? = nil,
1105
1122
  xcprettyUtf: Bool? = nil,
1106
1123
  skipProfileDetection: Bool = false,
1107
- clonedSourcePackagesPath: String? = nil) {
1124
+ clonedSourcePackagesPath: String? = nil)
1125
+ {
1108
1126
  let command = RubyCommand(commandID: "", methodName: "build_ios_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1109
1127
  RubyCommand.Argument(name: "project", value: project),
1110
1128
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -1241,7 +1259,8 @@ func buildMacApp(workspace: String? = nil,
1241
1259
  analyzeBuildTime: Bool? = nil,
1242
1260
  xcprettyUtf: Bool? = nil,
1243
1261
  skipProfileDetection: Bool = false,
1244
- clonedSourcePackagesPath: String? = nil) {
1262
+ clonedSourcePackagesPath: String? = nil)
1263
+ {
1245
1264
  let command = RubyCommand(commandID: "", methodName: "build_mac_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1246
1265
  RubyCommand.Argument(name: "project", value: project),
1247
1266
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -1327,7 +1346,8 @@ func bundleInstall(binstubs: String? = nil,
1327
1346
  standalone: String? = nil,
1328
1347
  trustPolicy: String? = nil,
1329
1348
  without: String? = nil,
1330
- with: String? = nil) {
1349
+ with: String? = nil)
1350
+ {
1331
1351
  let command = RubyCommand(commandID: "", methodName: "bundle_install", className: nil, args: [RubyCommand.Argument(name: "binstubs", value: binstubs),
1332
1352
  RubyCommand.Argument(name: "clean", value: clean),
1333
1353
  RubyCommand.Argument(name: "full_index", value: fullIndex),
@@ -1397,7 +1417,8 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1397
1417
  exitOnTestFailure: Bool = true,
1398
1418
  reinstallApp: Bool = false,
1399
1419
  useTimestampSuffix: Bool = true,
1400
- adbHost: String? = nil) {
1420
+ adbHost: String? = nil)
1421
+ {
1401
1422
  let command = RubyCommand(commandID: "", methodName: "capture_android_screenshots", className: nil, args: [RubyCommand.Argument(name: "android_home", value: androidHome),
1402
1423
  RubyCommand.Argument(name: "build_tools_version", value: buildToolsVersion),
1403
1424
  RubyCommand.Argument(name: "locales", value: locales),
@@ -1470,6 +1491,7 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1470
1491
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
1471
1492
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
1472
1493
  - disableXcpretty: Disable xcpretty formatting of build
1494
+ - suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
1473
1495
  */
1474
1496
  func captureIosScreenshots(workspace: String? = nil,
1475
1497
  project: String? = nil,
@@ -1513,7 +1535,9 @@ func captureIosScreenshots(workspace: String? = nil,
1513
1535
  testplan: String? = nil,
1514
1536
  onlyTesting: Any? = nil,
1515
1537
  skipTesting: Any? = nil,
1516
- disableXcpretty: Bool? = nil) {
1538
+ disableXcpretty: Bool? = nil,
1539
+ suppressXcodeOutput: Bool? = nil)
1540
+ {
1517
1541
  let command = RubyCommand(commandID: "", methodName: "capture_ios_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1518
1542
  RubyCommand.Argument(name: "project", value: project),
1519
1543
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -1556,7 +1580,8 @@ func captureIosScreenshots(workspace: String? = nil,
1556
1580
  RubyCommand.Argument(name: "testplan", value: testplan),
1557
1581
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
1558
1582
  RubyCommand.Argument(name: "skip_testing", value: skipTesting),
1559
- RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
1583
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty),
1584
+ RubyCommand.Argument(name: "suppress_xcode_output", value: suppressXcodeOutput)])
1560
1585
  _ = runner.executeCommand(command)
1561
1586
  }
1562
1587
 
@@ -1607,6 +1632,7 @@ func captureIosScreenshots(workspace: String? = nil,
1607
1632
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
1608
1633
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
1609
1634
  - disableXcpretty: Disable xcpretty formatting of build
1635
+ - suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
1610
1636
  */
1611
1637
  func captureScreenshots(workspace: String? = nil,
1612
1638
  project: String? = nil,
@@ -1650,7 +1676,9 @@ func captureScreenshots(workspace: String? = nil,
1650
1676
  testplan: String? = nil,
1651
1677
  onlyTesting: Any? = nil,
1652
1678
  skipTesting: Any? = nil,
1653
- disableXcpretty: Bool? = nil) {
1679
+ disableXcpretty: Bool? = nil,
1680
+ suppressXcodeOutput: Bool? = nil)
1681
+ {
1654
1682
  let command = RubyCommand(commandID: "", methodName: "capture_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1655
1683
  RubyCommand.Argument(name: "project", value: project),
1656
1684
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -1693,7 +1721,8 @@ func captureScreenshots(workspace: String? = nil,
1693
1721
  RubyCommand.Argument(name: "testplan", value: testplan),
1694
1722
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
1695
1723
  RubyCommand.Argument(name: "skip_testing", value: skipTesting),
1696
- RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
1724
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty),
1725
+ RubyCommand.Argument(name: "suppress_xcode_output", value: suppressXcodeOutput)])
1697
1726
  _ = runner.executeCommand(command)
1698
1727
  }
1699
1728
 
@@ -1743,7 +1772,8 @@ func carthage(command: String = "bootstrap",
1743
1772
  projectDirectory: String? = nil,
1744
1773
  newResolver: Bool? = nil,
1745
1774
  logPath: String? = nil,
1746
- executable: String = "carthage") {
1775
+ executable: String = "carthage")
1776
+ {
1747
1777
  let command = RubyCommand(commandID: "", methodName: "carthage", className: nil, args: [RubyCommand.Argument(name: "command", value: command),
1748
1778
  RubyCommand.Argument(name: "dependencies", value: dependencies),
1749
1779
  RubyCommand.Argument(name: "use_ssh", value: useSsh),
@@ -1799,7 +1829,8 @@ func cert(development: Bool = false,
1799
1829
  outputPath: String = ".",
1800
1830
  keychainPath: String,
1801
1831
  keychainPassword: String? = nil,
1802
- platform: String = "ios") {
1832
+ platform: String = "ios")
1833
+ {
1803
1834
  let command = RubyCommand(commandID: "", methodName: "cert", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
1804
1835
  RubyCommand.Argument(name: "type", value: type),
1805
1836
  RubyCommand.Argument(name: "force", value: force),
@@ -1845,7 +1876,8 @@ func cert(development: Bool = false,
1845
1876
  matchLightweightTag: Bool = true,
1846
1877
  quiet: Bool = false,
1847
1878
  includeMerges: Bool? = nil,
1848
- mergeCommitFiltering: String = "include_merges") -> String {
1879
+ mergeCommitFiltering: String = "include_merges") -> String
1880
+ {
1849
1881
  let command = RubyCommand(commandID: "", methodName: "changelog_from_git_commits", className: nil, args: [RubyCommand.Argument(name: "between", value: between),
1850
1882
  RubyCommand.Argument(name: "commits_count", value: commitsCount),
1851
1883
  RubyCommand.Argument(name: "path", value: path),
@@ -1874,7 +1906,8 @@ func cert(development: Bool = false,
1874
1906
  func chatwork(apiToken: String,
1875
1907
  message: String,
1876
1908
  roomid: Any,
1877
- success: Bool = true) {
1909
+ success: Bool = true)
1910
+ {
1878
1911
  let command = RubyCommand(commandID: "", methodName: "chatwork", className: nil, args: [RubyCommand.Argument(name: "api_token", value: apiToken),
1879
1912
  RubyCommand.Argument(name: "message", value: message),
1880
1913
  RubyCommand.Argument(name: "roomid", value: roomid),
@@ -1922,7 +1955,8 @@ func checkAppStoreMetadata(appIdentifier: String,
1922
1955
  freeStuffInIap: Any? = nil,
1923
1956
  customText: Any? = nil,
1924
1957
  copyrightDate: Any? = nil,
1925
- unreachableUrls: Any? = nil) {
1958
+ unreachableUrls: Any? = nil)
1959
+ {
1926
1960
  let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
1927
1961
  RubyCommand.Argument(name: "username", value: username),
1928
1962
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -2005,7 +2039,8 @@ func cloc(binaryPath: String = "/usr/local/bin/cloc",
2005
2039
  excludeDir: String? = nil,
2006
2040
  outputDirectory: String = "build",
2007
2041
  sourceDirectory: String = "",
2008
- xml: Bool = true) {
2042
+ xml: Bool = true)
2043
+ {
2009
2044
  let command = RubyCommand(commandID: "", methodName: "cloc", className: nil, args: [RubyCommand.Argument(name: "binary_path", value: binaryPath),
2010
2045
  RubyCommand.Argument(name: "exclude_dir", value: excludeDir),
2011
2046
  RubyCommand.Argument(name: "output_directory", value: outputDirectory),
@@ -2052,7 +2087,8 @@ func cocoapods(repoUpdate: Bool = false,
2052
2087
  tryRepoUpdateOnError: Bool = false,
2053
2088
  deployment: Bool = false,
2054
2089
  clean: Bool = true,
2055
- integrate: Bool = true) {
2090
+ integrate: Bool = true)
2091
+ {
2056
2092
  let command = RubyCommand(commandID: "", methodName: "cocoapods", className: nil, args: [RubyCommand.Argument(name: "repo_update", value: repoUpdate),
2057
2093
  RubyCommand.Argument(name: "clean_install", value: cleanInstall),
2058
2094
  RubyCommand.Argument(name: "silent", value: silent),
@@ -2093,7 +2129,8 @@ func cocoapods(repoUpdate: Bool = false,
2093
2129
  branch: String = "master",
2094
2130
  path: String,
2095
2131
  message: String? = nil,
2096
- secure: Bool = true) -> [String: String] {
2132
+ secure: Bool = true) -> [String: String]
2133
+ {
2097
2134
  let command = RubyCommand(commandID: "", methodName: "commit_github_file", className: nil, args: [RubyCommand.Argument(name: "repository_name", value: repositoryName),
2098
2135
  RubyCommand.Argument(name: "server_url", value: serverUrl),
2099
2136
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -2132,7 +2169,8 @@ func commitVersionBump(message: String? = nil,
2132
2169
  settings: Bool = false,
2133
2170
  ignore: Any? = nil,
2134
2171
  include: [String] = [],
2135
- noVerify: Bool = false) {
2172
+ noVerify: Bool = false)
2173
+ {
2136
2174
  let command = RubyCommand(commandID: "", methodName: "commit_version_bump", className: nil, args: [RubyCommand.Argument(name: "message", value: message),
2137
2175
  RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
2138
2176
  RubyCommand.Argument(name: "force", value: force),
@@ -2158,7 +2196,8 @@ func commitVersionBump(message: String? = nil,
2158
2196
  func copyArtifacts(keepOriginal: Bool = true,
2159
2197
  targetPath: Any = "artifacts",
2160
2198
  artifacts: [String] = [],
2161
- failOnMissing: Bool = false) {
2199
+ failOnMissing: Bool = false)
2200
+ {
2162
2201
  let command = RubyCommand(commandID: "", methodName: "copy_artifacts", className: nil, args: [RubyCommand.Argument(name: "keep_original", value: keepOriginal),
2163
2202
  RubyCommand.Argument(name: "target_path", value: targetPath),
2164
2203
  RubyCommand.Argument(name: "artifacts", value: artifacts),
@@ -2196,7 +2235,8 @@ func crashlytics(ipaPath: String? = nil,
2196
2235
  groups: Any? = nil,
2197
2236
  emails: Any? = nil,
2198
2237
  notifications: Bool = true,
2199
- debug: Bool = false) {
2238
+ debug: Bool = false)
2239
+ {
2200
2240
  let command = RubyCommand(commandID: "", methodName: "crashlytics", className: nil, args: [RubyCommand.Argument(name: "ipa_path", value: ipaPath),
2201
2241
  RubyCommand.Argument(name: "apk_path", value: apkPath),
2202
2242
  RubyCommand.Argument(name: "crashlytics_path", value: crashlyticsPath),
@@ -2233,7 +2273,8 @@ func createAppOnManagedPlayStore(jsonKey: String? = nil,
2233
2273
  appTitle: String,
2234
2274
  language: String = "en_US",
2235
2275
  rootUrl: String? = nil,
2236
- timeout: Int = 300) {
2276
+ timeout: Int = 300)
2277
+ {
2237
2278
  let command = RubyCommand(commandID: "", methodName: "create_app_on_managed_play_store", className: nil, args: [RubyCommand.Argument(name: "json_key", value: jsonKey),
2238
2279
  RubyCommand.Argument(name: "json_key_data", value: jsonKeyData),
2239
2280
  RubyCommand.Argument(name: "developer_account_id", value: developerAccountId),
@@ -2291,7 +2332,8 @@ func createAppOnline(username: String,
2291
2332
  teamId: String? = nil,
2292
2333
  teamName: String? = nil,
2293
2334
  itcTeamId: Any? = nil,
2294
- itcTeamName: String? = nil) {
2335
+ itcTeamName: String? = nil)
2336
+ {
2295
2337
  let command = RubyCommand(commandID: "", methodName: "create_app_online", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
2296
2338
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2297
2339
  RubyCommand.Argument(name: "bundle_identifier_suffix", value: bundleIdentifierSuffix),
@@ -2338,7 +2380,8 @@ func createKeychain(name: String? = nil,
2338
2380
  lockWhenSleeps: Bool = false,
2339
2381
  lockAfterTimeout: Bool = false,
2340
2382
  addToSearchList: Bool = true,
2341
- requireCreate: Bool = false) {
2383
+ requireCreate: Bool = false)
2384
+ {
2342
2385
  let command = RubyCommand(commandID: "", methodName: "create_keychain", className: nil, args: [RubyCommand.Argument(name: "name", value: name),
2343
2386
  RubyCommand.Argument(name: "path", value: path),
2344
2387
  RubyCommand.Argument(name: "password", value: password),
@@ -2384,7 +2427,8 @@ func createPullRequest(apiToken: String,
2384
2427
  apiUrl: String = "https://api.github.com",
2385
2428
  assignees: [String]? = nil,
2386
2429
  reviewers: [String]? = nil,
2387
- teamReviewers: [String]? = nil) {
2430
+ teamReviewers: [String]? = nil)
2431
+ {
2388
2432
  let command = RubyCommand(commandID: "", methodName: "create_pull_request", className: nil, args: [RubyCommand.Argument(name: "api_token", value: apiToken),
2389
2433
  RubyCommand.Argument(name: "repo", value: repo),
2390
2434
  RubyCommand.Argument(name: "title", value: title),
@@ -2430,7 +2474,8 @@ func danger(useBundleExec: Bool = true,
2430
2474
  removePreviousComments: Bool = false,
2431
2475
  base: String? = nil,
2432
2476
  head: String? = nil,
2433
- pr: String? = nil) {
2477
+ pr: String? = nil)
2478
+ {
2434
2479
  let command = RubyCommand(commandID: "", methodName: "danger", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
2435
2480
  RubyCommand.Argument(name: "verbose", value: verbose),
2436
2481
  RubyCommand.Argument(name: "danger_id", value: dangerId),
@@ -2471,7 +2516,8 @@ func defaultPlatform() {
2471
2516
  Keychains can be deleted after being created with `create_keychain`
2472
2517
  */
2473
2518
  func deleteKeychain(name: String? = nil,
2474
- keychainPath: String? = nil) {
2519
+ keychainPath: String? = nil)
2520
+ {
2475
2521
  let command = RubyCommand(commandID: "", methodName: "delete_keychain", className: nil, args: [RubyCommand.Argument(name: "name", value: name),
2476
2522
  RubyCommand.Argument(name: "keychain_path", value: keychainPath)])
2477
2523
  _ = runner.executeCommand(command)
@@ -2608,7 +2654,8 @@ func deliver(username: Any = deliverfile.username,
2608
2654
  languages: [String]? = deliverfile.languages,
2609
2655
  ignoreLanguageDirectoryValidation: Bool = deliverfile.ignoreLanguageDirectoryValidation,
2610
2656
  precheckIncludeInAppPurchases: Bool = deliverfile.precheckIncludeInAppPurchases,
2611
- app: Any = deliverfile.app) {
2657
+ app: Any = deliverfile.app)
2658
+ {
2612
2659
  let command = RubyCommand(commandID: "", methodName: "deliver", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
2613
2660
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2614
2661
  RubyCommand.Argument(name: "app_version", value: appVersion),
@@ -2697,7 +2744,8 @@ func deploygate(apiToken: String,
2697
2744
  distributionKey: String? = nil,
2698
2745
  releaseNote: String? = nil,
2699
2746
  disableNotify: Bool = false,
2700
- distributionName: String? = nil) {
2747
+ distributionName: String? = nil)
2748
+ {
2701
2749
  let command = RubyCommand(commandID: "", methodName: "deploygate", className: nil, args: [RubyCommand.Argument(name: "api_token", value: apiToken),
2702
2750
  RubyCommand.Argument(name: "user", value: user),
2703
2751
  RubyCommand.Argument(name: "ipa", value: ipa),
@@ -2773,7 +2821,8 @@ func downloadDsyms(username: String,
2773
2821
  minVersion: String? = nil,
2774
2822
  outputDirectory: String? = nil,
2775
2823
  waitForDsymProcessing: Bool = false,
2776
- waitTimeout: Int = 300) {
2824
+ waitTimeout: Int = 300)
2825
+ {
2777
2826
  let command = RubyCommand(commandID: "", methodName: "download_dsyms", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
2778
2827
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2779
2828
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -2814,7 +2863,8 @@ func downloadFromPlayStore(packageName: String,
2814
2863
  jsonKey: String? = nil,
2815
2864
  jsonKeyData: String? = nil,
2816
2865
  rootUrl: String? = nil,
2817
- timeout: Int = 300) {
2866
+ timeout: Int = 300)
2867
+ {
2818
2868
  let command = RubyCommand(commandID: "", methodName: "download_from_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
2819
2869
  RubyCommand.Argument(name: "version_name", value: versionName),
2820
2870
  RubyCommand.Argument(name: "track", value: track),
@@ -2840,7 +2890,8 @@ func downloadFromPlayStore(packageName: String,
2840
2890
  */
2841
2891
  func dsymZip(archivePath: String? = nil,
2842
2892
  dsymPath: String? = nil,
2843
- all: Bool = false) {
2893
+ all: Bool = false)
2894
+ {
2844
2895
  let command = RubyCommand(commandID: "", methodName: "dsym_zip", className: nil, args: [RubyCommand.Argument(name: "archive_path", value: archivePath),
2845
2896
  RubyCommand.Argument(name: "dsym_path", value: dsymPath),
2846
2897
  RubyCommand.Argument(name: "all", value: all)])
@@ -2905,7 +2956,8 @@ func ensureGitBranch(branch: String = "master") {
2905
2956
  Also needed as a prerequisite for some other actions like `reset_git_repo`.
2906
2957
  */
2907
2958
  func ensureGitStatusClean(showUncommittedChanges: Bool = false,
2908
- showDiff: Bool = false) {
2959
+ showDiff: Bool = false)
2960
+ {
2909
2961
  let command = RubyCommand(commandID: "", methodName: "ensure_git_status_clean", className: nil, args: [RubyCommand.Argument(name: "show_uncommitted_changes", value: showUncommittedChanges),
2910
2962
  RubyCommand.Argument(name: "show_diff", value: showDiff)])
2911
2963
  _ = runner.executeCommand(command)
@@ -2930,7 +2982,8 @@ func ensureNoDebugCode(text: String,
2930
2982
  extension: String? = nil,
2931
2983
  extensions: Any? = nil,
2932
2984
  exclude: String? = nil,
2933
- excludeDirs: [String]? = nil) {
2985
+ excludeDirs: [String]? = nil)
2986
+ {
2934
2987
  let command = RubyCommand(commandID: "", methodName: "ensure_no_debug_code", className: nil, args: [RubyCommand.Argument(name: "text", value: text),
2935
2988
  RubyCommand.Argument(name: "path", value: path),
2936
2989
  RubyCommand.Argument(name: "extension", value: `extension`),
@@ -2953,7 +3006,8 @@ func ensureNoDebugCode(text: String,
2953
3006
  Using the `strict` parameter, you can either verify the full set of version numbers strictly (i.e. `11.3.1`) or only a subset of them (i.e. `11.3` or `11`).
2954
3007
  */
2955
3008
  func ensureXcodeVersion(version: String? = nil,
2956
- strict: Bool = true) {
3009
+ strict: Bool = true)
3010
+ {
2957
3011
  let command = RubyCommand(commandID: "", methodName: "ensure_xcode_version", className: nil, args: [RubyCommand.Argument(name: "version", value: version),
2958
3012
  RubyCommand.Argument(name: "strict", value: strict)])
2959
3013
  _ = runner.executeCommand(command)
@@ -2969,7 +3023,8 @@ func ensureXcodeVersion(version: String? = nil,
2969
3023
  */
2970
3024
  @discardableResult func environmentVariable(set: [String: Any]? = nil,
2971
3025
  get: String? = nil,
2972
- remove: String? = nil) -> String {
3026
+ remove: String? = nil) -> String
3027
+ {
2973
3028
  let command = RubyCommand(commandID: "", methodName: "environment_variable", className: nil, args: [RubyCommand.Argument(name: "set", value: set),
2974
3029
  RubyCommand.Argument(name: "get", value: get),
2975
3030
  RubyCommand.Argument(name: "remove", value: remove)])
@@ -2991,7 +3046,8 @@ func ensureXcodeVersion(version: String? = nil,
2991
3046
  func erb(template: String,
2992
3047
  destination: String? = nil,
2993
3048
  placeholders: [String: Any] = [:],
2994
- trimMode: String? = nil) {
3049
+ trimMode: String? = nil)
3050
+ {
2995
3051
  let command = RubyCommand(commandID: "", methodName: "erb", className: nil, args: [RubyCommand.Argument(name: "template", value: template),
2996
3052
  RubyCommand.Argument(name: "destination", value: destination),
2997
3053
  RubyCommand.Argument(name: "placeholders", value: placeholders),
@@ -3022,7 +3078,8 @@ func fastlaneVersion() {
3022
3078
  */
3023
3079
  func flock(message: String,
3024
3080
  token: String,
3025
- baseUrl: String = "https://api.flock.co/hooks/sendMessage") {
3081
+ baseUrl: String = "https://api.flock.co/hooks/sendMessage")
3082
+ {
3026
3083
  let command = RubyCommand(commandID: "", methodName: "flock", className: nil, args: [RubyCommand.Argument(name: "message", value: message),
3027
3084
  RubyCommand.Argument(name: "token", value: token),
3028
3085
  RubyCommand.Argument(name: "base_url", value: baseUrl)])
@@ -3070,7 +3127,8 @@ func frameScreenshots(white: Bool? = nil,
3070
3127
  debugMode: Bool = false,
3071
3128
  resume: Bool = false,
3072
3129
  usePlatform: String = "IOS",
3073
- path: String = "./") {
3130
+ path: String = "./")
3131
+ {
3074
3132
  let command = RubyCommand(commandID: "", methodName: "frame_screenshots", className: nil, args: [RubyCommand.Argument(name: "white", value: white),
3075
3133
  RubyCommand.Argument(name: "silver", value: silver),
3076
3134
  RubyCommand.Argument(name: "rose_gold", value: roseGold),
@@ -3132,7 +3190,8 @@ func frameit(white: Bool? = nil,
3132
3190
  debugMode: Bool = false,
3133
3191
  resume: Bool = false,
3134
3192
  usePlatform: String = "IOS",
3135
- path: String = "./") {
3193
+ path: String = "./")
3194
+ {
3136
3195
  let command = RubyCommand(commandID: "", methodName: "frameit", className: nil, args: [RubyCommand.Argument(name: "white", value: white),
3137
3196
  RubyCommand.Argument(name: "silver", value: silver),
3138
3197
  RubyCommand.Argument(name: "rose_gold", value: roseGold),
@@ -3174,7 +3233,8 @@ func gcovr() {
3174
3233
  You first have to set up your Xcode project, if you haven't done it already: [https://developer.apple.com/library/ios/qa/qa1827/_index.html](https://developer.apple.com/library/ios/qa/qa1827/_index.html).
3175
3234
  */
3176
3235
  @discardableResult func getBuildNumber(xcodeproj: String? = nil,
3177
- hideErrorWhenVersioningDisabled: Bool = false) -> String {
3236
+ hideErrorWhenVersioningDisabled: Bool = false) -> String
3237
+ {
3178
3238
  let command = RubyCommand(commandID: "", methodName: "get_build_number", className: nil, args: [RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
3179
3239
  RubyCommand.Argument(name: "hide_error_when_versioning_disabled", value: hideErrorWhenVersioningDisabled)])
3180
3240
  return runner.executeCommand(command)
@@ -3227,7 +3287,8 @@ func getCertificates(development: Bool = false,
3227
3287
  outputPath: String = ".",
3228
3288
  keychainPath: String,
3229
3289
  keychainPassword: String? = nil,
3230
- platform: String = "ios") {
3290
+ platform: String = "ios")
3291
+ {
3231
3292
  let command = RubyCommand(commandID: "", methodName: "get_certificates", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
3232
3293
  RubyCommand.Argument(name: "type", value: type),
3233
3294
  RubyCommand.Argument(name: "force", value: force),
@@ -3298,7 +3359,8 @@ func getCertificates(development: Bool = false,
3298
3359
  func getGithubRelease(url: String,
3299
3360
  serverUrl: String = "https://api.github.com",
3300
3361
  version: String,
3301
- apiToken: String? = nil) {
3362
+ apiToken: String? = nil)
3363
+ {
3302
3364
  let command = RubyCommand(commandID: "", methodName: "get_github_release", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
3303
3365
  RubyCommand.Argument(name: "server_url", value: serverUrl),
3304
3366
  RubyCommand.Argument(name: "version", value: version),
@@ -3316,7 +3378,8 @@ func getGithubRelease(url: String,
3316
3378
  Get a value from a plist file, which can be used to fetch the app identifier and more information about your app
3317
3379
  */
3318
3380
  @discardableResult func getInfoPlistValue(key: String,
3319
- path: String) -> String {
3381
+ path: String) -> String
3382
+ {
3320
3383
  let command = RubyCommand(commandID: "", methodName: "get_info_plist_value", className: nil, args: [RubyCommand.Argument(name: "key", value: key),
3321
3384
  RubyCommand.Argument(name: "path", value: path)])
3322
3385
  return runner.executeCommand(command)
@@ -3334,7 +3397,8 @@ func getGithubRelease(url: String,
3334
3397
  This is useful for introspecting Info.plist files for `.ipa` files that have already been built.
3335
3398
  */
3336
3399
  @discardableResult func getIpaInfoPlistValue(key: String,
3337
- ipa: String) -> String {
3400
+ ipa: String) -> String
3401
+ {
3338
3402
  let command = RubyCommand(commandID: "", methodName: "get_ipa_info_plist_value", className: nil, args: [RubyCommand.Argument(name: "key", value: key),
3339
3403
  RubyCommand.Argument(name: "ipa", value: ipa)])
3340
3404
  return runner.executeCommand(command)
@@ -3355,7 +3419,8 @@ func getGithubRelease(url: String,
3355
3419
  Run the action and supply the "private key file" to it as the `json_key` parameter. The command will output a URL to visit. After logging in you are redirected to a page that outputs your "Developer Account ID" - take note of that, you will need it to be able to use [`create_app_on_managed_play_store`](https://docs.fastlane.tools/actions/create_app_on_managed_play_store/).
3356
3420
  */
3357
3421
  func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
3358
- jsonKeyData: String? = nil) {
3422
+ jsonKeyData: String? = nil)
3423
+ {
3359
3424
  let command = RubyCommand(commandID: "", methodName: "get_managed_play_store_publishing_rights", className: nil, args: [RubyCommand.Argument(name: "json_key", value: jsonKey),
3360
3425
  RubyCommand.Argument(name: "json_key_data", value: jsonKeyData)])
3361
3426
  _ = runner.executeCommand(command)
@@ -3382,7 +3447,7 @@ func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
3382
3447
  - filename: Filename to use for the generated provisioning profile (must include .mobileprovision)
3383
3448
  - skipFetchProfiles: Skips the verification of existing profiles which is useful if you have thousands of profiles
3384
3449
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
3385
- - platform: Set the provisioning profile's platform (i.e. ios, tvos)
3450
+ - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
3386
3451
  - readonly: Only fetch existing profile, don't generate new ones
3387
3452
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
3388
3453
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
@@ -3411,7 +3476,8 @@ func getProvisioningProfile(adhoc: Bool = false,
3411
3476
  platform: Any = "ios",
3412
3477
  readonly: Bool = false,
3413
3478
  templateName: String? = nil,
3414
- failOnNameTaken: Bool = false) {
3479
+ failOnNameTaken: Bool = false)
3480
+ {
3415
3481
  let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
3416
3482
  RubyCommand.Argument(name: "developer_id", value: developerId),
3417
3483
  RubyCommand.Argument(name: "development", value: development),
@@ -3480,7 +3546,8 @@ func getPushCertificate(development: Bool = false,
3480
3546
  p12Password: String,
3481
3547
  pemName: String? = nil,
3482
3548
  outputPath: String = ".",
3483
- newProfile: Any? = nil) {
3549
+ newProfile: Any? = nil)
3550
+ {
3484
3551
  let command = RubyCommand(commandID: "", methodName: "get_push_certificate", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
3485
3552
  RubyCommand.Argument(name: "website_push", value: websitePush),
3486
3553
  RubyCommand.Argument(name: "generate_p12", value: generateP12),
@@ -3510,7 +3577,8 @@ func getPushCertificate(development: Bool = false,
3510
3577
  */
3511
3578
  @discardableResult func getVersionNumber(xcodeproj: String? = nil,
3512
3579
  target: String? = nil,
3513
- configuration: String? = nil) -> String {
3580
+ configuration: String? = nil) -> String
3581
+ {
3514
3582
  let command = RubyCommand(commandID: "", methodName: "get_version_number", className: nil, args: [RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
3515
3583
  RubyCommand.Argument(name: "target", value: target),
3516
3584
  RubyCommand.Argument(name: "configuration", value: configuration)])
@@ -3527,7 +3595,8 @@ func getPushCertificate(development: Bool = false,
3527
3595
  */
3528
3596
  func gitAdd(path: Any? = nil,
3529
3597
  shellEscape: Bool = true,
3530
- pathspec: String? = nil) {
3598
+ pathspec: String? = nil)
3599
+ {
3531
3600
  let command = RubyCommand(commandID: "", methodName: "git_add", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
3532
3601
  RubyCommand.Argument(name: "shell_escape", value: shellEscape),
3533
3602
  RubyCommand.Argument(name: "pathspec", value: pathspec)])
@@ -3556,7 +3625,8 @@ func gitAdd(path: Any? = nil,
3556
3625
  func gitCommit(path: Any,
3557
3626
  message: String,
3558
3627
  skipGitHooks: Bool? = nil,
3559
- allowNothingToCommit: Bool? = nil) {
3628
+ allowNothingToCommit: Bool? = nil)
3629
+ {
3560
3630
  let command = RubyCommand(commandID: "", methodName: "git_commit", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
3561
3631
  RubyCommand.Argument(name: "message", value: message),
3562
3632
  RubyCommand.Argument(name: "skip_git_hooks", value: skipGitHooks),
@@ -3572,7 +3642,8 @@ func gitCommit(path: Any,
3572
3642
  - rebase: Rebase on top of the remote branch instead of merge
3573
3643
  */
3574
3644
  func gitPull(onlyTags: Bool = false,
3575
- rebase: Bool = false) {
3645
+ rebase: Bool = false)
3646
+ {
3576
3647
  let command = RubyCommand(commandID: "", methodName: "git_pull", className: nil, args: [RubyCommand.Argument(name: "only_tags", value: onlyTags),
3577
3648
  RubyCommand.Argument(name: "rebase", value: rebase)])
3578
3649
  _ = runner.executeCommand(command)
@@ -3586,7 +3657,8 @@ func gitPull(onlyTags: Bool = false,
3586
3657
  - init: Should the submodules be initiated before update
3587
3658
  */
3588
3659
  func gitSubmoduleUpdate(recursive: Bool = false,
3589
- init: Bool = false) {
3660
+ init: Bool = false)
3661
+ {
3590
3662
  let command = RubyCommand(commandID: "", methodName: "git_submodule_update", className: nil, args: [RubyCommand.Argument(name: "recursive", value: recursive),
3591
3663
  RubyCommand.Argument(name: "init", value: `init`)])
3592
3664
  _ = runner.executeCommand(command)
@@ -3604,7 +3676,8 @@ func gitSubmoduleUpdate(recursive: Bool = false,
3604
3676
  */
3605
3677
  func gitTagExists(tag: String,
3606
3678
  remote: Bool = false,
3607
- remoteName: String = "origin") {
3679
+ remoteName: String = "origin")
3680
+ {
3608
3681
  let command = RubyCommand(commandID: "", methodName: "git_tag_exists", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag),
3609
3682
  RubyCommand.Argument(name: "remote", value: remote),
3610
3683
  RubyCommand.Argument(name: "remote_name", value: remoteName)])
@@ -3641,7 +3714,8 @@ func githubApi(serverUrl: String = "https://api.github.com",
3641
3714
  url: String? = nil,
3642
3715
  errorHandlers: [String: Any] = [:],
3643
3716
  headers: [String: Any] = [:],
3644
- secure: Bool = true) {
3717
+ secure: Bool = true)
3718
+ {
3645
3719
  let command = RubyCommand(commandID: "", methodName: "github_api", className: nil, args: [RubyCommand.Argument(name: "server_url", value: serverUrl),
3646
3720
  RubyCommand.Argument(name: "api_token", value: apiToken),
3647
3721
  RubyCommand.Argument(name: "http_method", value: httpMethod),
@@ -3679,7 +3753,8 @@ func googlePlayTrackReleaseNames(packageName: String,
3679
3753
  jsonKey: String? = nil,
3680
3754
  jsonKeyData: String? = nil,
3681
3755
  rootUrl: String? = nil,
3682
- timeout: Int = 300) {
3756
+ timeout: Int = 300)
3757
+ {
3683
3758
  let command = RubyCommand(commandID: "", methodName: "google_play_track_release_names", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
3684
3759
  RubyCommand.Argument(name: "track", value: track),
3685
3760
  RubyCommand.Argument(name: "key", value: key),
@@ -3715,7 +3790,8 @@ func googlePlayTrackVersionCodes(packageName: String,
3715
3790
  jsonKey: String? = nil,
3716
3791
  jsonKeyData: String? = nil,
3717
3792
  rootUrl: String? = nil,
3718
- timeout: Int = 300) {
3793
+ timeout: Int = 300)
3794
+ {
3719
3795
  let command = RubyCommand(commandID: "", methodName: "google_play_track_version_codes", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
3720
3796
  RubyCommand.Argument(name: "track", value: track),
3721
3797
  RubyCommand.Argument(name: "key", value: key),
@@ -3759,7 +3835,8 @@ func gradle(task: String? = nil,
3759
3835
  systemProperties: Any? = nil,
3760
3836
  serial: String = "",
3761
3837
  printCommand: Bool = true,
3762
- printCommandOutput: Bool = true) {
3838
+ printCommandOutput: Bool = true)
3839
+ {
3763
3840
  let command = RubyCommand(commandID: "", methodName: "gradle", className: nil, args: [RubyCommand.Argument(name: "task", value: task),
3764
3841
  RubyCommand.Argument(name: "flavor", value: flavor),
3765
3842
  RubyCommand.Argument(name: "build_type", value: buildType),
@@ -3871,7 +3948,8 @@ func gym(workspace: Any? = gymfile.workspace,
3871
3948
  analyzeBuildTime: Bool? = gymfile.analyzeBuildTime,
3872
3949
  xcprettyUtf: Bool? = gymfile.xcprettyUtf,
3873
3950
  skipProfileDetection: Bool = gymfile.skipProfileDetection,
3874
- clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath) {
3951
+ clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath)
3952
+ {
3875
3953
  let command = RubyCommand(commandID: "", methodName: "gym", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
3876
3954
  RubyCommand.Argument(name: "project", value: project),
3877
3955
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -3953,7 +4031,8 @@ func hgCommitVersionBump(message: String = "Version Bump",
3953
4031
  xcodeproj: String? = nil,
3954
4032
  force: Bool = false,
3955
4033
  testDirtyFiles: String = "file1, file2",
3956
- testExpectedFiles: String = "file1, file2") {
4034
+ testExpectedFiles: String = "file1, file2")
4035
+ {
3957
4036
  let command = RubyCommand(commandID: "", methodName: "hg_commit_version_bump", className: nil, args: [RubyCommand.Argument(name: "message", value: message),
3958
4037
  RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
3959
4038
  RubyCommand.Argument(name: "force", value: force),
@@ -3982,7 +4061,8 @@ func hgEnsureCleanStatus() {
3982
4061
  The mercurial equivalent of [push_to_git_remote](https://docs.fastlane.tools/actions/push_to_git_remote/). Pushes your local commits to a remote mercurial repo. Useful when local changes such as adding a version bump commit or adding a tag are part of your lane’s actions.
3983
4062
  */
3984
4063
  func hgPush(force: Bool = false,
3985
- destination: String = "") {
4064
+ destination: String = "")
4065
+ {
3986
4066
  let command = RubyCommand(commandID: "", methodName: "hg_push", className: nil, args: [RubyCommand.Argument(name: "force", value: force),
3987
4067
  RubyCommand.Argument(name: "destination", value: destination)])
3988
4068
  _ = runner.executeCommand(command)
@@ -4016,7 +4096,8 @@ func hipchat(message: String = "",
4016
4096
  apiHost: String = "api.hipchat.com",
4017
4097
  messageFormat: String = "html",
4018
4098
  includeHtmlHeader: Bool = true,
4019
- from: String = "fastlane") {
4099
+ from: String = "fastlane")
4100
+ {
4020
4101
  let command = RubyCommand(commandID: "", methodName: "hipchat", className: nil, args: [RubyCommand.Argument(name: "message", value: message),
4021
4102
  RubyCommand.Argument(name: "channel", value: channel),
4022
4103
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -4095,7 +4176,8 @@ func hockey(apk: String? = nil,
4095
4176
  strategy: String = "add",
4096
4177
  timeout: Int? = nil,
4097
4178
  bypassCdn: Bool = false,
4098
- dsaSignature: String = "") {
4179
+ dsaSignature: String = "")
4180
+ {
4099
4181
  let command = RubyCommand(commandID: "", methodName: "hockey", className: nil, args: [RubyCommand.Argument(name: "apk", value: apk),
4100
4182
  RubyCommand.Argument(name: "api_token", value: apiToken),
4101
4183
  RubyCommand.Argument(name: "ipa", value: ipa),
@@ -4142,7 +4224,8 @@ func ifttt(apiKey: String,
4142
4224
  eventName: String,
4143
4225
  value1: String? = nil,
4144
4226
  value2: String? = nil,
4145
- value3: String? = nil) {
4227
+ value3: String? = nil)
4228
+ {
4146
4229
  let command = RubyCommand(commandID: "", methodName: "ifttt", className: nil, args: [RubyCommand.Argument(name: "api_key", value: apiKey),
4147
4230
  RubyCommand.Argument(name: "event_name", value: eventName),
4148
4231
  RubyCommand.Argument(name: "value1", value: value1),
@@ -4169,7 +4252,8 @@ func importCertificate(certificatePath: String,
4169
4252
  keychainName: String,
4170
4253
  keychainPath: String? = nil,
4171
4254
  keychainPassword: String? = nil,
4172
- logOutput: Bool = false) {
4255
+ logOutput: Bool = false)
4256
+ {
4173
4257
  let command = RubyCommand(commandID: "", methodName: "import_certificate", className: nil, args: [RubyCommand.Argument(name: "certificate_path", value: certificatePath),
4174
4258
  RubyCommand.Argument(name: "certificate_password", value: certificatePassword),
4175
4259
  RubyCommand.Argument(name: "keychain_name", value: keychainName),
@@ -4189,7 +4273,8 @@ func importCertificate(certificatePath: String,
4189
4273
  - returns: The new build number
4190
4274
  */
4191
4275
  @discardableResult func incrementBuildNumber(buildNumber: Any? = nil,
4192
- xcodeproj: String? = nil) -> String {
4276
+ xcodeproj: String? = nil) -> String
4277
+ {
4193
4278
  let command = RubyCommand(commandID: "", methodName: "increment_build_number", className: nil, args: [RubyCommand.Argument(name: "build_number", value: buildNumber),
4194
4279
  RubyCommand.Argument(name: "xcodeproj", value: xcodeproj)])
4195
4280
  return runner.executeCommand(command)
@@ -4210,7 +4295,8 @@ func importCertificate(certificatePath: String,
4210
4295
  */
4211
4296
  @discardableResult func incrementVersionNumber(bumpType: String = "bump",
4212
4297
  versionNumber: String? = nil,
4213
- xcodeproj: String? = nil) -> String {
4298
+ xcodeproj: String? = nil) -> String
4299
+ {
4214
4300
  let command = RubyCommand(commandID: "", methodName: "increment_version_number", className: nil, args: [RubyCommand.Argument(name: "bump_type", value: bumpType),
4215
4301
  RubyCommand.Argument(name: "version_number", value: versionNumber),
4216
4302
  RubyCommand.Argument(name: "xcodeproj", value: xcodeproj)])
@@ -4231,7 +4317,8 @@ func importCertificate(certificatePath: String,
4231
4317
  func installOnDevice(extra: String? = nil,
4232
4318
  deviceId: String? = nil,
4233
4319
  skipWifi: Any? = nil,
4234
- ipa: String? = nil) {
4320
+ ipa: String? = nil)
4321
+ {
4235
4322
  let command = RubyCommand(commandID: "", methodName: "install_on_device", className: nil, args: [RubyCommand.Argument(name: "extra", value: extra),
4236
4323
  RubyCommand.Argument(name: "device_id", value: deviceId),
4237
4324
  RubyCommand.Argument(name: "skip_wifi", value: skipWifi),
@@ -4261,7 +4348,8 @@ func installProvisioningProfile(path: String) {
4261
4348
  - github: GitHub repository URL for Xcode plugin
4262
4349
  */
4263
4350
  func installXcodePlugin(url: String,
4264
- github: String? = nil) {
4351
+ github: String? = nil)
4352
+ {
4265
4353
  let command = RubyCommand(commandID: "", methodName: "install_xcode_plugin", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
4266
4354
  RubyCommand.Argument(name: "github", value: github)])
4267
4355
  _ = runner.executeCommand(command)
@@ -4281,7 +4369,8 @@ func installr(apiToken: String,
4281
4369
  ipa: String,
4282
4370
  notes: String? = nil,
4283
4371
  notify: String? = nil,
4284
- add: String? = nil) {
4372
+ add: String? = nil)
4373
+ {
4285
4374
  let command = RubyCommand(commandID: "", methodName: "installr", className: nil, args: [RubyCommand.Argument(name: "api_token", value: apiToken),
4286
4375
  RubyCommand.Argument(name: "ipa", value: ipa),
4287
4376
  RubyCommand.Argument(name: "notes", value: notes),
@@ -4320,7 +4409,8 @@ func ipa(workspace: String? = nil,
4320
4409
  sdk: String? = nil,
4321
4410
  ipa: String? = nil,
4322
4411
  xcconfig: String? = nil,
4323
- xcargs: String? = nil) {
4412
+ xcargs: String? = nil)
4413
+ {
4324
4414
  let command = RubyCommand(commandID: "", methodName: "ipa", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
4325
4415
  RubyCommand.Argument(name: "project", value: project),
4326
4416
  RubyCommand.Argument(name: "configuration", value: configuration),
@@ -4373,7 +4463,8 @@ func jira(url: String,
4373
4463
  username: String,
4374
4464
  password: String,
4375
4465
  ticketId: String,
4376
- commentText: String) {
4466
+ commentText: String)
4467
+ {
4377
4468
  let command = RubyCommand(commandID: "", methodName: "jira", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
4378
4469
  RubyCommand.Argument(name: "context_path", value: contextPath),
4379
4470
  RubyCommand.Argument(name: "username", value: username),
@@ -4442,7 +4533,8 @@ func jira(url: String,
4442
4533
  platform: String = "ios",
4443
4534
  initialBuildNumber: Int = 1,
4444
4535
  teamId: Any? = nil,
4445
- teamName: String? = nil) -> Int {
4536
+ teamName: String? = nil) -> Int
4537
+ {
4446
4538
  let command = RubyCommand(commandID: "", methodName: "latest_testflight_build_number", className: nil, args: [RubyCommand.Argument(name: "live", value: live),
4447
4539
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
4448
4540
  RubyCommand.Argument(name: "username", value: username),
@@ -4466,7 +4558,8 @@ func jira(url: String,
4466
4558
  func lcov(projectName: String,
4467
4559
  scheme: String,
4468
4560
  arch: String = "i386",
4469
- outputDir: String = "coverage_reports") {
4561
+ outputDir: String = "coverage_reports")
4562
+ {
4470
4563
  let command = RubyCommand(commandID: "", methodName: "lcov", className: nil, args: [RubyCommand.Argument(name: "project_name", value: projectName),
4471
4564
  RubyCommand.Argument(name: "scheme", value: scheme),
4472
4565
  RubyCommand.Argument(name: "arch", value: arch),
@@ -4510,7 +4603,8 @@ func mailgun(mailgunSandboxDomain: String? = nil,
4510
4603
  templatePath: String? = nil,
4511
4604
  replyTo: String? = nil,
4512
4605
  attachment: Any? = nil,
4513
- customPlaceholders: [String: Any] = [:]) {
4606
+ customPlaceholders: [String: Any] = [:])
4607
+ {
4514
4608
  let command = RubyCommand(commandID: "", methodName: "mailgun", className: nil, args: [RubyCommand.Argument(name: "mailgun_sandbox_domain", value: mailgunSandboxDomain),
4515
4609
  RubyCommand.Argument(name: "mailgun_sandbox_postmaster", value: mailgunSandboxPostmaster),
4516
4610
  RubyCommand.Argument(name: "mailgun_apikey", value: mailgunApikey),
@@ -4540,7 +4634,8 @@ func mailgun(mailgunSandboxDomain: String? = nil,
4540
4634
  This is useful when deploying automated builds. The changelog from Jenkins lists all the commit messages since the last build.
4541
4635
  */
4542
4636
  func makeChangelogFromJenkins(fallbackChangelog: String = "",
4543
- includeCommitBody: Bool = true) {
4637
+ includeCommitBody: Bool = true)
4638
+ {
4544
4639
  let command = RubyCommand(commandID: "", methodName: "make_changelog_from_jenkins", className: nil, args: [RubyCommand.Argument(name: "fallback_changelog", value: fallbackChangelog),
4545
4640
  RubyCommand.Argument(name: "include_commit_body", value: includeCommitBody)])
4546
4641
  _ = runner.executeCommand(command)
@@ -4583,7 +4678,8 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
4583
4678
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
4584
4679
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
4585
4680
  - skipDocs: Skip generation of a README.md for the created git repository
4586
- - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
4681
+ - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
4682
+ - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
4587
4683
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
4588
4684
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
4589
4685
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
@@ -4626,11 +4722,13 @@ func match(type: Any = matchfile.type,
4626
4722
  skipConfirmation: Bool = matchfile.skipConfirmation,
4627
4723
  skipDocs: Bool = matchfile.skipDocs,
4628
4724
  platform: Any = matchfile.platform,
4725
+ deriveCatalystAppIdentifier: Bool = matchfile.deriveCatalystAppIdentifier,
4629
4726
  templateName: Any? = matchfile.templateName,
4630
4727
  profileName: Any? = matchfile.profileName,
4631
4728
  failOnNameTaken: Bool = matchfile.failOnNameTaken,
4632
4729
  outputPath: Any? = matchfile.outputPath,
4633
- verbose: Bool = matchfile.verbose) {
4730
+ verbose: Bool = matchfile.verbose)
4731
+ {
4634
4732
  let command = RubyCommand(commandID: "", methodName: "match", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
4635
4733
  RubyCommand.Argument(name: "additional_cert_types", value: additionalCertTypes),
4636
4734
  RubyCommand.Argument(name: "readonly", value: readonly),
@@ -4665,6 +4763,7 @@ func match(type: Any = matchfile.type,
4665
4763
  RubyCommand.Argument(name: "skip_confirmation", value: skipConfirmation),
4666
4764
  RubyCommand.Argument(name: "skip_docs", value: skipDocs),
4667
4765
  RubyCommand.Argument(name: "platform", value: platform),
4766
+ RubyCommand.Argument(name: "derive_catalyst_app_identifier", value: deriveCatalystAppIdentifier),
4668
4767
  RubyCommand.Argument(name: "template_name", value: templateName),
4669
4768
  RubyCommand.Argument(name: "profile_name", value: profileName),
4670
4769
  RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
@@ -4700,7 +4799,8 @@ func modifyServices(username: String,
4700
4799
  appIdentifier: String,
4701
4800
  services: [String: Any] = [:],
4702
4801
  teamId: String? = nil,
4703
- teamName: String? = nil) {
4802
+ teamName: String? = nil)
4803
+ {
4704
4804
  let command = RubyCommand(commandID: "", methodName: "modify_services", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
4705
4805
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
4706
4806
  RubyCommand.Argument(name: "services", value: services),
@@ -4747,7 +4847,8 @@ func nexusUpload(file: String,
4747
4847
  proxyUsername: String? = nil,
4748
4848
  proxyPassword: String? = nil,
4749
4849
  proxyAddress: String? = nil,
4750
- proxyPort: String? = nil) {
4850
+ proxyPort: String? = nil)
4851
+ {
4751
4852
  let command = RubyCommand(commandID: "", methodName: "nexus_upload", className: nil, args: [RubyCommand.Argument(name: "file", value: file),
4752
4853
  RubyCommand.Argument(name: "repo_id", value: repoId),
4753
4854
  RubyCommand.Argument(name: "repo_group_id", value: repoGroupId),
@@ -4786,7 +4887,8 @@ func notarize(package: String,
4786
4887
  username: String,
4787
4888
  ascProvider: String? = nil,
4788
4889
  printLog: Bool = false,
4789
- verbose: Bool = false) {
4890
+ verbose: Bool = false)
4891
+ {
4790
4892
  let command = RubyCommand(commandID: "", methodName: "notarize", className: nil, args: [RubyCommand.Argument(name: "package", value: package),
4791
4893
  RubyCommand.Argument(name: "try_early_stapling", value: tryEarlyStapling),
4792
4894
  RubyCommand.Argument(name: "bundle_id", value: bundleId),
@@ -4819,7 +4921,8 @@ func notification(title: String = "fastlane",
4819
4921
  appIcon: String? = nil,
4820
4922
  contentImage: String? = nil,
4821
4923
  open: String? = nil,
4822
- execute: String? = nil) {
4924
+ execute: String? = nil)
4925
+ {
4823
4926
  let command = RubyCommand(commandID: "", methodName: "notification", className: nil, args: [RubyCommand.Argument(name: "title", value: title),
4824
4927
  RubyCommand.Argument(name: "subtitle", value: subtitle),
4825
4928
  RubyCommand.Argument(name: "message", value: message),
@@ -4898,7 +5001,8 @@ func oclint(oclintPath: String = "oclint",
4898
5001
  enableClangStaticAnalyzer: Bool = false,
4899
5002
  enableGlobalAnalysis: Bool = false,
4900
5003
  allowDuplicatedViolations: Bool = false,
4901
- extraArg: String? = nil) {
5004
+ extraArg: String? = nil)
5005
+ {
4902
5006
  let command = RubyCommand(commandID: "", methodName: "oclint", className: nil, args: [RubyCommand.Argument(name: "oclint_path", value: oclintPath),
4903
5007
  RubyCommand.Argument(name: "compile_commands", value: compileCommands),
4904
5008
  RubyCommand.Argument(name: "select_reqex", value: selectReqex),
@@ -4943,7 +5047,8 @@ func onesignal(appId: String? = nil,
4943
5047
  androidGcmSenderId: String? = nil,
4944
5048
  apnsP12: String? = nil,
4945
5049
  apnsP12Password: String? = nil,
4946
- apnsEnv: String = "production") {
5050
+ apnsEnv: String = "production")
5051
+ {
4947
5052
  let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "app_id", value: appId),
4948
5053
  RubyCommand.Argument(name: "auth_token", value: authToken),
4949
5054
  RubyCommand.Argument(name: "app_name", value: appName),
@@ -5021,7 +5126,8 @@ func pem(development: Bool = false,
5021
5126
  p12Password: String,
5022
5127
  pemName: String? = nil,
5023
5128
  outputPath: String = ".",
5024
- newProfile: Any? = nil) {
5129
+ newProfile: Any? = nil)
5130
+ {
5025
5131
  let command = RubyCommand(commandID: "", methodName: "pem", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
5026
5132
  RubyCommand.Argument(name: "website_push", value: websitePush),
5027
5133
  RubyCommand.Argument(name: "generate_p12", value: generateP12),
@@ -5114,7 +5220,8 @@ func pilot(username: String,
5114
5220
  itcProvider: String? = nil,
5115
5221
  waitProcessingInterval: Int = 30,
5116
5222
  waitForUploadedBuild: Bool = false,
5117
- rejectBuildWaitingForReview: Bool = false) {
5223
+ rejectBuildWaitingForReview: Bool = false)
5224
+ {
5118
5225
  let command = RubyCommand(commandID: "", methodName: "pilot", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
5119
5226
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
5120
5227
  RubyCommand.Argument(name: "app_platform", value: appPlatform),
@@ -5162,7 +5269,8 @@ func pilot(username: String,
5162
5269
  */
5163
5270
  func pluginScores(outputPath: String,
5164
5271
  templatePath: String,
5165
- cachePath: String) {
5272
+ cachePath: String)
5273
+ {
5166
5274
  let command = RubyCommand(commandID: "", methodName: "plugin_scores", className: nil, args: [RubyCommand.Argument(name: "output_path", value: outputPath),
5167
5275
  RubyCommand.Argument(name: "template_path", value: templatePath),
5168
5276
  RubyCommand.Argument(name: "cache_path", value: cachePath)])
@@ -5215,7 +5323,8 @@ func podLibLint(useBundleExec: Bool = true,
5215
5323
  platforms: String? = nil,
5216
5324
  skipImportValidation: Bool = false,
5217
5325
  skipTests: Bool = false,
5218
- analyze: Bool = false) {
5326
+ analyze: Bool = false)
5327
+ {
5219
5328
  let command = RubyCommand(commandID: "", methodName: "pod_lib_lint", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
5220
5329
  RubyCommand.Argument(name: "podspec", value: podspec),
5221
5330
  RubyCommand.Argument(name: "verbose", value: verbose),
@@ -5267,7 +5376,8 @@ func podPush(useBundleExec: Bool = false,
5267
5376
  skipTests: Bool? = nil,
5268
5377
  verbose: Bool = false,
5269
5378
  useModularHeaders: Bool? = nil,
5270
- synchronous: Bool? = nil) {
5379
+ synchronous: Bool? = nil)
5380
+ {
5271
5381
  let command = RubyCommand(commandID: "", methodName: "pod_push", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
5272
5382
  RubyCommand.Argument(name: "path", value: path),
5273
5383
  RubyCommand.Argument(name: "repo", value: repo),
@@ -5305,7 +5415,8 @@ func podioItem(clientId: String,
5305
5415
  appToken: String,
5306
5416
  identifyingField: String,
5307
5417
  identifyingValue: String,
5308
- otherFields: [String: Any]? = nil) {
5418
+ otherFields: [String: Any]? = nil)
5419
+ {
5309
5420
  let command = RubyCommand(commandID: "", methodName: "podio_item", className: nil, args: [RubyCommand.Argument(name: "client_id", value: clientId),
5310
5421
  RubyCommand.Argument(name: "client_secret", value: clientSecret),
5311
5422
  RubyCommand.Argument(name: "app_id", value: appId),
@@ -5338,7 +5449,8 @@ func precheck(appIdentifier: Any = precheckfile.appIdentifier,
5338
5449
  teamName: Any? = precheckfile.teamName,
5339
5450
  defaultRuleLevel: Any = precheckfile.defaultRuleLevel,
5340
5451
  includeInAppPurchases: Bool = precheckfile.includeInAppPurchases,
5341
- freeStuffInIap: Any? = precheckfile.freeStuffInIap) {
5452
+ freeStuffInIap: Any? = precheckfile.freeStuffInIap)
5453
+ {
5342
5454
  let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
5343
5455
  RubyCommand.Argument(name: "username", value: username),
5344
5456
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -5405,7 +5517,8 @@ func produce(username: String,
5405
5517
  teamId: String? = nil,
5406
5518
  teamName: String? = nil,
5407
5519
  itcTeamId: Any? = nil,
5408
- itcTeamName: String? = nil) {
5520
+ itcTeamName: String? = nil)
5521
+ {
5409
5522
  let command = RubyCommand(commandID: "", methodName: "produce", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
5410
5523
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
5411
5524
  RubyCommand.Argument(name: "bundle_identifier_suffix", value: bundleIdentifierSuffix),
@@ -5446,7 +5559,8 @@ func produce(username: String,
5446
5559
  ciInput: String = "",
5447
5560
  boolean: Bool = false,
5448
5561
  secureText: Bool = false,
5449
- multiLineEndKeyword: String? = nil) -> String {
5562
+ multiLineEndKeyword: String? = nil) -> String
5563
+ {
5450
5564
  let command = RubyCommand(commandID: "", methodName: "prompt", className: nil, args: [RubyCommand.Argument(name: "text", value: text),
5451
5565
  RubyCommand.Argument(name: "ci_input", value: ciInput),
5452
5566
  RubyCommand.Argument(name: "boolean", value: boolean),
@@ -5467,7 +5581,8 @@ func produce(username: String,
5467
5581
  */
5468
5582
  func pushGitTags(force: Bool = false,
5469
5583
  remote: String = "origin",
5470
- tag: String? = nil) {
5584
+ tag: String? = nil)
5585
+ {
5471
5586
  let command = RubyCommand(commandID: "", methodName: "push_git_tags", className: nil, args: [RubyCommand.Argument(name: "force", value: force),
5472
5587
  RubyCommand.Argument(name: "remote", value: remote),
5473
5588
  RubyCommand.Argument(name: "tag", value: tag)])
@@ -5497,7 +5612,8 @@ func pushToGitRemote(localBranch: String? = nil,
5497
5612
  tags: Bool = true,
5498
5613
  remote: String = "origin",
5499
5614
  noVerify: Bool = false,
5500
- setUpstream: Bool = false) {
5615
+ setUpstream: Bool = false)
5616
+ {
5501
5617
  let command = RubyCommand(commandID: "", methodName: "push_to_git_remote", className: nil, args: [RubyCommand.Argument(name: "local_branch", value: localBranch),
5502
5618
  RubyCommand.Argument(name: "remote_branch", value: remoteBranch),
5503
5619
  RubyCommand.Argument(name: "force", value: force),
@@ -5562,7 +5678,8 @@ func recreateSchemes(project: String) {
5562
5678
  udid: String,
5563
5679
  teamId: String? = nil,
5564
5680
  teamName: String? = nil,
5565
- username: String) -> String {
5681
+ username: String) -> String
5682
+ {
5566
5683
  let command = RubyCommand(commandID: "", methodName: "register_device", className: nil, args: [RubyCommand.Argument(name: "name", value: name),
5567
5684
  RubyCommand.Argument(name: "udid", value: udid),
5568
5685
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -5591,7 +5708,8 @@ func registerDevices(devices: [String: Any]? = nil,
5591
5708
  teamId: String? = nil,
5592
5709
  teamName: String? = nil,
5593
5710
  username: String,
5594
- platform: String = "ios") {
5711
+ platform: String = "ios")
5712
+ {
5595
5713
  let command = RubyCommand(commandID: "", methodName: "register_devices", className: nil, args: [RubyCommand.Argument(name: "devices", value: devices),
5596
5714
  RubyCommand.Argument(name: "devices_file", value: devicesFile),
5597
5715
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -5622,7 +5740,8 @@ func resetGitRepo(files: Any? = nil,
5622
5740
  force: Bool = false,
5623
5741
  skipClean: Bool = false,
5624
5742
  disregardGitignore: Bool = true,
5625
- exclude: Any? = nil) {
5743
+ exclude: Any? = nil)
5744
+ {
5626
5745
  let command = RubyCommand(commandID: "", methodName: "reset_git_repo", className: nil, args: [RubyCommand.Argument(name: "files", value: files),
5627
5746
  RubyCommand.Argument(name: "force", value: force),
5628
5747
  RubyCommand.Argument(name: "skip_clean", value: skipClean),
@@ -5639,7 +5758,8 @@ func resetGitRepo(files: Any? = nil,
5639
5758
  - osVersions: Which OS versions of Simulators you want to reset content and settings, this does not remove/recreate the simulators
5640
5759
  */
5641
5760
  func resetSimulatorContents(ios: [String]? = nil,
5642
- osVersions: [String]? = nil) {
5761
+ osVersions: [String]? = nil)
5762
+ {
5643
5763
  let command = RubyCommand(commandID: "", methodName: "reset_simulator_contents", className: nil, args: [RubyCommand.Argument(name: "ios", value: ios),
5644
5764
  RubyCommand.Argument(name: "os_versions", value: osVersions)])
5645
5765
  _ = runner.executeCommand(command)
@@ -5671,7 +5791,8 @@ func resign(ipa: String,
5671
5791
  bundleVersion: String? = nil,
5672
5792
  bundleId: String? = nil,
5673
5793
  useAppEntitlements: Any? = nil,
5674
- keychainPath: String? = nil) {
5794
+ keychainPath: String? = nil)
5795
+ {
5675
5796
  let command = RubyCommand(commandID: "", methodName: "resign", className: nil, args: [RubyCommand.Argument(name: "ipa", value: ipa),
5676
5797
  RubyCommand.Argument(name: "signing_identity", value: signingIdentity),
5677
5798
  RubyCommand.Argument(name: "entitlements", value: entitlements),
@@ -5726,7 +5847,8 @@ func rspec() {
5726
5847
  */
5727
5848
  func rsync(extra: String = "-av",
5728
5849
  source: String,
5729
- destination: String) {
5850
+ destination: String)
5851
+ {
5730
5852
  let command = RubyCommand(commandID: "", methodName: "rsync", className: nil, args: [RubyCommand.Argument(name: "extra", value: extra),
5731
5853
  RubyCommand.Argument(name: "source", value: source),
5732
5854
  RubyCommand.Argument(name: "destination", value: destination)])
@@ -5884,7 +6006,8 @@ func runTests(workspace: String? = nil,
5884
6006
  customReportFileName: String? = nil,
5885
6007
  xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
5886
6008
  clonedSourcePackagesPath: String? = nil,
5887
- failBuild: Bool = true) {
6009
+ failBuild: Bool = true)
6010
+ {
5888
6011
  let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
5889
6012
  RubyCommand.Argument(name: "project", value: project),
5890
6013
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -5991,7 +6114,8 @@ func s3(ipa: String? = nil,
5991
6114
  region: String? = nil,
5992
6115
  path: String = "v{CFBundleShortVersionString}_b{CFBundleVersion}/",
5993
6116
  source: String? = nil,
5994
- acl: String = "public_read") {
6117
+ acl: String = "public_read")
6118
+ {
5995
6119
  let command = RubyCommand(commandID: "", methodName: "s3", className: nil, args: [RubyCommand.Argument(name: "ipa", value: ipa),
5996
6120
  RubyCommand.Argument(name: "dsym", value: dsym),
5997
6121
  RubyCommand.Argument(name: "upload_metadata", value: uploadMetadata),
@@ -6019,7 +6143,8 @@ func s3(ipa: String? = nil,
6019
6143
  - mute: If say should be muted with text printed out
6020
6144
  */
6021
6145
  func say(text: Any,
6022
- mute: Bool = false) {
6146
+ mute: Bool = false)
6147
+ {
6023
6148
  let command = RubyCommand(commandID: "", methodName: "say", className: nil, args: [RubyCommand.Argument(name: "text", value: text),
6024
6149
  RubyCommand.Argument(name: "mute", value: mute)])
6025
6150
  _ = runner.executeCommand(command)
@@ -6157,7 +6282,8 @@ func scan(workspace: Any? = scanfile.workspace,
6157
6282
  customReportFileName: Any? = scanfile.customReportFileName,
6158
6283
  xcodebuildCommand: Any = scanfile.xcodebuildCommand,
6159
6284
  clonedSourcePackagesPath: Any? = scanfile.clonedSourcePackagesPath,
6160
- failBuild: Bool = scanfile.failBuild) {
6285
+ failBuild: Bool = scanfile.failBuild)
6286
+ {
6161
6287
  let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
6162
6288
  RubyCommand.Argument(name: "project", value: project),
6163
6289
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -6240,7 +6366,8 @@ func scp(username: String,
6240
6366
  host: String,
6241
6367
  port: String = "22",
6242
6368
  upload: [String: Any]? = nil,
6243
- download: [String: Any]? = nil) {
6369
+ download: [String: Any]? = nil)
6370
+ {
6244
6371
  let command = RubyCommand(commandID: "", methodName: "scp", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
6245
6372
  RubyCommand.Argument(name: "password", value: password),
6246
6373
  RubyCommand.Argument(name: "host", value: host),
@@ -6298,7 +6425,8 @@ func screengrab(androidHome: Any? = screengrabfile.androidHome,
6298
6425
  exitOnTestFailure: Bool = screengrabfile.exitOnTestFailure,
6299
6426
  reinstallApp: Bool = screengrabfile.reinstallApp,
6300
6427
  useTimestampSuffix: Bool = screengrabfile.useTimestampSuffix,
6301
- adbHost: Any? = screengrabfile.adbHost) {
6428
+ adbHost: Any? = screengrabfile.adbHost)
6429
+ {
6302
6430
  let command = RubyCommand(commandID: "", methodName: "screengrab", className: nil, args: [RubyCommand.Argument(name: "android_home", value: androidHome),
6303
6431
  RubyCommand.Argument(name: "build_tools_version", value: buildToolsVersion),
6304
6432
  RubyCommand.Argument(name: "locales", value: locales),
@@ -6336,7 +6464,8 @@ func screengrab(androidHome: Any? = screengrabfile.androidHome,
6336
6464
  There is an option, `:use_hg_revision_number`, which allows to use mercurial revision number instead of hash.
6337
6465
  */
6338
6466
  func setBuildNumberRepository(useHgRevisionNumber: Bool = false,
6339
- xcodeproj: String? = nil) {
6467
+ xcodeproj: String? = nil)
6468
+ {
6340
6469
  let command = RubyCommand(commandID: "", methodName: "set_build_number_repository", className: nil, args: [RubyCommand.Argument(name: "use_hg_revision_number", value: useHgRevisionNumber),
6341
6470
  RubyCommand.Argument(name: "xcodeproj", value: xcodeproj)])
6342
6471
  _ = runner.executeCommand(command)
@@ -6364,7 +6493,8 @@ func setChangelog(appIdentifier: String,
6364
6493
  changelog: String? = nil,
6365
6494
  teamId: Any? = nil,
6366
6495
  teamName: String? = nil,
6367
- platform: String = "ios") {
6496
+ platform: String = "ios")
6497
+ {
6368
6498
  let command = RubyCommand(commandID: "", methodName: "set_changelog", className: nil, args: [RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
6369
6499
  RubyCommand.Argument(name: "username", value: username),
6370
6500
  RubyCommand.Argument(name: "version", value: version),
@@ -6406,7 +6536,8 @@ func setChangelog(appIdentifier: String,
6406
6536
  description: String? = nil,
6407
6537
  isDraft: Bool = false,
6408
6538
  isPrerelease: Bool = false,
6409
- uploadAssets: [String]? = nil) -> [String: Any] {
6539
+ uploadAssets: [String]? = nil) -> [String: Any]
6540
+ {
6410
6541
  let command = RubyCommand(commandID: "", methodName: "set_github_release", className: nil, args: [RubyCommand.Argument(name: "repository_name", value: repositoryName),
6411
6542
  RubyCommand.Argument(name: "server_url", value: serverUrl),
6412
6543
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -6434,7 +6565,8 @@ func setInfoPlistValue(key: String,
6434
6565
  subkey: String? = nil,
6435
6566
  value: Any,
6436
6567
  path: String,
6437
- outputFileName: String? = nil) {
6568
+ outputFileName: String? = nil)
6569
+ {
6438
6570
  let command = RubyCommand(commandID: "", methodName: "set_info_plist_value", className: nil, args: [RubyCommand.Argument(name: "key", value: key),
6439
6571
  RubyCommand.Argument(name: "subkey", value: subkey),
6440
6572
  RubyCommand.Argument(name: "value", value: value),
@@ -6457,7 +6589,8 @@ func setInfoPlistValue(key: String,
6457
6589
  func setPodKey(useBundleExec: Bool = true,
6458
6590
  key: String,
6459
6591
  value: String,
6460
- project: String? = nil) {
6592
+ project: String? = nil)
6593
+ {
6461
6594
  let command = RubyCommand(commandID: "", methodName: "set_pod_key", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
6462
6595
  RubyCommand.Argument(name: "key", value: key),
6463
6596
  RubyCommand.Argument(name: "value", value: value),
@@ -6479,7 +6612,8 @@ func setPodKey(useBundleExec: Bool = true,
6479
6612
  This action helps with CI integration. Add this to the top of your Fastfile if you use CI.
6480
6613
  */
6481
6614
  func setupCi(force: Bool = false,
6482
- provider: String? = nil) {
6615
+ provider: String? = nil)
6616
+ {
6483
6617
  let command = RubyCommand(commandID: "", methodName: "setup_ci", className: nil, args: [RubyCommand.Argument(name: "force", value: force),
6484
6618
  RubyCommand.Argument(name: "provider", value: provider)])
6485
6619
  _ = runner.executeCommand(command)
@@ -6539,7 +6673,8 @@ func setupJenkins(force: Bool = false,
6539
6673
  codeSigningIdentity: String? = nil,
6540
6674
  outputDirectory: String = "./output",
6541
6675
  derivedDataPath: String = "./derivedData",
6542
- resultBundle: Bool = true) {
6676
+ resultBundle: Bool = true)
6677
+ {
6543
6678
  let command = RubyCommand(commandID: "", methodName: "setup_jenkins", className: nil, args: [RubyCommand.Argument(name: "force", value: force),
6544
6679
  RubyCommand.Argument(name: "unlock_keychain", value: unlockKeychain),
6545
6680
  RubyCommand.Argument(name: "add_keychain_to_search_list", value: addKeychainToSearchList),
@@ -6584,7 +6719,8 @@ func setupTravis(force: Bool = false) {
6584
6719
  */
6585
6720
  @discardableResult func sh(command: String,
6586
6721
  log: Bool = true,
6587
- errorCallback: ((String) -> Void)? = nil) -> String {
6722
+ errorCallback: ((String) -> Void)? = nil) -> String
6723
+ {
6588
6724
  let command = RubyCommand(commandID: "", methodName: "sh", className: nil, args: [RubyCommand.Argument(name: "command", value: command),
6589
6725
  RubyCommand.Argument(name: "log", value: log),
6590
6726
  RubyCommand.Argument(name: "error_callback", value: errorCallback, type: .stringClosure)])
@@ -6612,7 +6748,7 @@ func setupTravis(force: Bool = false) {
6612
6748
  - filename: Filename to use for the generated provisioning profile (must include .mobileprovision)
6613
6749
  - skipFetchProfiles: Skips the verification of existing profiles which is useful if you have thousands of profiles
6614
6750
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
6615
- - platform: Set the provisioning profile's platform (i.e. ios, tvos)
6751
+ - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
6616
6752
  - readonly: Only fetch existing profile, don't generate new ones
6617
6753
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
6618
6754
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
@@ -6641,7 +6777,8 @@ func sigh(adhoc: Bool = false,
6641
6777
  platform: Any = "ios",
6642
6778
  readonly: Bool = false,
6643
6779
  templateName: String? = nil,
6644
- failOnNameTaken: Bool = false) {
6780
+ failOnNameTaken: Bool = false)
6781
+ {
6645
6782
  let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
6646
6783
  RubyCommand.Argument(name: "developer_id", value: developerId),
6647
6784
  RubyCommand.Argument(name: "development", value: development),
@@ -6708,7 +6845,8 @@ func slack(message: String? = nil,
6708
6845
  attachmentProperties: [String: Any] = [:],
6709
6846
  success: Bool = true,
6710
6847
  failOnError: Bool = true,
6711
- linkNames: Bool = false) {
6848
+ linkNames: Bool = false)
6849
+ {
6712
6850
  let command = RubyCommand(commandID: "", methodName: "slack", className: nil, args: [RubyCommand.Argument(name: "message", value: message),
6713
6851
  RubyCommand.Argument(name: "pretext", value: pretext),
6714
6852
  RubyCommand.Argument(name: "channel", value: channel),
@@ -6755,7 +6893,8 @@ func slackTrainCrash() {
6755
6893
  func slackTrainStart(distance: Int = 5,
6756
6894
  train: String = "🚝",
6757
6895
  rail: String = "=",
6758
- reverseDirection: Bool = false) {
6896
+ reverseDirection: Bool = false)
6897
+ {
6759
6898
  let command = RubyCommand(commandID: "", methodName: "slack_train_start", className: nil, args: [RubyCommand.Argument(name: "distance", value: distance),
6760
6899
  RubyCommand.Argument(name: "train", value: train),
6761
6900
  RubyCommand.Argument(name: "rail", value: rail),
@@ -6832,7 +6971,8 @@ func slather(buildDirectory: String? = nil,
6832
6971
  binaryFile: [String]? = nil,
6833
6972
  arch: String? = nil,
6834
6973
  sourceFiles: Bool = false,
6835
- decimals: Bool = false) {
6974
+ decimals: Bool = false)
6975
+ {
6836
6976
  let command = RubyCommand(commandID: "", methodName: "slather", className: nil, args: [RubyCommand.Argument(name: "build_directory", value: buildDirectory),
6837
6977
  RubyCommand.Argument(name: "proj", value: proj),
6838
6978
  RubyCommand.Argument(name: "workspace", value: workspace),
@@ -6914,6 +7054,7 @@ func slather(buildDirectory: String? = nil,
6914
7054
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
6915
7055
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
6916
7056
  - disableXcpretty: Disable xcpretty formatting of build
7057
+ - suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
6917
7058
  */
6918
7059
  func snapshot(workspace: Any? = snapshotfile.workspace,
6919
7060
  project: Any? = snapshotfile.project,
@@ -6957,7 +7098,9 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6957
7098
  testplan: Any? = snapshotfile.testplan,
6958
7099
  onlyTesting: Any? = snapshotfile.onlyTesting,
6959
7100
  skipTesting: Any? = snapshotfile.skipTesting,
6960
- disableXcpretty: Bool? = snapshotfile.disableXcpretty) {
7101
+ disableXcpretty: Bool? = snapshotfile.disableXcpretty,
7102
+ suppressXcodeOutput: Bool? = snapshotfile.suppressXcodeOutput)
7103
+ {
6961
7104
  let command = RubyCommand(commandID: "", methodName: "snapshot", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
6962
7105
  RubyCommand.Argument(name: "project", value: project),
6963
7106
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -7000,7 +7143,8 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
7000
7143
  RubyCommand.Argument(name: "testplan", value: testplan),
7001
7144
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
7002
7145
  RubyCommand.Argument(name: "skip_testing", value: skipTesting),
7003
- RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
7146
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty),
7147
+ RubyCommand.Argument(name: "suppress_xcode_output", value: suppressXcodeOutput)])
7004
7148
  _ = runner.executeCommand(command)
7005
7149
  }
7006
7150
 
@@ -7043,7 +7187,8 @@ func sonar(projectConfigurationPath: String? = nil,
7043
7187
  branchName: String? = nil,
7044
7188
  pullRequestBranch: String? = nil,
7045
7189
  pullRequestBase: String? = nil,
7046
- pullRequestKey: String? = nil) {
7190
+ pullRequestKey: String? = nil)
7191
+ {
7047
7192
  let command = RubyCommand(commandID: "", methodName: "sonar", className: nil, args: [RubyCommand.Argument(name: "project_configuration_path", value: projectConfigurationPath),
7048
7193
  RubyCommand.Argument(name: "project_key", value: projectKey),
7049
7194
  RubyCommand.Argument(name: "project_name", value: projectName),
@@ -7078,7 +7223,8 @@ func spaceshipLogs(latest: Bool = true,
7078
7223
  printContents: Bool = false,
7079
7224
  printPaths: Bool = false,
7080
7225
  copyToPath: String? = nil,
7081
- copyToClipboard: Bool = false) {
7226
+ copyToClipboard: Bool = false)
7227
+ {
7082
7228
  let command = RubyCommand(commandID: "", methodName: "spaceship_logs", className: nil, args: [RubyCommand.Argument(name: "latest", value: latest),
7083
7229
  RubyCommand.Argument(name: "print_contents", value: printContents),
7084
7230
  RubyCommand.Argument(name: "print_paths", value: printPaths),
@@ -7109,7 +7255,8 @@ func splunkmint(dsym: String? = nil,
7109
7255
  proxyUsername: String? = nil,
7110
7256
  proxyPassword: String? = nil,
7111
7257
  proxyAddress: String? = nil,
7112
- proxyPort: String? = nil) {
7258
+ proxyPort: String? = nil)
7259
+ {
7113
7260
  let command = RubyCommand(commandID: "", methodName: "splunkmint", className: nil, args: [RubyCommand.Argument(name: "dsym", value: dsym),
7114
7261
  RubyCommand.Argument(name: "api_key", value: apiKey),
7115
7262
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -7144,7 +7291,8 @@ func spm(command: String = "build",
7144
7291
  disableSandbox: Bool = false,
7145
7292
  xcprettyOutput: String? = nil,
7146
7293
  xcprettyArgs: String? = nil,
7147
- verbose: Bool = false) {
7294
+ verbose: Bool = false)
7295
+ {
7148
7296
  let command = RubyCommand(commandID: "", methodName: "spm", className: nil, args: [RubyCommand.Argument(name: "command", value: command),
7149
7297
  RubyCommand.Argument(name: "build_path", value: buildPath),
7150
7298
  RubyCommand.Argument(name: "package_path", value: packagePath),
@@ -7175,7 +7323,8 @@ func ssh(username: String,
7175
7323
  host: String,
7176
7324
  port: String = "22",
7177
7325
  commands: [String]? = nil,
7178
- log: Bool = true) {
7326
+ log: Bool = true)
7327
+ {
7179
7328
  let command = RubyCommand(commandID: "", methodName: "ssh", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
7180
7329
  RubyCommand.Argument(name: "password", value: password),
7181
7330
  RubyCommand.Argument(name: "host", value: host),
@@ -7224,6 +7373,7 @@ func ssh(username: String,
7224
7373
  - obbMainFileSize: Size of 'main' expansion file in bytes
7225
7374
  - obbPatchReferencesVersion: References version of 'patch' expansion file
7226
7375
  - obbPatchFileSize: Size of 'patch' expansion file in bytes
7376
+ - ackBundleInstallationWarning: Must be set to true if the bundle installation may trigger a warning on user devices (e.g can only be downloaded over wifi). Typically this is required for bundles over 150MB
7227
7377
 
7228
7378
  More information: https://docs.fastlane.tools/actions/supply/
7229
7379
  */
@@ -7261,7 +7411,9 @@ func supply(packageName: String,
7261
7411
  obbMainReferencesVersion: String? = nil,
7262
7412
  obbMainFileSize: String? = nil,
7263
7413
  obbPatchReferencesVersion: String? = nil,
7264
- obbPatchFileSize: String? = nil) {
7414
+ obbPatchFileSize: String? = nil,
7415
+ ackBundleInstallationWarning: Bool = false)
7416
+ {
7265
7417
  let command = RubyCommand(commandID: "", methodName: "supply", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
7266
7418
  RubyCommand.Argument(name: "version_name", value: versionName),
7267
7419
  RubyCommand.Argument(name: "version_code", value: versionCode),
@@ -7296,7 +7448,8 @@ func supply(packageName: String,
7296
7448
  RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
7297
7449
  RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
7298
7450
  RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
7299
- RubyCommand.Argument(name: "obb_patch_file_size", value: obbPatchFileSize)])
7451
+ RubyCommand.Argument(name: "obb_patch_file_size", value: obbPatchFileSize),
7452
+ RubyCommand.Argument(name: "ack_bundle_installation_warning", value: ackBundleInstallationWarning)])
7300
7453
  _ = runner.executeCommand(command)
7301
7454
  }
7302
7455
 
@@ -7332,7 +7485,8 @@ func swiftlint(mode: Any = "lint",
7332
7485
  executable: String? = nil,
7333
7486
  format: Bool = false,
7334
7487
  noCache: Bool = false,
7335
- compilerLogPath: String? = nil) {
7488
+ compilerLogPath: String? = nil)
7489
+ {
7336
7490
  let command = RubyCommand(commandID: "", methodName: "swiftlint", className: nil, args: [RubyCommand.Argument(name: "mode", value: mode),
7337
7491
  RubyCommand.Argument(name: "path", value: path),
7338
7492
  RubyCommand.Argument(name: "output_file", value: outputFile),
@@ -7387,7 +7541,8 @@ func swiftlint(mode: Any = "lint",
7387
7541
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
7388
7542
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
7389
7543
  - skipDocs: Skip generation of a README.md for the created git repository
7390
- - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
7544
+ - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
7545
+ - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
7391
7546
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
7392
7547
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
7393
7548
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
@@ -7430,11 +7585,13 @@ func syncCodeSigning(type: String = "development",
7430
7585
  skipConfirmation: Bool = false,
7431
7586
  skipDocs: Bool = false,
7432
7587
  platform: String = "ios",
7588
+ deriveCatalystAppIdentifier: Bool = false,
7433
7589
  templateName: String? = nil,
7434
7590
  profileName: String? = nil,
7435
7591
  failOnNameTaken: Bool = false,
7436
7592
  outputPath: String? = nil,
7437
- verbose: Bool = false) {
7593
+ verbose: Bool = false)
7594
+ {
7438
7595
  let command = RubyCommand(commandID: "", methodName: "sync_code_signing", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
7439
7596
  RubyCommand.Argument(name: "additional_cert_types", value: additionalCertTypes),
7440
7597
  RubyCommand.Argument(name: "readonly", value: readonly),
@@ -7469,6 +7626,7 @@ func syncCodeSigning(type: String = "development",
7469
7626
  RubyCommand.Argument(name: "skip_confirmation", value: skipConfirmation),
7470
7627
  RubyCommand.Argument(name: "skip_docs", value: skipDocs),
7471
7628
  RubyCommand.Argument(name: "platform", value: platform),
7629
+ RubyCommand.Argument(name: "derive_catalyst_app_identifier", value: deriveCatalystAppIdentifier),
7472
7630
  RubyCommand.Argument(name: "template_name", value: templateName),
7473
7631
  RubyCommand.Argument(name: "profile_name", value: profileName),
7474
7632
  RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
@@ -7525,7 +7683,8 @@ func testfairy(apiKey: String,
7525
7683
  notify: String = "off",
7526
7684
  options: [String] = [],
7527
7685
  custom: String = "",
7528
- timeout: Int? = nil) {
7686
+ timeout: Int? = nil)
7687
+ {
7529
7688
  let command = RubyCommand(commandID: "", methodName: "testfairy", className: nil, args: [RubyCommand.Argument(name: "api_key", value: apiKey),
7530
7689
  RubyCommand.Argument(name: "ipa", value: ipa),
7531
7690
  RubyCommand.Argument(name: "apk", value: apk),
@@ -7617,7 +7776,8 @@ func testflight(username: String,
7617
7776
  itcProvider: String? = nil,
7618
7777
  waitProcessingInterval: Int = 30,
7619
7778
  waitForUploadedBuild: Bool = false,
7620
- rejectBuildWaitingForReview: Bool = false) {
7779
+ rejectBuildWaitingForReview: Bool = false)
7780
+ {
7621
7781
  let command = RubyCommand(commandID: "", methodName: "testflight", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
7622
7782
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
7623
7783
  RubyCommand.Argument(name: "app_platform", value: appPlatform),
@@ -7675,7 +7835,8 @@ func tryouts(appId: String,
7675
7835
  notes: String? = nil,
7676
7836
  notesPath: String? = nil,
7677
7837
  notify: Int = 1,
7678
- status: Int = 2) {
7838
+ status: Int = 2)
7839
+ {
7679
7840
  let command = RubyCommand(commandID: "", methodName: "tryouts", className: nil, args: [RubyCommand.Argument(name: "app_id", value: appId),
7680
7841
  RubyCommand.Argument(name: "api_token", value: apiToken),
7681
7842
  RubyCommand.Argument(name: "build_file", value: buildFile),
@@ -7702,7 +7863,8 @@ func twitter(consumerKey: String,
7702
7863
  consumerSecret: String,
7703
7864
  accessToken: String,
7704
7865
  accessTokenSecret: String,
7705
- message: String) {
7866
+ message: String)
7867
+ {
7706
7868
  let command = RubyCommand(commandID: "", methodName: "twitter", className: nil, args: [RubyCommand.Argument(name: "consumer_key", value: consumerKey),
7707
7869
  RubyCommand.Argument(name: "consumer_secret", value: consumerSecret),
7708
7870
  RubyCommand.Argument(name: "access_token", value: accessToken),
@@ -7734,7 +7896,8 @@ func typetalk() {
7734
7896
  func unlockKeychain(path: String = "login",
7735
7897
  password: String,
7736
7898
  addToSearchList: Bool = true,
7737
- setDefault: Bool = false) {
7899
+ setDefault: Bool = false)
7900
+ {
7738
7901
  let command = RubyCommand(commandID: "", methodName: "unlock_keychain", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
7739
7902
  RubyCommand.Argument(name: "password", value: password),
7740
7903
  RubyCommand.Argument(name: "add_to_search_list", value: addToSearchList),
@@ -7752,7 +7915,8 @@ func unlockKeychain(path: String = "login",
7752
7915
  Updates the App Group Identifiers in the given Entitlements file, so you can have app groups for the app store build and app groups for an enterprise build.
7753
7916
  */
7754
7917
  func updateAppGroupIdentifiers(entitlementsFile: String,
7755
- appGroupIdentifiers: Any) {
7918
+ appGroupIdentifiers: Any)
7919
+ {
7756
7920
  let command = RubyCommand(commandID: "", methodName: "update_app_group_identifiers", className: nil, args: [RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile),
7757
7921
  RubyCommand.Argument(name: "app_group_identifiers", value: appGroupIdentifiers)])
7758
7922
  _ = runner.executeCommand(command)
@@ -7770,7 +7934,8 @@ func updateAppGroupIdentifiers(entitlementsFile: String,
7770
7934
  */
7771
7935
  func updateAppIdentifier(xcodeproj: String,
7772
7936
  plistPath: String,
7773
- appIdentifier: String) {
7937
+ appIdentifier: String)
7938
+ {
7774
7939
  let command = RubyCommand(commandID: "", methodName: "update_app_identifier", className: nil, args: [RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
7775
7940
  RubyCommand.Argument(name: "plist_path", value: plistPath),
7776
7941
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier)])
@@ -7803,7 +7968,8 @@ func updateCodeSigningSettings(path: String,
7803
7968
  codeSignIdentity: String? = nil,
7804
7969
  profileName: String? = nil,
7805
7970
  profileUuid: String? = nil,
7806
- bundleIdentifier: String? = nil) {
7971
+ bundleIdentifier: String? = nil)
7972
+ {
7807
7973
  let command = RubyCommand(commandID: "", methodName: "update_code_signing_settings", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
7808
7974
  RubyCommand.Argument(name: "use_automatic_signing", value: useAutomaticSigning),
7809
7975
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -7839,7 +8005,8 @@ func updateCodeSigningSettings(path: String,
7839
8005
  Recommended usage of the `update_fastlane` action is at the top inside of the `before_all` block, before running any other action.
7840
8006
  */
7841
8007
  func updateFastlane(noUpdate: Bool = false,
7842
- nightly: Bool = false) {
8008
+ nightly: Bool = false)
8009
+ {
7843
8010
  let command = RubyCommand(commandID: "", methodName: "update_fastlane", className: nil, args: [RubyCommand.Argument(name: "no_update", value: noUpdate),
7844
8011
  RubyCommand.Argument(name: "nightly", value: nightly)])
7845
8012
  _ = runner.executeCommand(command)
@@ -7855,7 +8022,8 @@ func updateFastlane(noUpdate: Bool = false,
7855
8022
  Updates the iCloud Container Identifiers in the given Entitlements file, so you can use different iCloud containers for different builds like Adhoc, App Store, etc.
7856
8023
  */
7857
8024
  func updateIcloudContainerIdentifiers(entitlementsFile: String,
7858
- icloudContainerIdentifiers: Any) {
8025
+ icloudContainerIdentifiers: Any)
8026
+ {
7859
8027
  let command = RubyCommand(commandID: "", methodName: "update_icloud_container_identifiers", className: nil, args: [RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile),
7860
8028
  RubyCommand.Argument(name: "icloud_container_identifiers", value: icloudContainerIdentifiers)])
7861
8029
  _ = runner.executeCommand(command)
@@ -7879,7 +8047,8 @@ func updateInfoPlist(xcodeproj: String? = nil,
7879
8047
  scheme: String? = nil,
7880
8048
  appIdentifier: String? = nil,
7881
8049
  displayName: String? = nil,
7882
- block: Any? = nil) {
8050
+ block: Any? = nil)
8051
+ {
7883
8052
  let command = RubyCommand(commandID: "", methodName: "update_info_plist", className: nil, args: [RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
7884
8053
  RubyCommand.Argument(name: "plist_path", value: plistPath),
7885
8054
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -7899,7 +8068,8 @@ func updateInfoPlist(xcodeproj: String? = nil,
7899
8068
  Updates the Keychain Group Access Groups in the given Entitlements file, so you can have keychain access groups for the app store build and keychain access groups for an enterprise build.
7900
8069
  */
7901
8070
  func updateKeychainAccessGroups(entitlementsFile: String,
7902
- identifiers: Any) {
8071
+ identifiers: Any)
8072
+ {
7903
8073
  let command = RubyCommand(commandID: "", methodName: "update_keychain_access_groups", className: nil, args: [RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile),
7904
8074
  RubyCommand.Argument(name: "identifiers", value: identifiers)])
7905
8075
  _ = runner.executeCommand(command)
@@ -7915,7 +8085,8 @@ func updateKeychainAccessGroups(entitlementsFile: String,
7915
8085
  This action allows you to modify any value inside any `plist` file.
7916
8086
  */
7917
8087
  func updatePlist(plistPath: String? = nil,
7918
- block: Any) {
8088
+ block: Any)
8089
+ {
7919
8090
  let command = RubyCommand(commandID: "", methodName: "update_plist", className: nil, args: [RubyCommand.Argument(name: "plist_path", value: plistPath),
7920
8091
  RubyCommand.Argument(name: "block", value: block)])
7921
8092
  _ = runner.executeCommand(command)
@@ -7931,7 +8102,8 @@ func updatePlist(plistPath: String? = nil,
7931
8102
  */
7932
8103
  func updateProjectCodeSigning(path: String,
7933
8104
  udid: String? = nil,
7934
- uuid: String) {
8105
+ uuid: String)
8106
+ {
7935
8107
  let command = RubyCommand(commandID: "", methodName: "update_project_code_signing", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
7936
8108
  RubyCommand.Argument(name: "udid", value: udid),
7937
8109
  RubyCommand.Argument(name: "uuid", value: uuid)])
@@ -7963,7 +8135,8 @@ func updateProjectProvisioning(xcodeproj: String? = nil,
7963
8135
  buildConfigurationFilter: String? = nil,
7964
8136
  buildConfiguration: Any? = nil,
7965
8137
  certificate: String = "/tmp/AppleIncRootCertificate.cer",
7966
- codeSigningIdentity: String? = nil) {
8138
+ codeSigningIdentity: String? = nil)
8139
+ {
7967
8140
  let command = RubyCommand(commandID: "", methodName: "update_project_provisioning", className: nil, args: [RubyCommand.Argument(name: "xcodeproj", value: xcodeproj),
7968
8141
  RubyCommand.Argument(name: "profile", value: profile),
7969
8142
  RubyCommand.Argument(name: "target_filter", value: targetFilter),
@@ -7986,7 +8159,8 @@ func updateProjectProvisioning(xcodeproj: String? = nil,
7986
8159
  */
7987
8160
  func updateProjectTeam(path: String,
7988
8161
  targets: [String]? = nil,
7989
- teamid: String) {
8162
+ teamid: String)
8163
+ {
7990
8164
  let command = RubyCommand(commandID: "", methodName: "update_project_team", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
7991
8165
  RubyCommand.Argument(name: "targets", value: targets),
7992
8166
  RubyCommand.Argument(name: "teamid", value: teamid)])
@@ -8011,7 +8185,8 @@ func updateUrbanAirshipConfiguration(plistPath: String,
8011
8185
  developmentAppSecret: String? = nil,
8012
8186
  productionAppKey: String? = nil,
8013
8187
  productionAppSecret: String? = nil,
8014
- detectProvisioningMode: Bool? = nil) {
8188
+ detectProvisioningMode: Bool? = nil)
8189
+ {
8015
8190
  let command = RubyCommand(commandID: "", methodName: "update_urban_airship_configuration", className: nil, args: [RubyCommand.Argument(name: "plist_path", value: plistPath),
8016
8191
  RubyCommand.Argument(name: "development_app_key", value: developmentAppKey),
8017
8192
  RubyCommand.Argument(name: "development_app_secret", value: developmentAppSecret),
@@ -8034,7 +8209,8 @@ func updateUrbanAirshipConfiguration(plistPath: String,
8034
8209
  */
8035
8210
  func updateUrlSchemes(path: String,
8036
8211
  urlSchemes: Any? = nil,
8037
- updateUrlSchemes: Any? = nil) {
8212
+ updateUrlSchemes: Any? = nil)
8213
+ {
8038
8214
  let command = RubyCommand(commandID: "", methodName: "update_url_schemes", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
8039
8215
  RubyCommand.Argument(name: "url_schemes", value: urlSchemes),
8040
8216
  RubyCommand.Argument(name: "update_url_schemes", value: updateUrlSchemes)])
@@ -8065,7 +8241,8 @@ func uploadSymbolsToCrashlytics(dsymPath: String = "./spec/fixtures/dSYM/Themoji
8065
8241
  binaryPath: String? = nil,
8066
8242
  platform: String = "ios",
8067
8243
  dsymWorkerThreads: Int = 1,
8068
- debug: Bool = false) {
8244
+ debug: Bool = false)
8245
+ {
8069
8246
  let command = RubyCommand(commandID: "", methodName: "upload_symbols_to_crashlytics", className: nil, args: [RubyCommand.Argument(name: "dsym_path", value: dsymPath),
8070
8247
  RubyCommand.Argument(name: "dsym_paths", value: dsymPaths),
8071
8248
  RubyCommand.Argument(name: "api_token", value: apiToken),
@@ -8100,7 +8277,8 @@ func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/api/0",
8100
8277
  orgSlug: String,
8101
8278
  projectSlug: String,
8102
8279
  dsymPath: String? = nil,
8103
- dsymPaths: Any? = nil) {
8280
+ dsymPaths: Any? = nil)
8281
+ {
8104
8282
  let command = RubyCommand(commandID: "", methodName: "upload_symbols_to_sentry", className: nil, args: [RubyCommand.Argument(name: "api_host", value: apiHost),
8105
8283
  RubyCommand.Argument(name: "api_key", value: apiKey),
8106
8284
  RubyCommand.Argument(name: "auth_token", value: authToken),
@@ -8242,7 +8420,8 @@ func uploadToAppStore(username: String,
8242
8420
  languages: [String]? = nil,
8243
8421
  ignoreLanguageDirectoryValidation: Bool = false,
8244
8422
  precheckIncludeInAppPurchases: Bool = true,
8245
- app: Any) {
8423
+ app: Any)
8424
+ {
8246
8425
  let command = RubyCommand(commandID: "", methodName: "upload_to_app_store", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
8247
8426
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
8248
8427
  RubyCommand.Argument(name: "app_version", value: appVersion),
@@ -8345,6 +8524,7 @@ func uploadToAppStore(username: String,
8345
8524
  - obbMainFileSize: Size of 'main' expansion file in bytes
8346
8525
  - obbPatchReferencesVersion: References version of 'patch' expansion file
8347
8526
  - obbPatchFileSize: Size of 'patch' expansion file in bytes
8527
+ - ackBundleInstallationWarning: Must be set to true if the bundle installation may trigger a warning on user devices (e.g can only be downloaded over wifi). Typically this is required for bundles over 150MB
8348
8528
 
8349
8529
  More information: https://docs.fastlane.tools/actions/supply/
8350
8530
  */
@@ -8382,7 +8562,9 @@ func uploadToPlayStore(packageName: String,
8382
8562
  obbMainReferencesVersion: String? = nil,
8383
8563
  obbMainFileSize: String? = nil,
8384
8564
  obbPatchReferencesVersion: String? = nil,
8385
- obbPatchFileSize: String? = nil) {
8565
+ obbPatchFileSize: String? = nil,
8566
+ ackBundleInstallationWarning: Bool = false)
8567
+ {
8386
8568
  let command = RubyCommand(commandID: "", methodName: "upload_to_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
8387
8569
  RubyCommand.Argument(name: "version_name", value: versionName),
8388
8570
  RubyCommand.Argument(name: "version_code", value: versionCode),
@@ -8417,7 +8599,8 @@ func uploadToPlayStore(packageName: String,
8417
8599
  RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
8418
8600
  RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
8419
8601
  RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
8420
- RubyCommand.Argument(name: "obb_patch_file_size", value: obbPatchFileSize)])
8602
+ RubyCommand.Argument(name: "obb_patch_file_size", value: obbPatchFileSize),
8603
+ RubyCommand.Argument(name: "ack_bundle_installation_warning", value: ackBundleInstallationWarning)])
8421
8604
  _ = runner.executeCommand(command)
8422
8605
  }
8423
8606
 
@@ -8447,7 +8630,8 @@ func uploadToPlayStoreInternalAppSharing(packageName: String,
8447
8630
  aab: String? = nil,
8448
8631
  aabPaths: [String]? = nil,
8449
8632
  rootUrl: String? = nil,
8450
- timeout: Int = 300) {
8633
+ timeout: Int = 300)
8634
+ {
8451
8635
  let command = RubyCommand(commandID: "", methodName: "upload_to_play_store_internal_app_sharing", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
8452
8636
  RubyCommand.Argument(name: "json_key", value: jsonKey),
8453
8637
  RubyCommand.Argument(name: "json_key_data", value: jsonKeyData),
@@ -8535,7 +8719,8 @@ func uploadToTestflight(username: String,
8535
8719
  itcProvider: String? = nil,
8536
8720
  waitProcessingInterval: Int = 30,
8537
8721
  waitForUploadedBuild: Bool = false,
8538
- rejectBuildWaitingForReview: Bool = false) {
8722
+ rejectBuildWaitingForReview: Bool = false)
8723
+ {
8539
8724
  let command = RubyCommand(commandID: "", methodName: "upload_to_testflight", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
8540
8725
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
8541
8726
  RubyCommand.Argument(name: "app_platform", value: appPlatform),
@@ -8587,7 +8772,8 @@ func uploadToTestflight(username: String,
8587
8772
  func validatePlayStoreJsonKey(jsonKey: String? = nil,
8588
8773
  jsonKeyData: String? = nil,
8589
8774
  rootUrl: String? = nil,
8590
- timeout: Int = 300) {
8775
+ timeout: Int = 300)
8776
+ {
8591
8777
  let command = RubyCommand(commandID: "", methodName: "validate_play_store_json_key", className: nil, args: [RubyCommand.Argument(name: "json_key", value: jsonKey),
8592
8778
  RubyCommand.Argument(name: "json_key_data", value: jsonKeyData),
8593
8779
  RubyCommand.Argument(name: "root_url", value: rootUrl),
@@ -8617,7 +8803,8 @@ func verifyBuild(provisioningType: String? = nil,
8617
8803
  appName: String? = nil,
8618
8804
  bundleIdentifier: String? = nil,
8619
8805
  ipaPath: String? = nil,
8620
- buildPath: String? = nil) {
8806
+ buildPath: String? = nil)
8807
+ {
8621
8808
  let command = RubyCommand(commandID: "", methodName: "verify_build", className: nil, args: [RubyCommand.Argument(name: "provisioning_type", value: provisioningType),
8622
8809
  RubyCommand.Argument(name: "provisioning_uuid", value: provisioningUuid),
8623
8810
  RubyCommand.Argument(name: "team_identifier", value: teamIdentifier),
@@ -8670,7 +8857,8 @@ func versionBumpPodspec(path: String,
8670
8857
  bumpType: String = "patch",
8671
8858
  versionNumber: String? = nil,
8672
8859
  versionAppendix: String? = nil,
8673
- requireVariablePrefix: Bool = true) {
8860
+ requireVariablePrefix: Bool = true)
8861
+ {
8674
8862
  let command = RubyCommand(commandID: "", methodName: "version_bump_podspec", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
8675
8863
  RubyCommand.Argument(name: "bump_type", value: bumpType),
8676
8864
  RubyCommand.Argument(name: "version_number", value: versionNumber),
@@ -8687,7 +8875,8 @@ func versionBumpPodspec(path: String,
8687
8875
  - requireVariablePrefix: true by default, this is used for non CocoaPods version bumps only
8688
8876
  */
8689
8877
  func versionGetPodspec(path: String,
8690
- requireVariablePrefix: Bool = true) {
8878
+ requireVariablePrefix: Bool = true)
8879
+ {
8691
8880
  let command = RubyCommand(commandID: "", methodName: "version_get_podspec", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
8692
8881
  RubyCommand.Argument(name: "require_variable_prefix", value: requireVariablePrefix)])
8693
8882
  _ = runner.executeCommand(command)
@@ -8739,7 +8928,8 @@ func xcexport() {
8739
8928
  */
8740
8929
  @discardableResult func xcodeInstall(version: String,
8741
8930
  username: String,
8742
- teamId: String? = nil) -> String {
8931
+ teamId: String? = nil) -> String
8932
+ {
8743
8933
  let command = RubyCommand(commandID: "", methodName: "xcode_install", className: nil, args: [RubyCommand.Argument(name: "version", value: version),
8744
8934
  RubyCommand.Argument(name: "username", value: username),
8745
8935
  RubyCommand.Argument(name: "team_id", value: teamId)])
@@ -8783,7 +8973,8 @@ func xcodeSelect() {
8783
8973
  password: String? = nil,
8784
8974
  targetFolder: String = "./xcs_assets",
8785
8975
  keepAllAssets: Bool = false,
8786
- trustSelfSignedCerts: Bool = true) -> [String] {
8976
+ trustSelfSignedCerts: Bool = true) -> [String]
8977
+ {
8787
8978
  let command = RubyCommand(commandID: "", methodName: "xcode_server_get_assets", className: nil, args: [RubyCommand.Argument(name: "host", value: host),
8788
8979
  RubyCommand.Argument(name: "bot_name", value: botName),
8789
8980
  RubyCommand.Argument(name: "integration_number", value: integrationNumber),
@@ -8868,7 +9059,8 @@ func xcov(workspace: String? = nil,
8868
9059
  coverallsRepoToken: String? = nil,
8869
9060
  xcconfig: String? = nil,
8870
9061
  ideFoundationPath: String = "/Applications/Xcode-11.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8871
- legacySupport: Bool = false) {
9062
+ legacySupport: Bool = false)
9063
+ {
8872
9064
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
8873
9065
  RubyCommand.Argument(name: "project", value: project),
8874
9066
  RubyCommand.Argument(name: "scheme", value: scheme),
@@ -8948,7 +9140,8 @@ func xcversion(version: String) {
8948
9140
  outputPath: String? = nil,
8949
9141
  verbose: Bool = true,
8950
9142
  password: String? = nil,
8951
- symlinks: Bool = false) -> String {
9143
+ symlinks: Bool = false) -> String
9144
+ {
8952
9145
  let command = RubyCommand(commandID: "", methodName: "zip", className: nil, args: [RubyCommand.Argument(name: "path", value: path),
8953
9146
  RubyCommand.Argument(name: "output_path", value: outputPath),
8954
9147
  RubyCommand.Argument(name: "verbose", value: verbose),
@@ -9011,4 +9204,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
9011
9204
 
9012
9205
  // Please don't remove the lines below
9013
9206
  // They are used to detect outdated files
9014
- // FastlaneRunnerAPIVersion [0.9.81]
9207
+ // FastlaneRunnerAPIVersion [0.9.82]