fastlane 2.170.0 → 2.171.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -74
  3. data/deliver/lib/deliver/app_screenshot.rb +5 -7
  4. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  5. data/deliver/lib/deliver/loader.rb +13 -29
  6. data/deliver/lib/deliver/upload_metadata.rb +2 -0
  7. data/{spaceship/lib/spaceship/connect_api/models/.app_data_usage_data_protection.rb.swp → fastlane/lib/fastlane/actions/.github_api.rb.swp} +0 -0
  8. data/fastlane/lib/fastlane/actions/.set_github_release.rb.swp +0 -0
  9. data/fastlane/lib/fastlane/actions/add_git_tag.rb +12 -3
  10. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +5 -1
  11. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  12. data/fastlane/lib/fastlane/actions/git_commit.rb +3 -3
  13. data/fastlane/lib/fastlane/actions/github_api.rb +14 -3
  14. data/fastlane/lib/fastlane/actions/nexus_upload.rb +1 -0
  15. data/fastlane/lib/fastlane/actions/pod_push.rb +9 -0
  16. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +9 -1
  17. data/fastlane/lib/fastlane/actions/set_github_release.rb +21 -8
  18. data/fastlane/lib/fastlane/actions/slack.rb +4 -5
  19. data/fastlane/lib/fastlane/actions/spm.rb +2 -2
  20. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +4 -2
  21. data/fastlane/lib/fastlane/version.rb +1 -1
  22. data/fastlane/swift/Deliverfile.swift +1 -1
  23. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  24. data/fastlane/swift/Fastlane.swift +66 -13
  25. data/fastlane/swift/Gymfile.swift +1 -1
  26. data/fastlane/swift/GymfileProtocol.swift +1 -1
  27. data/fastlane/swift/Matchfile.swift +1 -1
  28. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  29. data/fastlane/swift/Precheckfile.swift +1 -1
  30. data/fastlane/swift/PrecheckfileProtocol.swift +5 -1
  31. data/fastlane/swift/Scanfile.swift +1 -1
  32. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  33. data/fastlane/swift/Screengrabfile.swift +1 -1
  34. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  35. data/fastlane/swift/Snapshotfile.swift +1 -1
  36. data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
  37. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  38. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -4
  39. data/match/lib/match/encryption/openssl.rb +4 -2
  40. data/match/lib/match/storage/git_storage.rb +14 -10
  41. data/precheck/lib/precheck/options.rb +6 -1
  42. data/precheck/lib/precheck/rule_processor.rb +1 -1
  43. data/precheck/lib/precheck/runner.rb +1 -1
  44. data/scan/lib/scan/options.rb +5 -0
  45. data/scan/lib/scan/slack_poster.rb +1 -0
  46. data/screengrab/lib/screengrab/runner.rb +2 -0
  47. data/sigh/lib/sigh/runner.rb +1 -1
  48. data/snapshot/lib/snapshot/options.rb +1 -1
  49. data/spaceship/lib/spaceship/connect_api/api_client.rb +1 -1
  50. data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -0
  51. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +5 -1
  52. data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
  53. metadata +21 -18
@@ -11,7 +11,7 @@ module Fastlane
11
11
  cmd << "--disable-sandbox" if params[:disable_sandbox]
12
12
  cmd << "--verbose" if params[:verbose]
13
13
  cmd << params[:command] if package_commands.include?(params[:command])
14
- cmd << "--enable-code-coverage" if params[:enable_code_coverage] && params[:command] == 'generate-xcodeproj'
14
+ cmd << "--enable-code-coverage" if params[:enable_code_coverage] && (params[:command] == 'generate-xcodeproj' || params[:command] == 'test')
15
15
  if params[:xcconfig]
16
16
  cmd << "--xcconfig-overrides #{params[:xcconfig]}"
17
17
  end
@@ -47,7 +47,7 @@ module Fastlane
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :enable_code_coverage,
49
49
  env_name: "FL_SPM_ENABLE_CODE_COVERAGE",
50
- description: "Enables code coverage for the generated Xcode project when using the generate-xcodeproj command",
50
+ description: "Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command",
51
51
  is_string: false,
52
52
  optional: true),
