fastlane 2.131.0 → 2.132.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +76 -76
  3. data/cert/lib/cert/module.rb +2 -0
  4. data/cert/lib/cert/options.rb +6 -0
  5. data/cert/lib/cert/runner.rb +17 -11
  6. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +10 -2
  7. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +23 -4
  9. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +58 -0
  10. data/fastlane/lib/fastlane/actions/get_version_number.rb +3 -0
  11. data/fastlane/lib/fastlane/actions/onesignal.rb +59 -29
  12. data/fastlane/lib/fastlane/actions/pod_push.rb +10 -1
  13. data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
  14. data/fastlane/lib/fastlane/fast_file.rb +7 -2
  15. data/fastlane/lib/fastlane/setup/setup_android.rb +1 -1
  16. data/fastlane/lib/fastlane/version.rb +1 -1
  17. data/fastlane/swift/Deliverfile.swift +1 -1
  18. data/fastlane/swift/Fastlane.swift +33 -7
  19. data/fastlane/swift/Gymfile.swift +1 -1
  20. data/fastlane/swift/Matchfile.swift +1 -1
  21. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  22. data/fastlane/swift/Precheckfile.swift +1 -1
  23. data/fastlane/swift/Scanfile.swift +1 -1
  24. data/fastlane/swift/Screengrabfile.swift +1 -1
  25. data/fastlane/swift/Snapshotfile.swift +1 -1
  26. data/fastlane/swift/SnapshotfileProtocol.swift +3 -1
  27. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -3
  28. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +3 -2
  29. data/frameit/lib/frameit/screenshot.rb +4 -0
  30. data/match/lib/match/generator.rb +1 -0
  31. data/match/lib/match/module.rb +2 -0
  32. data/match/lib/match/nuke.rb +5 -5
  33. data/match/lib/match/options.rb +12 -0
  34. data/match/lib/match/runner.rb +2 -0
  35. data/match/lib/match/storage/git_storage.rb +8 -2
  36. data/match/lib/match/storage/google_cloud_storage.rb +82 -33
  37. data/produce/lib/produce/service.rb +7 -1
  38. data/sigh/lib/sigh/runner.rb +13 -5
  39. data/snapshot/lib/snapshot/options.rb +5 -0
  40. data/snapshot/lib/snapshot/reports_generator.rb +3 -0
  41. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  42. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  43. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +16 -1
  44. data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -6
  45. data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -3
  46. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +1 -1
  47. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +1 -1
  48. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -1
  49. data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -1
  50. data/spaceship/lib/spaceship/connect_api/models/profile.rb +1 -1
  51. data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
  52. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +1 -1
  53. data/spaceship/lib/spaceship/tunes/app_version.rb +4 -0
  54. data/spaceship/lib/spaceship/tunes/application.rb +4 -0
  55. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +10 -2
  56. data/spaceship/lib/spaceship/tunes/tunes_client.rb +25 -0
  57. metadata +48 -45
@@ -21,6 +21,9 @@ module Fastlane
21
21
  # Get from build settings if needed (ex: $(MARKETING_VERSION) is default in Xcode 11)
22
22
  if version_number =~ /\$\(([\w\-]+)\)/
23
23
  version_number = get_version_number_from_build_settings!(target, $1, configuration)
24
+ # ${MARKETING_VERSION} also works
25
+ elsif version_number =~ /\$\{([\w\-]+)\}/
26
+ version_number = get_version_number_from_build_settings!(target, $1, configuration)
24
27
  end
25
28
 
26
29
  # Store the number in the shared hash
@@ -11,15 +11,26 @@ module Fastlane
11
11
  require 'uri'
12
12
  require 'base64'
13
13
 
14
- UI.message("Parameter App name: #{params[:app_name]}")
14
+ app_id = params[:app_id].to_s.strip
15
15
  auth_token = params[:auth_token]
16
- app_name = params[:app_name]
16
+ app_name = params[:app_name].to_s
17
17
  apns_p12_password = params[:apns_p12_password]
18
18
  android_token = params[:android_token]
19
19
  android_gcm_sender_id = params[:android_gcm_sender_id]
20
20
 
21
+ has_app_id = !app_id.empty?
22
+ has_app_name = !app_name.empty?
23
+
24
+ is_update = has_app_id
25
+
26
+ UI.user_error!('Please specify the `app_id` or the `app_name` parameters!') if !has_app_id && !has_app_name
27
+
28
+ UI.message("Parameter App ID: #{app_id}") if has_app_id
29
+ UI.message("Parameter App name: #{app_name}") if has_app_name
30
+
21
31
  payload = {}