53
53
  FastlaneCore::ConfigItem.new(key: :build_path,
@@ -112,13 +112,15 @@ module Fastlane
112
112
 
113
113
  json << {
114
114
  "category" => category.id,
115
- "purposes" => selected_purposes.map(&:id),
115
+ "purposes" => selected_purposes.map(&:id).sort.uniq,
116
116
  "data_protections" => [
117
117
  protection_id, tracking_id
118
- ].compact
118
+ ].compact.sort.uniq
119
119
  }
120
120
  end
121
121
 
122
+ json.sort_by! { |c| c["category"] }
123
+
122
124
  # Recursively call this method if no categories were selected for data collection
123
125
  if json.empty?
124
126
  UI.error("No categories were selected for data collection.")
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.170.0'.freeze
2
+ VERSION = '2.171.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
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.170.0
20
+ // Generated with fastlane 2.171.0
@@ -256,4 +256,4 @@ public extension DeliverfileProtocol {
256
256
 
257
257
  // Please don't remove the lines below
258
258
  // They are used to detect outdated files
259
- // FastlaneRunnerAPIVersion [0.9.53]
259
+ // FastlaneRunnerAPIVersion [0.9.54]
@@ -54,6 +54,7 @@ public func addExtraPlatforms(platforms: [String] = []) {
54
54
  - parameters:
55
55
  - tag: Define your own tag text. This will replace all other parameters
56
56
  - grouping: Is used to keep your tags organised under one 'folder'
57
+ - includesLane: Whether the current lane should be included in the tag and message composition, e.g. '<grouping>/<lane>/<prefix><build_number><postfix>'
57
58
  - prefix: Anything you want to put in front of the version number (e.g. 'v')
58
59
  - postfix: Anything you want to put at the end of the version number (e.g. '-RC1')
59
60
  - buildNumber: The build number. Defaults to the result of increment_build_number if you're using it
@@ -62,10 +63,10 @@ public func addExtraPlatforms(platforms: [String] = []) {
62
63
  - force: Force adding the tag
63
64
  - sign: Make a GPG-signed tag, using the default e-mail address's key
64
65
 
65
- This will automatically tag your build with the following format: `<grouping>/<lane>/<prefix><build_number>`, where:|
66
+ This will automatically tag your build with the following format: `<grouping>/<lane>/<prefix><build_number><postfix>`, where:|
66
67
  |
67
68
  >- `grouping` is just to keep your tags organised under one 'folder', defaults to 'builds'|
68
- - `lane` is the name of the current fastlane lane|
69
+ - `lane` is the name of the current fastlane lane, if chosen to be included via 'includes_lane' option, which defaults to 'true'|
69
70
  - `prefix` is anything you want to stick in front of the version number, e.g. 'v'|
70
71
  - `postfix` is anything you want to stick at the end of the version number, e.g. '-RC1'|
71
72
  - `build_number` is the build number, which defaults to the value emitted by the `increment_build_number` action|
@@ -74,6 +75,7 @@ public func addExtraPlatforms(platforms: [String] = []) {
74
75
  */
75
76
  public func addGitTag(tag: String? = nil,
76
77
  grouping: String = "builds",
78
+ includesLane: Bool = true,
77
79
  prefix: String = "",
78
80
  postfix: String = "",
79
81
  buildNumber: Any? = nil,
@@ -84,6 +86,7 @@ public func addGitTag(tag: String? = nil,
84
86
  {
85
87
  let command = RubyCommand(commandID: "", methodName: "add_git_tag", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag),
86
88
  RubyCommand.Argument(name: "grouping", value: grouping),
89
+ RubyCommand.Argument(name: "includes_lane", value: includesLane),
87
90
  RubyCommand.Argument(name: "prefix", value: prefix),
88
91
  RubyCommand.Argument(name: "postfix", value: postfix),
89
92
  RubyCommand.Argument(name: "build_number", value: buildNumber),
@@ -1520,7 +1523,7 @@ public func captureAndroidScreenshots(androidHome: String? = nil,
1520
1523
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
1521
1524
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
1522
1525
  - headless: Enabling this option will prevent displaying the simulator window
1523
- - overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
1526
+ - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception
1524
1527
  - localizeSimulator: Enabling this option will configure the Simulator's system language
1525
1528
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
1526
1529
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -1661,7 +1664,7 @@ public func captureIosScreenshots(workspace: String? = nil,
1661
1664
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
1662
1665
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
1663
1666
  - headless: Enabling this option will prevent displaying the simulator window
1664
- - overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
1667
+ - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception
1665
1668
  - localizeSimulator: Enabling this option will configure the Simulator's system language
1666
1669
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
1667
1670
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -1993,6 +1996,7 @@ public func chatwork(apiToken: String,
1993
1996
  - platform: The platform to use (optional)
1994
1997
  - defaultRuleLevel: The default rule level unless otherwise configured
1995
1998
  - includeInAppPurchases: Should check in-app purchases?
1999
+ - useLive: Should force check live app?
1996
2000
  - negativeAppleSentiment: mentioning  in a way that could be considered negative
1997
2001
  - placeholderText: using placeholder text (e.g.:"lorem ipsum", "text here", etc...)
1998
2002
  - otherPlatforms: mentioning other platforms, like Android or Blackberry
@@ -2017,6 +2021,7 @@ public func checkAppStoreMetadata(apiKeyPath: String? = nil,
2017
2021
  platform: String = "ios",
2018
2022
  defaultRuleLevel: Any = "error",
2019
2023
  includeInAppPurchases: Bool = true,
2024
+ useLive: Bool = false,
2020
2025
  negativeAppleSentiment: Any? = nil,
2021
2026
  placeholderText: Any? = nil,
2022
2027
  otherPlatforms: Any? = nil,
@@ -2037,6 +2042,7 @@ public func checkAppStoreMetadata(apiKeyPath: String? = nil,
2037
2042
  RubyCommand.Argument(name: "platform", value: platform),
2038
2043
  RubyCommand.Argument(name: "default_rule_level", value: defaultRuleLevel),
2039
2044
  RubyCommand.Argument(name: "include_in_app_purchases", value: includeInAppPurchases),
2045
+ RubyCommand.Argument(name: "use_live", value: useLive),
2040
2046
  RubyCommand.Argument(name: "negative_apple_sentiment", value: negativeAppleSentiment),
2041
2047
  RubyCommand.Argument(name: "placeholder_text", value: placeholderText),
2042
2048
  RubyCommand.Argument(name: "other_platforms", value: otherPlatforms),
@@ -2864,6 +2870,32 @@ public func download(url: String) {
2864
2870
  _ = runner.executeCommand(command)
2865
2871
  }
2866
2872
 
2873
+ /**
2874
+ Download App Privacy Details from an app in App Store Connect
2875
+
2876
+ - parameters:
2877
+ - username: Your Apple ID Username for App Store Connect
2878
+ - appIdentifier: The bundle identifier of your app
2879
+ - teamId: The ID of your App Store Connect team if you're in multiple teams
2880
+ - teamName: The name of your App Store Connect team if you're in multiple teams
2881
+ - outputJsonPath: Path to the app usage data JSON file generated by interactive questions
2882
+
2883
+ Download App Privacy Details from an app in App Store Connect. For more detail information, view https://docs.fastlane.tools/uploading-app-privacy-details
2884
+ */
2885
+ public func downloadAppPrivacyDetailsFromAppStore(username: String,
2886
+ appIdentifier: String,
2887
+ teamId: Any? = nil,
2888
+ teamName: String? = nil,
2889
+ outputJsonPath: String = "./fastlane/app_privacy_details.json")
2890
+ {
2891
+ let command = RubyCommand(commandID: "", methodName: "download_app_privacy_details_from_app_store", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
2892
+ RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2893
+ RubyCommand.Argument(name: "team_id", value: teamId),
2894
+ RubyCommand.Argument(name: "team_name", value: teamName),
2895
+ RubyCommand.Argument(name: "output_json_path", value: outputJsonPath)])
2896
+ _ = runner.executeCommand(command)
2897
+ }
2898
+
2867
2899
  /**
2868
2900
  Download dSYM files from App Store Connect for Bitcode apps
2869
2901
 
@@ -3791,6 +3823,7 @@ public func gitTagExists(tag: String,
3791
3823
  - parameters:
3792
3824
  - serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
3793
3825
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
3826
+ - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
3794
3827
  - httpMethod: The HTTP method. e.g. GET / POST
3795
3828
  - body: The request body in JSON or hash format
3796
3829
  - rawBody: The request body taken verbatim instead of as JSON, useful for file uploads
@@ -3807,7 +3840,8 @@ public func gitTagExists(tag: String,
3807
3840
  Documentation: [https://developer.github.com/v3](https://developer.github.com/v3).
3808
3841
  */
3809
3842
  public func githubApi(serverUrl: String = "https://api.github.com",
3810
- apiToken: String,
3843
+ apiToken: String? = nil,
3844
+ apiBearer: String? = nil,
3811
3845
  httpMethod: String = "GET",
3812
3846
  body: [String: Any] = [:],
3813
3847
  rawBody: String? = nil,
@@ -3819,6 +3853,7 @@ public func githubApi(serverUrl: String = "https://api.github.com",
3819
3853
  {
3820
3854
  let command = RubyCommand(commandID: "", methodName: "github_api", className: nil, args: [RubyCommand.Argument(name: "server_url", value: serverUrl),
3821
3855
  RubyCommand.Argument(name: "api_token", value: apiToken),
3856
+ RubyCommand.Argument(name: "api_bearer", value: apiBearer),
3822
3857
  RubyCommand.Argument(name: "http_method", value: httpMethod),
3823
3858
  RubyCommand.Argument(name: "body", value: body),
3824
3859
  RubyCommand.Argument(name: "raw_body", value: rawBody),
@@ -5492,6 +5527,7 @@ public func podLibLint(useBundleExec: Bool = true,
5492
5527
  - swiftVersion: The SWIFT_VERSION that should be used to lint the spec. This takes precedence over a .swift-version file
5493
5528
  - skipImportValidation: Lint skips validating that the pod can be imported
5494
5529
  - skipTests: Lint skips building and running tests during validation
5530
+ - useJson: Convert the podspec to JSON before pushing it to the repo
5495
5531
  - verbose: Show more debugging information
5496
5532
  - useModularHeaders: Use modular headers option during validation
5497
5533
  - synchronous: If validation depends on other recently pushed pods, synchronize
@@ -5505,6 +5541,7 @@ public func podPush(useBundleExec: Bool = false,
5505
5541
  swiftVersion: String? = nil,
5506
5542
  skipImportValidation: Bool? = nil,
5507
5543
  skipTests: Bool? = nil,
5544
+ useJson: Bool? = nil,
5508
5545
  verbose: Bool = false,
5509
5546
  useModularHeaders: Bool? = nil,
5510
5547
  synchronous: Bool? = nil)
@@ -5518,6 +5555,7 @@ public func podPush(useBundleExec: Bool = false,
5518
5555
  RubyCommand.Argument(name: "swift_version", value: swiftVersion),
5519
5556
  RubyCommand.Argument(name: "skip_import_validation", value: skipImportValidation),
5520
5557
  RubyCommand.Argument(name: "skip_tests", value: skipTests),
5558
+ RubyCommand.Argument(name: "use_json", value: useJson),
5521
5559
  RubyCommand.Argument(name: "verbose", value: verbose),
5522
5560
  RubyCommand.Argument(name: "use_modular_headers", value: useModularHeaders),
5523
5561
  RubyCommand.Argument(name: "synchronous", value: synchronous)])
@@ -5571,6 +5609,7 @@ public func podioItem(clientId: String,
5571
5609
  - platform: The platform to use (optional)
5572
5610
  - defaultRuleLevel: The default rule level unless otherwise configured
5573
5611
  - includeInAppPurchases: Should check in-app purchases?
5612
+ - useLive: Should force check live app?
5574
5613
  - freeStuffInIap: using text indicating that your IAP is free
5575
5614
 
5576
5615
  - returns: true if precheck passes, else, false
@@ -5586,6 +5625,7 @@ public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
5586
5625
  platform: Any = precheckfile.platform,
5587
5626
  defaultRuleLevel: Any = precheckfile.defaultRuleLevel,
5588
5627
  includeInAppPurchases: Bool = precheckfile.includeInAppPurchases,
5628
+ useLive: Bool = precheckfile.useLive,
5589
5629
  freeStuffInIap: Any? = precheckfile.freeStuffInIap)
5590
5630
  {
5591
5631
  let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
@@ -5597,6 +5637,7 @@ public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
5597
5637
  RubyCommand.Argument(name: "platform", value: platform),
5598
5638
  RubyCommand.Argument(name: "default_rule_level", value: defaultRuleLevel),
5599
5639
  RubyCommand.Argument(name: "include_in_app_purchases", value: includeInAppPurchases),
5640
+ RubyCommand.Argument(name: "use_live", value: useLive),
5600
5641
  RubyCommand.Argument(name: "free_stuff_in_iap", value: freeStuffInIap)])
5601
5642
  _ = runner.executeCommand(command)
5602
5643
  }
@@ -5741,6 +5782,7 @@ public func pushGitTags(force: Bool = false,
5741
5782
  - remote: The remote to push to
5742
5783
  - noVerify: Whether or not to use --no-verify
5743
5784
  - setUpstream: Whether or not to use --set-upstream
5785
+ - pushOptions: Array of strings to be passed using the '--push-option' option
5744
5786
 
5745
5787
  Lets you push your local commits to a remote git repo. Useful if you make local changes such as adding a version bump commit (using `commit_version_bump`) or a git tag (using 'add_git_tag') on a CI server, and you want to push those changes back to your canonical/main repo.
5746
5788
  If this is a new branch, use the `set_upstream` option to set the remote branch as upstream.
@@ -5752,7 +5794,8 @@ public func pushToGitRemote(localBranch: String? = nil,
5752
5794
  tags: Bool = true,
5753
5795
  remote: String = "origin",
5754
5796
  noVerify: Bool = false,
5755
- setUpstream: Bool = false)
5797
+ setUpstream: Bool = false,
5798
+ pushOptions: [String] = [])
5756
5799
  {
5757
5800
  let command = RubyCommand(commandID: "", methodName: "push_to_git_remote", className: nil, args: [RubyCommand.Argument(name: "local_branch", value: localBranch),
5758
5801
  RubyCommand.Argument(name: "remote_branch", value: remoteBranch),
@@ -5761,7 +5804,8 @@ public func pushToGitRemote(localBranch: String? = nil,
5761
5804
  RubyCommand.Argument(name: "tags", value: tags),
5762
5805
  RubyCommand.Argument(name: "remote", value: remote),
5763
5806
  RubyCommand.Argument(name: "no_verify", value: noVerify),
5764
- RubyCommand.Argument(name: "set_upstream", value: setUpstream)])
5807
+ RubyCommand.Argument(name: "set_upstream", value: setUpstream),
5808
+ RubyCommand.Argument(name: "push_options", value: pushOptions)])
5765
5809
  _ = runner.executeCommand(command)
5766
5810
  }
5767
5811
 
@@ -6091,6 +6135,7 @@ public func rubyVersion() {
6091
6135
  - slackIconUrl: Overrides the webhook's image property if slack_use_webhook_configured_username_and_icon is false
6092
6136
  - skipSlack: Don't publish to slack, even when an URL is given
6093
6137
  - slackOnlyOnFailure: Only post on Slack if the tests fail
6138
+ - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
6094
6139
  - destination: Use only if you're a pro, use the other options instead
6095
6140
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
6096
6141
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
@@ -6159,6 +6204,7 @@ public func runTests(workspace: String? = nil,
6159
6204
  slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
6160
6205
  skipSlack: Bool = false,
6161
6206
  slackOnlyOnFailure: Bool = false,
6207
+ slackDefaultPayloads: [String]? = nil,
6162
6208
  destination: Any? = nil,
6163
6209
  catalystPlatform: String? = nil,
6164
6210
  customReportFileName: String? = nil,
@@ -6225,6 +6271,7 @@ public func runTests(workspace: String? = nil,
6225
6271
  RubyCommand.Argument(name: "slack_icon_url", value: slackIconUrl),
6226
6272
  RubyCommand.Argument(name: "skip_slack", value: skipSlack),
6227
6273
  RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
6274
+ RubyCommand.Argument(name: "slack_default_payloads", value: slackDefaultPayloads),
6228
6275
  RubyCommand.Argument(name: "destination", value: destination),
6229
6276
  RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
6230
6277
  RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
@@ -6373,6 +6420,7 @@ public func say(text: Any,
6373
6420
  - slackIconUrl: Overrides the webhook's image property if slack_use_webhook_configured_username_and_icon is false
6374
6421
  - skipSlack: Don't publish to slack, even when an URL is given
6375
6422
  - slackOnlyOnFailure: Only post on Slack if the tests fail
6423
+ - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
6376
6424
  - destination: Use only if you're a pro, use the other options instead
6377
6425
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
6378
6426
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
@@ -6441,6 +6489,7 @@ public func scan(workspace: Any? = scanfile.workspace,
6441
6489
  slackIconUrl: Any = scanfile.slackIconUrl,
6442
6490
  skipSlack: Bool = scanfile.skipSlack,
6443
6491
  slackOnlyOnFailure: Bool = scanfile.slackOnlyOnFailure,
6492
+ slackDefaultPayloads: [String]? = scanfile.slackDefaultPayloads,
6444
6493
  destination: Any? = scanfile.destination,
6445
6494
  catalystPlatform: Any? = scanfile.catalystPlatform,
6446
6495
  customReportFileName: Any? = scanfile.customReportFileName,
@@ -6507,6 +6556,7 @@ public func scan(workspace: Any? = scanfile.workspace,
6507
6556
  RubyCommand.Argument(name: "slack_icon_url", value: slackIconUrl),
6508
6557
  RubyCommand.Argument(name: "skip_slack", value: skipSlack),
6509
6558
  RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
6559
+ RubyCommand.Argument(name: "slack_default_payloads", value: slackDefaultPayloads),
6510
6560
  RubyCommand.Argument(name: "destination", value: destination),
6511
6561
  RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
6512
6562
  RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
@@ -6685,6 +6735,7 @@ public func setChangelog(apiKeyPath: String? = nil,
6685
6735
  - repositoryName: The path to your repo, e.g. 'fastlane/fastlane'
6686
6736
  - serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
6687
6737
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
6738
+ - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
6688
6739
  - tagName: Pass in the tag name
6689
6740
  - name: Name of this release
6690
6741
  - commitish: Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually master)
@@ -6702,7 +6753,8 @@ public func setChangelog(apiKeyPath: String? = nil,
6702
6753
  */
6703
6754
  @discardableResult public func setGithubRelease(repositoryName: String,
6704
6755
  serverUrl: String = "https://api.github.com",
6705
- apiToken: String,
6756
+ apiToken: String? = nil,
6757
+ apiBearer: String? = nil,
6706
6758
  tagName: String,
6707
6759
  name: String? = nil,
6708
6760
  commitish: String? = nil,
@@ -6714,6 +6766,7 @@ public func setChangelog(apiKeyPath: String? = nil,
6714
6766
  let command = RubyCommand(commandID: "", methodName: "set_github_release", className: nil, args: [RubyCommand.Argument(name: "repository_name", value: repositoryName),
6715
6767
  RubyCommand.Argument(name: "server_url", value: serverUrl),
6716
6768
  RubyCommand.Argument(name: "api_token", value: apiToken),
6769
+ RubyCommand.Argument(name: "api_bearer", value: apiBearer),
6717
6770
  RubyCommand.Argument(name: "tag_name", value: tagName),
6718
6771
  RubyCommand.Argument(name: "name", value: name),
6719
6772
  RubyCommand.Argument(name: "commitish", value: commitish),
@@ -7004,7 +7057,7 @@ public func skipDocs() {
7004
7057
  - username: Overrides the webhook's username property if use_webhook_configured_username_and_icon is false
7005
7058
  - iconUrl: Overrides the webhook's image property if use_webhook_configured_username_and_icon is false
7006
7059
  - payload: Add additional information to this post. payload must be a hash containing any key with any value
7007
- - defaultPayloads: Remove some of the default payloads. More information about the available payloads on GitHub
7060
+ - defaultPayloads: Specifies default payloads to include. Pass an empty array to suppress all the default payloads
7008
7061
  - attachmentProperties: Merge additional properties in the slack attachment, see https://api.slack.com/docs/attachments
7009
7062
  - success: Was this build successful? (true/false)
7010
7063
  - failOnError: Should an error sending the slack notification cause a failure? (true/false)
@@ -7020,7 +7073,7 @@ public func slack(message: String? = nil,
7020
7073
  username: String = "fastlane",
7021
7074
  iconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
7022
7075
  payload: [String: Any] = [:],
7023
- defaultPayloads: [String]? = nil,
7076
+ defaultPayloads: [String] = ["lane", "test_result", "git_branch", "git_author", "last_git_commit", "last_git_commit_hash"],
7024
7077
  attachmentProperties: [String: Any] = [:],
7025
7078
  success: Bool = true,
7026
7079
  failOnError: Bool = true,
@@ -7206,7 +7259,7 @@ public func slather(buildDirectory: String? = nil,
7206
7259
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
7207
7260
  - eraseSimulator: Enabling this option will automatically erase the simulator before running the application
7208
7261
  - headless: Enabling this option will prevent displaying the simulator window
7209
- - overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
7262
+ - overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception
7210
7263
  - localizeSimulator: Enabling this option will configure the Simulator's system language
7211
7264
  - darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
7212
7265
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
@@ -7466,7 +7519,7 @@ public func splunkmint(dsym: String? = nil,
7466
7519
 
7467
7520
  - parameters:
7468
7521
  - command: The swift command (one of: build, test, clean, reset, update, resolve, generate-xcodeproj, init)
7469
- - enableCodeCoverage: Enables code coverage for the generated Xcode project when using the generate-xcodeproj command
7522
+ - enableCodeCoverage: Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command
7470
7523
  - buildPath: Specify build/cache directory [default: ./.build]
7471
7524
  - packagePath: Change working directory before any other operation
7472
7525
  - xcconfig: Use xcconfig file to override swift package generate-xcodeproj defaults
@@ -9470,4 +9523,4 @@ public let snapshotfile = Snapshotfile()
9470
9523
 
9471
9524
  // Please don't remove the lines below
9472
9525
  // They are used to detect outdated files
9473
- // FastlaneRunnerAPIVersion [0.9.106]
9526
+ // FastlaneRunnerAPIVersion [0.9.107]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.170.0
20
+ // Generated with fastlane 2.171.0
@@ -188,4 +188,4 @@ public extension GymfileProtocol {
188
188
 
189
189
  // Please don't remove the lines below
190
190
  // They are used to detect outdated files
191
- // FastlaneRunnerAPIVersion [0.9.56]
191
+ // FastlaneRunnerAPIVersion [0.9.57]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.170.0
20
+ // Generated with fastlane 2.171.0
@@ -184,4 +184,4 @@ public extension MatchfileProtocol {
184
184
 
185
185
  // Please don't remove the lines below
186
186
  // They are used to detect outdated files
187
- // FastlaneRunnerAPIVersion [0.9.50]
187
+ // FastlaneRunnerAPIVersion [0.9.51]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.170.0
20
+ // Generated with fastlane 2.171.0
@@ -29,6 +29,9 @@ public protocol PrecheckfileProtocol: class {
29
29
  /// Should check in-app purchases?
30
30
  var includeInAppPurchases: Bool { get }
31
31
 
32
+ /// Should force check live app?
33
+ var useLive: Bool { get }
34
+
32
35
  /// using text indicating that your IAP is free
33
36
  var freeStuffInIap: String? { get }
34
37
  }
@@ -43,9 +46,10 @@ public extension PrecheckfileProtocol {
43
46
  var platform: String { return "ios" }
44
47
  var defaultRuleLevel: String { return "error" }
45
48
  var includeInAppPurchases: Bool { return true }
49
+ var useLive: Bool { return false }
46
50
  var freeStuffInIap: String? { return nil }
47
51
  }
48
52
 
49
53
  // Please don't remove the lines below
50
54
  // They are used to detect outdated files
51
- // FastlaneRunnerAPIVersion [0.9.49]
55
+ // FastlaneRunnerAPIVersion [0.9.50]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.170.0
20
+ // Generated with fastlane 2.171.0
@@ -176,6 +176,9 @@ public protocol ScanfileProtocol: class {
176
176
  /// Only post on Slack if the tests fail
177
177
  var slackOnlyOnFailure: Bool { get }
178
178
 
179
+ /// Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
180
+ var slackDefaultPayloads: [String]? { get }
181
+
179
182
  /// Use only if you're a pro, use the other options instead
180
183
  var destination: String? { get }
181
184
 
@@ -257,6 +260,7 @@ public extension ScanfileProtocol {
257
260
  var slackIconUrl: String { return "https://fastlane.tools/assets/img/fastlane_icon.png" }
258
261
  var skipSlack: Bool { return false }
259
262
  var slackOnlyOnFailure: Bool { return false }
263
+ var slackDefaultPayloads: [String]? { return nil }
260
264
  var destination: String? { return nil }
261
265
  var catalystPlatform: String? { return nil }
262
266
  var customReportFileName: String? { return nil }
@@ -268,4 +272,4 @@ public extension ScanfileProtocol {
268
272
 
269
273
  // Please don't remove the lines below
270
274
  // They are used to detect outdated files
271
- // FastlaneRunnerAPIVersion [0.9.61]
275
+ // FastlaneRunnerAPIVersion [0.9.62]