22
- payload['name'] = app_name
32
+
33
+ payload['name'] = app_name if has_app_name
23
34
 
24
35
  unless params[:apns_p12].nil?
25
36
  data = File.read(params[:apns_p12])
@@ -33,61 +44,70 @@ module Fastlane
33
44
  payload["gcm_key"] = android_token unless android_token.nil?
34
45
  payload["android_gcm_sender_id"] = android_gcm_sender_id unless android_gcm_sender_id.nil?
35
46
 
36
- # here's the actual lifting - POST to OneSignal
47
+ # here's the actual lifting - POST or PUT to OneSignal
37
48
 
38
49
  json_headers = { 'Content-Type' => 'application/json', 'Authorization' => "Basic #{auth_token}" }
39
- uri = URI.parse('https://onesignal.com/api/v1/apps')
50
+ url = +'https://onesignal.com/api/v1/apps'
51
+ url << '/' + app_id if is_update
52
+ uri = URI.parse(url)
40
53
  http = Net::HTTP.new(uri.host, uri.port)
41
54
  http.use_ssl = true
42
- response = http.post(uri.path, payload.to_json, json_headers)
55
+
56
+ if is_update
57
+ response = http.put(uri.path, payload.to_json, json_headers)
58
+ else
59
+ response = http.post(uri.path, payload.to_json, json_headers)
60
+ end
61
+
43
62
  response_body = JSON.parse(response.body)
44
63
 
45
64
  Actions.lane_context[SharedValues::ONE_SIGNAL_APP_ID] = response_body["id"]
46
65
  Actions.lane_context[SharedValues::ONE_SIGNAL_APP_AUTH_KEY] = response_body["basic_auth_key"]
47
66
 
48
- check_response_code(response)
67
+ check_response_code(response, is_update)
49
68
  end
50
69
 
51
- def self.check_response_code(response)
70
+ def self.check_response_code(response, is_update)
52
71
  case response.code.to_i
53
72
  when 200, 204
54
- puts("Successfully created new OneSignal app".green)
73
+ UI.success("Successfully #{is_update ? 'updated' : 'created new'} OneSignal app")
55
74
  else
56
75
  UI.user_error!("Unexpected #{response.code} with response: #{response.body}")
57
76
  end
58
77
  end
59
78
 
60
79
  def self.description
61
- "Create a new [OneSignal](https://onesignal.com/) application"
80
+ "Create or update a new [OneSignal](https://onesignal.com/) application"
62
81
  end
63
82
 
64
83
  def self.details
65
- "You can use this action to automatically create a OneSignal application. You can also upload a `.p12` with password, a GCM key, or both."
84
+ "You can use this action to automatically create or update a OneSignal application. You can also upload a `.p12` with password, a GCM key, or both."
66
85
  end
67
86
 
68
87
  def self.available_options
69
88
  [
70
- FastlaneCore::ConfigItem.new(key: :auth_token,
71
- env_name: "ONE_SIGNAL_AUTH_KEY",
72
- sensitive: true,
73
- description: "OneSignal Authorization Key",
74
- verify_block: proc do |value|
75
- unless value.to_s.length > 0
76
- UI.error("Please add 'ENV[\"ONE_SIGNAL_AUTH_KEY\"] = \"your token\"' to your Fastfile's `before_all` section.")
77
- UI.user_error!("No ONE_SIGNAL_AUTH_KEY given.")
78
- end
79
- end),
89
+ FastlaneCore::ConfigItem.new(key: :app_id,
90
+ env_name: "ONE_SIGNAL_APP_ID",
91
+ sensitive: true,
92
+ description: "OneSignal App ID. Setting this updates an existing app",
93
+ optional: true),
80
94
 
81
- FastlaneCore::ConfigItem.new(key: :app_name,
82
- env_name: "ONE_SIGNAL_APP_NAME",
83
- description: "OneSignal App Name",
95
+ FastlaneCore::ConfigItem.new(key: :auth_token,
96
+ env_name: "ONE_SIGNAL_AUTH_KEY",
97
+ sensitive: true,
98
+ description: "OneSignal Authorization Key",
84
99
  verify_block: proc do |value|
85
- unless value.to_s.length > 0
86
- UI.error("Please add 'ENV[\"ONE_SIGNAL_APP_NAME\"] = \"Your app name\"' to your Fastfile's `before_all` section.")
87
- UI.user_error!("No ONE_SIGNAL_APP_NAME given.")
100
+ if value.to_s.empty?
101
+ UI.error("Please add 'ENV[\"ONE_SIGNAL_AUTH_KEY\"] = \"your token\"' to your Fastfile's `before_all` section.")
102
+ UI.user_error!("No ONE_SIGNAL_AUTH_KEY given.")
88
103
  end
89
104
  end),
90
105
 
106
+ FastlaneCore::ConfigItem.new(key: :app_name,
107
+ env_name: "ONE_SIGNAL_APP_NAME",
108
+ description: "OneSignal App Name. This is required when creating an app (in other words, when `:app_id` is not set, and optional when updating an app",
109
+ optional: true),
110
+
91
111
  FastlaneCore::ConfigItem.new(key: :android_token,
92
112
  env_name: "ANDROID_TOKEN",
93
113
  description: "ANDROID GCM KEY",
@@ -121,8 +141,8 @@ module Fastlane
121
141
 
122
142
  def self.output
123
143
  [
124
- ['ONE_SIGNAL_APP_ID', 'The OneSignal app ID of the newly created app'],
125
- ['ONE_SIGNAL_APP_AUTH_KEY', 'The auth token for the newly created OneSignal app']
144
+ ['ONE_SIGNAL_APP_ID', 'The app ID of the newly created or updated app'],
145
+ ['ONE_SIGNAL_APP_AUTH_KEY', 'The auth token for the newly created or updated app']
126
146
  ]
127
147
  end
128
148
 
@@ -144,6 +164,16 @@ module Fastlane
144
164
  apns_p12: "Path to Apple .p12 file (optional)",
145
165
  apns_p12_password: "Password for .p12 file (optional)",
146
166
  apns_env: "production/sandbox (defaults to production)"
167
+ )',
168
+ 'onesignal(
169
+ app_id: "Your OneSignal App ID",
170
+ auth_token: "Your OneSignal Auth Token",
171
+ app_name: "New Name for OneSignal App",
172
+ android_token: "Your Android GCM key (optional)",
173
+ android_gcm_sender_id: "Your Android GCM Sender ID (optional)",
174
+ apns_p12: "Path to Apple .p12 file (optional)",
175
+ apns_p12_password: "Password for .p12 file (optional)",
176
+ apns_env: "production/sandbox (defaults to production)"
147
177
  )'
148
178
  ]
149
179
  end
@@ -47,6 +47,10 @@ module Fastlane
47
47
  command << "--verbose"
48
48
  end
49
49
 
50
+ if params[:use_modular_headers]
51
+ command << "--use-modular-headers"
52
+ end
53
+
50
54
  result = Actions.sh(command.join(' '))
51
55
  UI.success("Successfully pushed Podspec ⬆️ ")
52
56
  return result
@@ -118,7 +122,12 @@ module Fastlane
118
122
  optional: true,
119
123
  type: Boolean,
120
124
  default_value: false,
121
- env_name: "FL_POD_PUSH_VERBOSE")
125
+ env_name: "FL_POD_PUSH_VERBOSE"),
126
+ FastlaneCore::ConfigItem.new(key: :use_modular_headers,
127
+ description: "Use modular headers option during validation",
128
+ optional: true,
129
+ type: Boolean,
130
+ env_name: "FL_POD_PUSH_USE_MODULAR_HEADERS")
122
131
  ]
123
132
  end
124
133
 
@@ -45,7 +45,7 @@ module Fastlane
45
45
  end
46
46
  supported_platforms = all_platforms.select { |platform| self.is_supported?(platform.to_sym) }
47
47
 
48
- existing_devices = supported_platforms.map { |platform| Spaceship::Device.all(mac: platform == "mac") }.flatten
48
+ existing_devices = supported_platforms.flat_map { |platform| Spaceship::Device.all(mac: platform == "mac") }
49
49
 
50
50
  device_objs = new_devices.map do |device|
51
51
  next if existing_devices.map(&:udid).include?(device[0])
@@ -26,10 +26,15 @@ module Fastlane
26
26
  'you should turn off smart quotes in your editor of choice.')
27
27
  end
28
28
 
29
- content.scan(/^\s*require (.*)/).each do |current|
29
+ content.scan(/^\s*require ["'](.*?)["']/).each do |current|
30
30
  gem_name = current.last
31
31
  next if gem_name.include?(".") # these are local gems
32
- UI.important("You have required a gem, if this is a third party gem, please use `fastlane_require #{gem_name}` to ensure the gem is installed locally.")
32
+
33
+ begin
34
+ require(gem_name)
35
+ rescue LoadError
36
+ UI.important("You have required a gem, if this is a third party gem, please use `fastlane_require '#{gem_name}'` to ensure the gem is installed locally.")
37
+ end
33
38
  end
34
39
 
35
40
  parse(content, @path)
@@ -55,7 +55,7 @@ module Fastlane
55
55
 
56
56
  self.package_name = UI.input("Package Name (com.krausefx.app): ")
57
57
  puts("")
58
- puts("To automatically upload builds and metadata to Google Play, fastlane needs a service action json secret file".yellow)
58
+ puts("To automatically upload builds and metadata to Google Play, fastlane needs a service account json secret file".yellow)
59
59
  puts("Follow the Setup Guide on how to get the Json file: https://docs.fastlane.tools/actions/supply/".yellow)
60
60
  puts("Feel free to press Enter at any time in order to skip providing pieces of information when asked")
61
61
  self.json_key_file = UI.input("Path to the json secret file: ")
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.131.0'.freeze
2
+ VERSION = '2.132.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
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.131.0
21
+ // Generated with fastlane 2.132.0
@@ -735,6 +735,7 @@ func captureIosScreenshots(workspace: String? = nil,
735
735
  reinstallApp: Bool = false,
736
736
  eraseSimulator: Bool = false,
737
737
  localizeSimulator: Bool = false,
738
+ darkMode: Bool? = nil,
738
739
  appIdentifier: String? = nil,
739
740
  addPhotos: [String]? = nil,
740
741
  addVideos: [String]? = nil,
@@ -768,6 +769,7 @@ func captureIosScreenshots(workspace: String? = nil,
768
769
  RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
769
770
  RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
770
771
  RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
772
+ RubyCommand.Argument(name: "dark_mode", value: darkMode),
771
773
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
772
774
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
773
775
  RubyCommand.Argument(name: "add_videos", value: addVideos),
@@ -803,6 +805,7 @@ func captureScreenshots(workspace: String? = nil,
803
805
  reinstallApp: Bool = false,
804
806
  eraseSimulator: Bool = false,
805
807
  localizeSimulator: Bool = false,
808
+ darkMode: Bool? = nil,
806
809
  appIdentifier: String? = nil,
807
810
  addPhotos: [String]? = nil,
808
811
  addVideos: [String]? = nil,
@@ -836,6 +839,7 @@ func captureScreenshots(workspace: String? = nil,
836
839
  RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
837
840
  RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
838
841
  RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
842
+ RubyCommand.Argument(name: "dark_mode", value: darkMode),
839
843
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
840
844
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
841
845
  RubyCommand.Argument(name: "add_videos", value: addVideos),
@@ -897,6 +901,7 @@ func carthage(command: String = "bootstrap",
897
901
  }
898
902
  func cert(development: Bool = false,
899
903
  force: Bool = false,
904
+ generateAppleCerts: Bool = true,
900
905
  username: String,
901
906
  teamId: String? = nil,
902
907
  teamName: String? = nil,
@@ -907,6 +912,7 @@ func cert(development: Bool = false,
907
912
  platform: Any = "ios") {
908
913
  let command = RubyCommand(commandID: "", methodName: "cert", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
909
914
  RubyCommand.Argument(name: "force", value: force),
915
+ RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
910
916
  RubyCommand.Argument(name: "username", value: username),
911
917
  RubyCommand.Argument(name: "team_id", value: teamId),
912
918
  RubyCommand.Argument(name: "team_name", value: teamName),
@@ -1447,6 +1453,10 @@ func ensureBundleExec() {
1447
1453
  let command = RubyCommand(commandID: "", methodName: "ensure_bundle_exec", className: nil, args: [])
1448
1454
  _ = runner.executeCommand(command)
1449
1455
  }
1456
+ func ensureEnvVars(envVars: [String]) {
1457
+ let command = RubyCommand(commandID: "", methodName: "ensure_env_vars", className: nil, args: [RubyCommand.Argument(name: "env_vars", value: envVars)])
1458
+ _ = runner.executeCommand(command)
1459
+ }
1450
1460
  func ensureGitBranch(branch: String = "master") {
1451
1461
  let command = RubyCommand(commandID: "", methodName: "ensure_git_branch", className: nil, args: [RubyCommand.Argument(name: "branch", value: branch)])
1452
1462
  _ = runner.executeCommand(command)
@@ -1571,6 +1581,7 @@ func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
1571
1581
  }
1572
1582
  func getCertificates(development: Bool = false,
1573
1583
  force: Bool = false,
1584
+ generateAppleCerts: Bool = true,
1574
1585
  username: String,
1575
1586
  teamId: String? = nil,
1576
1587
  teamName: String? = nil,
@@ -1581,6 +1592,7 @@ func getCertificates(development: Bool = false,
1581
1592
  platform: Any = "ios") {
1582
1593
  let command = RubyCommand(commandID: "", methodName: "get_certificates", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
1583
1594
  RubyCommand.Argument(name: "force", value: force),
1595
+ RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
1584
1596
  RubyCommand.Argument(name: "username", value: username),
1585
1597
  RubyCommand.Argument(name: "team_id", value: teamId),
1586
1598
  RubyCommand.Argument(name: "team_name", value: teamName),
@@ -2195,6 +2207,7 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
2195
2207
  }
2196
2208
  func match(type: Any = matchfile.type,
2197
2209
  readonly: Bool = matchfile.readonly,
2210
+ generateAppleCerts: Bool = matchfile.generateAppleCerts,
2198
2211
  skipProvisioningProfiles: Bool = matchfile.skipProvisioningProfiles,
2199
2212
  appIdentifier: [String] = matchfile.appIdentifier,
2200
2213
  username: Any = matchfile.username,
@@ -2207,6 +2220,7 @@ func match(type: Any = matchfile.type,
2207
2220
  gitUserEmail: Any? = matchfile.gitUserEmail,
2208
2221
  shallowClone: Bool = matchfile.shallowClone,
2209
2222
  cloneBranchDirectly: Bool = matchfile.cloneBranchDirectly,
2223
+ gitBasicAuthorization: Any? = matchfile.gitBasicAuthorization,
2210
2224
  googleCloudBucketName: Any? = matchfile.googleCloudBucketName,
2211
2225
  googleCloudKeysFile: Any? = matchfile.googleCloudKeysFile,
2212
2226
  googleCloudProjectId: Any? = matchfile.googleCloudProjectId,
@@ -2222,6 +2236,7 @@ func match(type: Any = matchfile.type,
2222
2236
  verbose: Bool = matchfile.verbose) {
2223
2237
  let command = RubyCommand(commandID: "", methodName: "match", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
2224
2238
  RubyCommand.Argument(name: "readonly", value: readonly),
2239
+ RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
2225
2240
  RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
2226
2241
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2227
2242
  RubyCommand.Argument(name: "username", value: username),
@@ -2234,6 +2249,7 @@ func match(type: Any = matchfile.type,
2234
2249
  RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
2235
2250
  RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
2236
2251
  RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
2252
+ RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
2237
2253
  RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
2238
2254
  RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
2239
2255
  RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
@@ -2369,14 +2385,16 @@ func oclint(oclintPath: String = "oclint",
2369
2385
  RubyCommand.Argument(name: "extra_arg", value: extraArg)])
2370
2386
  _ = runner.executeCommand(command)
2371
2387
  }
2372
- func onesignal(authToken: String,
2373
- appName: String,
2388
+ func onesignal(appId: String? = nil,
2389
+ authToken: String,
2390
+ appName: String? = nil,
2374
2391
  androidToken: String? = nil,
2375
2392
  androidGcmSenderId: String? = nil,
2376
2393
  apnsP12: String? = nil,
2377
2394
  apnsP12Password: String? = nil,
2378
2395
  apnsEnv: String = "production") {
2379
- let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "auth_token", value: authToken),
2396
+ let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "app_id", value: appId),
2397
+ RubyCommand.Argument(name: "auth_token", value: authToken),
2380
2398
  RubyCommand.Argument(name: "app_name", value: appName),
2381
2399
  RubyCommand.Argument(name: "android_token", value: androidToken),
2382
2400
  RubyCommand.Argument(name: "android_gcm_sender_id", value: androidGcmSenderId),
@@ -2542,7 +2560,8 @@ func podPush(useBundleExec: Bool = false,
2542
2560
  swiftVersion: String? = nil,
2543
2561
  skipImportValidation: Bool? = nil,
2544
2562
  skipTests: Bool? = nil,
2545
- verbose: Bool = false) {
2563
+ verbose: Bool = false,
2564
+ useModularHeaders: Bool? = nil) {
2546
2565
  let command = RubyCommand(commandID: "", methodName: "pod_push", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
2547
2566
  RubyCommand.Argument(name: "path", value: path),
2548
2567
  RubyCommand.Argument(name: "repo", value: repo),
@@ -2552,7 +2571,8 @@ func podPush(useBundleExec: Bool = false,
2552
2571
  RubyCommand.Argument(name: "swift_version", value: swiftVersion),
2553
2572
  RubyCommand.Argument(name: "skip_import_validation", value: skipImportValidation),
2554
2573
  RubyCommand.Argument(name: "skip_tests", value: skipTests),
2555
- RubyCommand.Argument(name: "verbose", value: verbose)])
2574
+ RubyCommand.Argument(name: "verbose", value: verbose),
2575
+ RubyCommand.Argument(name: "use_modular_headers", value: useModularHeaders)])
2556
2576
  _ = runner.executeCommand(command)
2557
2577
  }
2558
2578
  func podioItem(clientId: String,
@@ -3369,6 +3389,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
3369
3389
  reinstallApp: Bool = snapshotfile.reinstallApp,
3370
3390
  eraseSimulator: Bool = snapshotfile.eraseSimulator,
3371
3391
  localizeSimulator: Bool = snapshotfile.localizeSimulator,
3392
+ darkMode: Bool? = snapshotfile.darkMode,
3372
3393
  appIdentifier: Any? = snapshotfile.appIdentifier,
3373
3394
  addPhotos: [String]? = snapshotfile.addPhotos,
3374
3395
  addVideos: [String]? = snapshotfile.addVideos,
@@ -3402,6 +3423,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
3402
3423
  RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
3403
3424
  RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
3404
3425
  RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
3426
+ RubyCommand.Argument(name: "dark_mode", value: darkMode),
3405
3427
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
3406
3428
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
3407
3429
  RubyCommand.Argument(name: "add_videos", value: addVideos),
@@ -3603,6 +3625,7 @@ func swiftlint(mode: Any = "lint",
3603
3625
  }
3604
3626
  func syncCodeSigning(type: String = "development",
3605
3627
  readonly: Bool = false,
3628
+ generateAppleCerts: Bool = true,
3606
3629
  skipProvisioningProfiles: Bool = false,
3607
3630
  appIdentifier: [String],
3608
3631
  username: String,
@@ -3615,6 +3638,7 @@ func syncCodeSigning(type: String = "development",
3615
3638
  gitUserEmail: String? = nil,
3616
3639
  shallowClone: Bool = false,
3617
3640
  cloneBranchDirectly: Bool = false,
3641
+ gitBasicAuthorization: String? = nil,
3618
3642
  googleCloudBucketName: String? = nil,
3619
3643
  googleCloudKeysFile: String? = nil,
3620
3644
  googleCloudProjectId: String? = nil,
@@ -3630,6 +3654,7 @@ func syncCodeSigning(type: String = "development",
3630
3654
  verbose: Bool = false) {
3631
3655
  let command = RubyCommand(commandID: "", methodName: "sync_code_signing", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
3632
3656
  RubyCommand.Argument(name: "readonly", value: readonly),
3657
+ RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
3633
3658
  RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
3634
3659
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
3635
3660
  RubyCommand.Argument(name: "username", value: username),
@@ -3642,6 +3667,7 @@ func syncCodeSigning(type: String = "development",
3642
3667
  RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
3643
3668
  RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
3644
3669
  RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
3670
+ RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
3645
3671
  RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
3646
3672
  RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
3647
3673
  RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
@@ -4305,7 +4331,7 @@ func xcov(workspace: String? = nil,
4305
4331
  coverallsServiceJobId: String? = nil,
4306
4332
  coverallsRepoToken: String? = nil,
4307
4333
  xcconfig: String? = nil,
4308
- ideFoundationPath: String = "/Applications/Xcode-11_Beta_5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
4334
+ ideFoundationPath: String = "/Applications/Xcode-11.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
4309
4335
  legacySupport: Bool = false) {
4310
4336
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
4311
4337
  RubyCommand.Argument(name: "project", value: project),
@@ -4416,4 +4442,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
4416
4442
 
4417
4443
  // Please don't remove the lines below
4418
4444
  // They are used to detect outdated files
4419
- // FastlaneRunnerAPIVersion [0.9.57]
4445
+ // FastlaneRunnerAPIVersion [0.9.58]
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.131.0
21
+ // Generated with fastlane 2.132.0
@@ -18,4 +18,4 @@ class Matchfile: MatchfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.131.0
21
+ // Generated with fastlane 2.132.0