fastlane 2.148.0 → 2.150.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -86
  3. data/deliver/lib/deliver.rb +0 -1
  4. data/deliver/lib/deliver/app_screenshot.rb +28 -27
  5. data/deliver/lib/deliver/options.rb +6 -11
  6. data/deliver/lib/deliver/runner.rb +7 -21
  7. data/deliver/lib/deliver/setup.rb +5 -30
  8. data/deliver/lib/deliver/submit_for_review.rb +155 -90
  9. data/deliver/lib/deliver/upload_metadata.rb +355 -143
  10. data/deliver/lib/deliver/upload_price_tier.rb +22 -8
  11. data/deliver/lib/deliver/upload_screenshots.rb +112 -37
  12. data/fastlane/lib/assets/s3_html_template.erb +1 -1
  13. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +42 -2
  14. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  15. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +77 -96
  16. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +3 -2
  17. data/fastlane/lib/fastlane/actions/download_dsyms.rb +7 -1
  18. data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
  19. data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/set_changelog.rb +23 -20
  21. data/fastlane/lib/fastlane/actions/slack.rb +2 -2
  22. data/fastlane/lib/fastlane/actions/slather.rb +8 -1
  23. data/fastlane/lib/fastlane/actions/spm.rb +7 -0
  24. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +2 -33
  25. data/fastlane/lib/fastlane/documentation/actions_list.rb +1 -1
  26. data/fastlane/lib/fastlane/lane.rb +3 -3
  27. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
  28. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
  29. data/fastlane/lib/fastlane/swift_fastlane_function.rb +22 -5
  30. data/fastlane/lib/fastlane/version.rb +1 -1
  31. data/fastlane/swift/ControlCommand.swift +1 -0
  32. data/fastlane/swift/Deliverfile.swift +1 -1
  33. data/fastlane/swift/Fastlane.swift +79 -22
  34. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +3 -9
  35. data/fastlane/swift/Gymfile.swift +1 -1
  36. data/fastlane/swift/GymfileProtocol.swift +1 -1
  37. data/fastlane/swift/LaneFileProtocol.swift +2 -5
  38. data/fastlane/swift/Matchfile.swift +1 -1
  39. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  40. data/fastlane/swift/Precheckfile.swift +1 -1
  41. data/fastlane/swift/RubyCommand.swift +29 -6
  42. data/fastlane/swift/RubyCommandable.swift +1 -0
  43. data/fastlane/swift/Runner.swift +85 -13
  44. data/fastlane/swift/Scanfile.swift +1 -1
  45. data/fastlane/swift/ScanfileProtocol.swift +2 -2
  46. data/fastlane/swift/Screengrabfile.swift +1 -1
  47. data/fastlane/swift/Snapshotfile.swift +1 -1
  48. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  49. data/fastlane/swift/SocketClient.swift +76 -45
  50. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  51. data/fastlane/swift/SocketResponse.swift +1 -0
  52. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -3
  53. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +7 -0
  54. data/frameit/lib/frameit/device_types.rb +100 -100
  55. data/gym/lib/gym/options.rb +1 -1
  56. data/match/lib/match/nuke.rb +21 -16
  57. data/match/lib/match/storage/git_storage.rb +4 -0
  58. data/match/lib/match/storage/google_cloud_storage.rb +4 -0
  59. data/match/lib/match/storage/interface.rb +4 -0
  60. data/match/lib/match/storage/s3_storage.rb +4 -0
  61. data/produce/lib/produce/itunes_connect.rb +32 -21
  62. data/produce/lib/produce/options.rb +3 -3
  63. data/scan/lib/scan/options.rb +1 -1
  64. data/scan/lib/scan/test_result_parser.rb +9 -2
  65. data/sigh/lib/assets/resign.sh +7 -7
  66. data/snapshot/lib/assets/SnapshotHelper.swift +5 -5
  67. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +3 -3
  68. data/snapshot/lib/snapshot/options.rb +11 -1
  69. data/snapshot/lib/snapshot/reports_generator.rb +8 -1
  70. data/snapshot/lib/snapshot/test_command_generator.rb +8 -3
  71. data/spaceship/lib/spaceship/.DS_Store +0 -0
  72. data/spaceship/lib/spaceship/client.rb +13 -4
  73. data/spaceship/lib/spaceship/connect_api.rb +25 -2
  74. data/spaceship/lib/spaceship/connect_api/client.rb +97 -31
  75. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +66 -0
  76. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  77. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +113 -0
  78. data/spaceship/lib/spaceship/connect_api/models/app.rb +117 -3
  79. data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
  80. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +66 -0
  81. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +38 -0
  82. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +77 -0
  83. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +71 -0
  84. data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
  85. data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
  86. data/spaceship/lib/spaceship/connect_api/models/app_review_attachment.rb +81 -0
  87. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +97 -0
  88. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +101 -0
  89. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +51 -0
  90. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +182 -0
  91. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +86 -0
  92. data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +36 -0
  93. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +26 -0
  94. data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
  95. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +40 -0
  96. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +26 -0
  97. data/spaceship/lib/spaceship/connect_api/models/territory.rb +27 -0
  98. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +10 -3
  99. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +33 -0
  100. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +832 -0
  101. data/spaceship/lib/spaceship/errors.rb +3 -0
  102. data/spaceship/lib/spaceship/spaceauth_runner.rb +2 -2
  103. data/supply/lib/supply/client.rb +19 -0
  104. data/supply/lib/supply/reader.rb +16 -0
  105. metadata +50 -42
  106. data/deliver/lib/deliver/upload_assets.rb +0 -27
  107. data/snapshot/lib/snapshot/.options.rb.swp +0 -0
  108. data/snapshot/lib/snapshot/.test_command_generator_base.rb.swp +0 -0
@@ -49,6 +49,7 @@ struct ControlCommand: RubyCommandable {
49
49
  }
50
50
 
51
51
  let message: String?
52
+ let id: String = UUID().uuidString
52
53
  let shutdownCommandType: ShutdownCommandType
53
54
  var commandJson: String {
54
55
  var jsonDictionary: [String: Any] = [ControlCommand.commandKey : self.shutdownCommandType.token]
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.148.0
21
+ // Generated with fastlane 2.149.1
@@ -894,7 +894,7 @@ func buildAndroidApp(task: String? = nil,
894
894
  - skipArchive: After building, don't archive, effectively not including -archivePath param
895
895
  - skipCodesigning: Build without codesigning
896
896
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
897
- - installerCertName: Full name of 3rd Party Mac Developer Installer or Deveoper ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
897
+ - installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
898
898
  - buildPath: The directory in which the archive should be stored in
899
899
  - archivePath: The path to the created archive
900
900
  - derivedDataPath: The directory where built products and other derived data will go
@@ -1171,7 +1171,7 @@ func buildIosApp(workspace: String? = nil,
1171
1171
  - skipBuildArchive: Export ipa from previously built xcarchive. Uses archive_path as source
1172
1172
  - skipArchive: After building, don't archive, effectively not including -archivePath param
1173
1173
  - skipCodesigning: Build without codesigning
1174
- - installerCertName: Full name of 3rd Party Mac Developer Installer or Deveoper ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
1174
+ - installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
1175
1175
  - buildPath: The directory in which the archive should be stored in
1176
1176
  - archivePath: The path to the created archive
1177
1177
  - derivedDataPath: The directory where built products and other derived data will go
@@ -1448,6 +1448,7 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1448
1448
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
1449
1449
  - addPhotos: A list of photos that should be added to the simulator before running the application
1450
1450
  - addVideos: A list of videos that should be added to the simulator before running the application
1451
+ - htmlTemplate: A path to screenshots.html template
1451
1452
  - buildlogPath: The directory where to store the build log
1452
1453
  - clean: Should the project be cleaned before building it?
1453
1454
  - testWithoutBuilding: Test without building, requires a derived data path
@@ -1467,6 +1468,7 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1467
1468
  - testplan: The testplan associated with the scheme that should be used for testing
1468
1469
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
1469
1470
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
1471
+ - disableXcpretty: Disable xcpretty formatting of build
1470
1472
  */
1471
1473
  func captureIosScreenshots(workspace: String? = nil,
1472
1474
  project: String? = nil,
@@ -1489,6 +1491,7 @@ func captureIosScreenshots(workspace: String? = nil,
1489
1491
  appIdentifier: String? = nil,
1490
1492
  addPhotos: [String]? = nil,
1491
1493
  addVideos: [String]? = nil,
1494
+ htmlTemplate: String? = nil,
1492
1495
  buildlogPath: String = "~/Library/Logs/snapshot",
1493
1496
  clean: Bool = false,
1494
1497
  testWithoutBuilding: Bool? = nil,
@@ -1507,7 +1510,8 @@ func captureIosScreenshots(workspace: String? = nil,
1507
1510
  clonedSourcePackagesPath: String? = nil,
1508
1511
  testplan: String? = nil,
1509
1512
  onlyTesting: Any? = nil,
1510
- skipTesting: Any? = nil) {
1513
+ skipTesting: Any? = nil,
1514
+ disableXcpretty: Bool? = nil) {
1511
1515
  let command = RubyCommand(commandID: "", methodName: "capture_ios_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1512
1516
  RubyCommand.Argument(name: "project", value: project),
1513
1517
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -1529,6 +1533,7 @@ func captureIosScreenshots(workspace: String? = nil,
1529
1533
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
1530
1534
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
1531
1535
  RubyCommand.Argument(name: "add_videos", value: addVideos),
1536
+ RubyCommand.Argument(name: "html_template", value: htmlTemplate),
1532
1537
  RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
1533
1538
  RubyCommand.Argument(name: "clean", value: clean),
1534
1539
  RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
@@ -1547,7 +1552,8 @@ func captureIosScreenshots(workspace: String? = nil,
1547
1552
  RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
1548
1553
  RubyCommand.Argument(name: "testplan", value: testplan),
1549
1554
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
1550
- RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
1555
+ RubyCommand.Argument(name: "skip_testing", value: skipTesting),
1556
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
1551
1557
  _ = runner.executeCommand(command)
1552
1558
  }
1553
1559
 
@@ -1576,6 +1582,7 @@ func captureIosScreenshots(workspace: String? = nil,
1576
1582
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
1577
1583
  - addPhotos: A list of photos that should be added to the simulator before running the application
1578
1584
  - addVideos: A list of videos that should be added to the simulator before running the application
1585
+ - htmlTemplate: A path to screenshots.html template
1579
1586
  - buildlogPath: The directory where to store the build log
1580
1587
  - clean: Should the project be cleaned before building it?
1581
1588
  - testWithoutBuilding: Test without building, requires a derived data path
@@ -1595,6 +1602,7 @@ func captureIosScreenshots(workspace: String? = nil,
1595
1602
  - testplan: The testplan associated with the scheme that should be used for testing
1596
1603
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
1597
1604
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
1605
+ - disableXcpretty: Disable xcpretty formatting of build
1598
1606
  */
1599
1607
  func captureScreenshots(workspace: String? = nil,
1600
1608
  project: String? = nil,
@@ -1617,6 +1625,7 @@ func captureScreenshots(workspace: String? = nil,
1617
1625
  appIdentifier: String? = nil,
1618
1626
  addPhotos: [String]? = nil,
1619
1627
  addVideos: [String]? = nil,
1628
+ htmlTemplate: String? = nil,
1620
1629
  buildlogPath: String = "~/Library/Logs/snapshot",
1621
1630
  clean: Bool = false,
1622
1631
  testWithoutBuilding: Bool? = nil,
@@ -1635,7 +1644,8 @@ func captureScreenshots(workspace: String? = nil,
1635
1644
  clonedSourcePackagesPath: String? = nil,
1636
1645
  testplan: String? = nil,
1637
1646
  onlyTesting: Any? = nil,
1638
- skipTesting: Any? = nil) {
1647
+ skipTesting: Any? = nil,
1648
+ disableXcpretty: Bool? = nil) {
1639
1649
  let command = RubyCommand(commandID: "", methodName: "capture_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
1640
1650
  RubyCommand.Argument(name: "project", value: project),
1641
1651
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -1657,6 +1667,7 @@ func captureScreenshots(workspace: String? = nil,
1657
1667
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
1658
1668
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
1659
1669
  RubyCommand.Argument(name: "add_videos", value: addVideos),
1670
+ RubyCommand.Argument(name: "html_template", value: htmlTemplate),
1660
1671
  RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
1661
1672
  RubyCommand.Argument(name: "clean", value: clean),
1662
1673
  RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
@@ -1675,7 +1686,8 @@ func captureScreenshots(workspace: String? = nil,
1675
1686
  RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
1676
1687
  RubyCommand.Argument(name: "testplan", value: testplan),
1677
1688
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
1678
- RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
1689
+ RubyCommand.Argument(name: "skip_testing", value: skipTesting),
1690
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
1679
1691
  _ = runner.executeCommand(command)
1680
1692
  }
1681
1693
 
@@ -2027,7 +2039,7 @@ func cocoapods(repoUpdate: Bool = false,
2027
2039
  ansi: Bool = true,
2028
2040
  useBundleExec: Bool = true,
2029
2041
  podfile: String? = nil,
2030
- errorCallback: Any? = nil,
2042
+ errorCallback: ((String) -> Void)? = nil,
2031
2043
  tryRepoUpdateOnError: Bool = false,
2032
2044
  deployment: Bool = false,
2033
2045
  clean: Bool = true,
@@ -2039,7 +2051,7 @@ func cocoapods(repoUpdate: Bool = false,
2039
2051
  RubyCommand.Argument(name: "ansi", value: ansi),
2040
2052
  RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
2041
2053
  RubyCommand.Argument(name: "podfile", value: podfile),
2042
- RubyCommand.Argument(name: "error_callback", value: errorCallback),
2054
+ RubyCommand.Argument(name: "error_callback", value: errorCallback, type: .stringClosure),
2043
2055
  RubyCommand.Argument(name: "try_repo_update_on_error", value: tryRepoUpdateOnError),
2044
2056
  RubyCommand.Argument(name: "deployment", value: deployment),
2045
2057
  RubyCommand.Argument(name: "clean", value: clean),
@@ -3042,7 +3054,7 @@ func frameScreenshots(white: Bool? = nil,
3042
3054
  useLegacyIphonexr: Bool = false,
3043
3055
  useLegacyIphonexs: Bool = false,
3044
3056
  useLegacyIphonexsmax: Bool = false,
3045
- forceOrientationBlock: String? = nil,
3057
+ forceOrientationBlock: ((String) -> Void)? = nil,
3046
3058
  debugMode: Bool = false,
3047
3059
  resume: Bool = false,
3048
3060
  usePlatform: String = "IOS",
@@ -3059,7 +3071,7 @@ func frameScreenshots(white: Bool? = nil,
3059
3071
  RubyCommand.Argument(name: "use_legacy_iphonexr", value: useLegacyIphonexr),
3060
3072
  RubyCommand.Argument(name: "use_legacy_iphonexs", value: useLegacyIphonexs),
3061
3073
  RubyCommand.Argument(name: "use_legacy_iphonexsmax", value: useLegacyIphonexsmax),
3062
- RubyCommand.Argument(name: "force_orientation_block", value: forceOrientationBlock),
3074
+ RubyCommand.Argument(name: "force_orientation_block", value: forceOrientationBlock, type: .stringClosure),
3063
3075
  RubyCommand.Argument(name: "debug_mode", value: debugMode),
3064
3076
  RubyCommand.Argument(name: "resume", value: resume),
3065
3077
  RubyCommand.Argument(name: "use_platform", value: usePlatform),
@@ -3104,7 +3116,7 @@ func frameit(white: Bool? = nil,
3104
3116
  useLegacyIphonexr: Bool = false,
3105
3117
  useLegacyIphonexs: Bool = false,
3106
3118
  useLegacyIphonexsmax: Bool = false,
3107
- forceOrientationBlock: String? = nil,
3119
+ forceOrientationBlock: ((String) -> Void)? = nil,
3108
3120
  debugMode: Bool = false,
3109
3121
  resume: Bool = false,
3110
3122
  usePlatform: String = "IOS",
@@ -3121,7 +3133,7 @@ func frameit(white: Bool? = nil,
3121
3133
  RubyCommand.Argument(name: "use_legacy_iphonexr", value: useLegacyIphonexr),
3122
3134
  RubyCommand.Argument(name: "use_legacy_iphonexs", value: useLegacyIphonexs),
3123
3135
  RubyCommand.Argument(name: "use_legacy_iphonexsmax", value: useLegacyIphonexsmax),
3124
- RubyCommand.Argument(name: "force_orientation_block", value: forceOrientationBlock),
3136
+ RubyCommand.Argument(name: "force_orientation_block", value: forceOrientationBlock, type: .stringClosure),
3125
3137
  RubyCommand.Argument(name: "debug_mode", value: debugMode),
3126
3138
  RubyCommand.Argument(name: "resume", value: resume),
3127
3139
  RubyCommand.Argument(name: "use_platform", value: usePlatform),
@@ -3627,6 +3639,42 @@ func githubApi(serverUrl: String = "https://api.github.com",
3627
3639
  _ = runner.executeCommand(command)
3628
3640
  }
3629
3641
 
3642
+ /**
3643
+ Retrieves release names for a Google Play track
3644
+
3645
+ - parameters:
3646
+ - packageName: The package name of the application to use
3647
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
3648
+ - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
3649
+ - issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
3650
+ - jsonKey: The path to a file containing service account JSON, used to authenticate with Google
3651
+ - jsonKeyData: The raw service account JSON data used to authenticate with Google
3652
+ - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
3653
+ - timeout: Timeout for read, open, and send (in seconds)
3654
+
3655
+ - returns: Array of strings representing the release names for the given Google Play track
3656
+
3657
+ More information: [https://docs.fastlane.tools/actions/supply/](https://docs.fastlane.tools/actions/supply/)
3658
+ */
3659
+ func googlePlayTrackReleaseNames(packageName: String,
3660
+ track: String = "production",
3661
+ key: String? = nil,
3662
+ issuer: String? = nil,
3663
+ jsonKey: String? = nil,
3664
+ jsonKeyData: String? = nil,
3665
+ rootUrl: String? = nil,
3666
+ timeout: Int = 300) {
3667
+ let command = RubyCommand(commandID: "", methodName: "google_play_track_release_names", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
3668
+ RubyCommand.Argument(name: "track", value: track),
3669
+ RubyCommand.Argument(name: "key", value: key),
3670
+ RubyCommand.Argument(name: "issuer", value: issuer),
3671
+ RubyCommand.Argument(name: "json_key", value: jsonKey),
3672
+ RubyCommand.Argument(name: "json_key_data", value: jsonKeyData),
3673
+ RubyCommand.Argument(name: "root_url", value: rootUrl),
3674
+ RubyCommand.Argument(name: "timeout", value: timeout)])
3675
+ _ = runner.executeCommand(command)
3676
+ }
3677
+
3630
3678
  /**
3631
3679
  Retrieves version codes for a Google Play track
3632
3680
 
@@ -3735,7 +3783,7 @@ func gradle(task: String? = nil,
3735
3783
  - skipArchive: After building, don't archive, effectively not including -archivePath param
3736
3784
  - skipCodesigning: Build without codesigning
3737
3785
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
3738
- - installerCertName: Full name of 3rd Party Mac Developer Installer or Deveoper ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
3786
+ - installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
3739
3787
  - buildPath: The directory in which the archive should be stored in
3740
3788
  - archivePath: The path to the created archive
3741
3789
  - derivedDataPath: The directory where built products and other derived data will go
@@ -5801,7 +5849,7 @@ func runTests(workspace: String? = nil,
5801
5849
  slackMessage: String? = nil,
5802
5850
  slackUseWebhookConfiguredUsernameAndIcon: Bool = false,
5803
5851
  slackUsername: String = "fastlane",
5804
- slackIconUrl: String = "https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png",
5852
+ slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
5805
5853
  skipSlack: Bool = false,
5806
5854
  slackOnlyOnFailure: Bool = false,
5807
5855
  destination: Any? = nil,
@@ -6508,10 +6556,10 @@ func setupTravis(force: Bool = false) {
6508
6556
  */
6509
6557
  @discardableResult func sh(command: String,
6510
6558
  log: Bool = true,
6511
- errorCallback: Any? = nil) -> String {
6559
+ errorCallback: ((String) -> Void)? = nil) -> String {
6512
6560
  let command = RubyCommand(commandID: "", methodName: "sh", className: nil, args: [RubyCommand.Argument(name: "command", value: command),
6513
6561
  RubyCommand.Argument(name: "log", value: log),
6514
- RubyCommand.Argument(name: "error_callback", value: errorCallback)])
6562
+ RubyCommand.Argument(name: "error_callback", value: errorCallback, type: .stringClosure)])
6515
6563
  return runner.executeCommand(command)
6516
6564
  }
6517
6565
 
@@ -6626,7 +6674,7 @@ func slack(message: String? = nil,
6626
6674
  useWebhookConfiguredUsernameAndIcon: Bool = false,
6627
6675
  slackUrl: String,
6628
6676
  username: String = "fastlane",
6629
- iconUrl: String = "https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png",
6677
+ iconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
6630
6678
  payload: [String : Any] = [:],
6631
6679
  defaultPayloads: [String]? = nil,
6632
6680
  attachmentProperties: [String : Any] = [:],
@@ -6707,6 +6755,7 @@ func slackTrainStart(distance: Int = 5,
6707
6755
  - simpleOutput: Tell slather that it should output results to the terminal
6708
6756
  - gutterJson: Tell slather that it should output results as Gutter JSON format
6709
6757
  - coberturaXml: Tell slather that it should output results as Cobertura XML format
6758
+ - sonarqubeXml: Tell slather that it should output results as SonarQube Generic XML format
6710
6759
  - llvmCov: Tell slather that it should output results as llvm-cov show format
6711
6760
  - html: Tell slather that it should output results as static HTML pages
6712
6761
  - show: Tell slather that it should open static html pages automatically
@@ -6740,6 +6789,7 @@ func slather(buildDirectory: String? = nil,
6740
6789
  simpleOutput: Bool? = nil,
6741
6790
  gutterJson: Bool? = nil,
6742
6791
  coberturaXml: Bool? = nil,
6792
+ sonarqubeXml: Bool? = nil,
6743
6793
  llvmCov: Any? = nil,
6744
6794
  html: Bool? = nil,
6745
6795
  show: Bool = false,
@@ -6769,6 +6819,7 @@ func slather(buildDirectory: String? = nil,
6769
6819
  RubyCommand.Argument(name: "simple_output", value: simpleOutput),
6770
6820
  RubyCommand.Argument(name: "gutter_json", value: gutterJson),
6771
6821
  RubyCommand.Argument(name: "cobertura_xml", value: coberturaXml),
6822
+ RubyCommand.Argument(name: "sonarqube_xml", value: sonarqubeXml),
6772
6823
  RubyCommand.Argument(name: "llvm_cov", value: llvmCov),
6773
6824
  RubyCommand.Argument(name: "html", value: html),
6774
6825
  RubyCommand.Argument(name: "show", value: show),
@@ -6810,6 +6861,7 @@ func slather(buildDirectory: String? = nil,
6810
6861
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
6811
6862
  - addPhotos: A list of photos that should be added to the simulator before running the application
6812
6863
  - addVideos: A list of videos that should be added to the simulator before running the application
6864
+ - htmlTemplate: A path to screenshots.html template
6813
6865
  - buildlogPath: The directory where to store the build log
6814
6866
  - clean: Should the project be cleaned before building it?
6815
6867
  - testWithoutBuilding: Test without building, requires a derived data path
@@ -6829,6 +6881,7 @@ func slather(buildDirectory: String? = nil,
6829
6881
  - testplan: The testplan associated with the scheme that should be used for testing
6830
6882
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
6831
6883
  - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
6884
+ - disableXcpretty: Disable xcpretty formatting of build
6832
6885
  */
6833
6886
  func snapshot(workspace: Any? = snapshotfile.workspace,
6834
6887
  project: Any? = snapshotfile.project,
@@ -6851,6 +6904,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6851
6904
  appIdentifier: Any? = snapshotfile.appIdentifier,
6852
6905
  addPhotos: [String]? = snapshotfile.addPhotos,
6853
6906
  addVideos: [String]? = snapshotfile.addVideos,
6907
+ htmlTemplate: Any? = snapshotfile.htmlTemplate,
6854
6908
  buildlogPath: Any = snapshotfile.buildlogPath,
6855
6909
  clean: Bool = snapshotfile.clean,
6856
6910
  testWithoutBuilding: Bool? = snapshotfile.testWithoutBuilding,
@@ -6869,7 +6923,8 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6869
6923
  clonedSourcePackagesPath: Any? = snapshotfile.clonedSourcePackagesPath,
6870
6924
  testplan: Any? = snapshotfile.testplan,
6871
6925
  onlyTesting: Any? = snapshotfile.onlyTesting,
6872
- skipTesting: Any? = snapshotfile.skipTesting) {
6926
+ skipTesting: Any? = snapshotfile.skipTesting,
6927
+ disableXcpretty: Bool? = snapshotfile.disableXcpretty) {
6873
6928
  let command = RubyCommand(commandID: "", methodName: "snapshot", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
6874
6929
  RubyCommand.Argument(name: "project", value: project),
6875
6930
  RubyCommand.Argument(name: "xcargs", value: xcargs),
@@ -6891,6 +6946,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6891
6946
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
6892
6947
  RubyCommand.Argument(name: "add_photos", value: addPhotos),
6893
6948
  RubyCommand.Argument(name: "add_videos", value: addVideos),
6949
+ RubyCommand.Argument(name: "html_template", value: htmlTemplate),
6894
6950
  RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
6895
6951
  RubyCommand.Argument(name: "clean", value: clean),
6896
6952
  RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
@@ -6909,7 +6965,8 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6909
6965
  RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
6910
6966
  RubyCommand.Argument(name: "testplan", value: testplan),
6911
6967
  RubyCommand.Argument(name: "only_testing", value: onlyTesting),
6912
- RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
6968
+ RubyCommand.Argument(name: "skip_testing", value: skipTesting),
6969
+ RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
6913
6970
  _ = runner.executeCommand(command)
6914
6971
  }
6915
6972
 
@@ -8742,7 +8799,7 @@ func xcov(workspace: String? = nil,
8742
8799
  htmlReport: Bool = true,
8743
8800
  markdownReport: Bool = false,
8744
8801
  jsonReport: Bool = false,
8745
- minimumCoveragePercentage: Int = 0,
8802
+ minimumCoveragePercentage: Float = 0,
8746
8803
  slackUrl: String? = nil,
8747
8804
  slackChannel: String? = nil,
8748
8805
  skipSlack: Bool = false,
@@ -8758,7 +8815,7 @@ func xcov(workspace: String? = nil,
8758
8815
  coverallsServiceJobId: String? = nil,
8759
8816
  coverallsRepoToken: String? = nil,
8760
8817
  xcconfig: String? = nil,
8761
- ideFoundationPath: String = "/Applications/Xcode-11.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8818
+ ideFoundationPath: String = "/Applications/Xcode-11.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8762
8819
  legacySupport: Bool = false) {
8763
8820
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
8764
8821
  RubyCommand.Argument(name: "project", value: project),
@@ -8903,4 +8960,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
8903
8960
 
8904
8961
  // Please don't remove the lines below
8905
8962
  // They are used to detect outdated files
8906
- // FastlaneRunnerAPIVersion [0.9.76]
8963
+ // FastlaneRunnerAPIVersion [0.9.71]
@@ -26,10 +26,7 @@
26
26
  buildConfiguration = "Debug"
27
27
  selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
28
  selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
- language = ""
30
29
  shouldUseLaunchSchemeArgsEnv = "YES">
31
- <Testables>
32
- </Testables>
33
30
  <MacroExpansion>
34
31
  <BuildableReference
35
32
  BuildableIdentifier = "primary"
@@ -39,14 +36,13 @@
39
36
  ReferencedContainer = "container:FastlaneSwiftRunner.xcodeproj">
40
37
  </BuildableReference>
41
38
  </MacroExpansion>
42
- <AdditionalOptions>
43
- </AdditionalOptions>
39
+ <Testables>
40
+ </Testables>
44
41
  </TestAction>
45
42
  <LaunchAction
46
43
  buildConfiguration = "Debug"
47
44
  selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
48
45
  selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
49
- language = ""
50
46
  launchStyle = "0"
51
47
  useCustomWorkingDirectory = "NO"
52
48
  ignoresPersistentStateOnLaunch = "NO"
@@ -65,7 +61,7 @@
65
61
  </BuildableProductRunnable>
66
62
  <CommandLineArguments>
67
63
  <CommandLineArgument
68
- argument = "lane test"
64
+ argument = "lane testLane"
69
65
  isEnabled = "YES">
70
66
  </CommandLineArgument>
71
67
  <CommandLineArgument
@@ -73,8 +69,6 @@
73
69
  isEnabled = "YES">
74
70
  </CommandLineArgument>
75
71
  </CommandLineArguments>
76
- <AdditionalOptions>
77
- </AdditionalOptions>
78
72
  </LaunchAction>
79
73
  <ProfileAction
80
74
  buildConfiguration = "Release"
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.148.0
21
+ // Generated with fastlane 2.149.1
@@ -60,7 +60,7 @@ protocol GymfileProtocol: class {
60
60
  /// Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
61
61
  var catalystPlatform: String? { get }
62
62
 
63
- /// Full name of 3rd Party Mac Developer Installer or Deveoper ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
63
+ /// Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
64
64
  var installerCertName: String? { get }
65
65
 
66
66
  /// The directory in which the archive should be stored in
@@ -19,7 +19,6 @@ public protocol LaneFileProtocol: class {
19
19
  static func runLane(named: String, parameters: [String : String]) -> Bool
20
20
 
21
21
  func recordLaneDescriptions()
22
- func beforeAll(currentLane: String, parameters: [String : String])
23
22
  func beforeAll()
24
23
  func afterAll(currentLane: String)
25
24
  func onError(currentLane: String, errorInfo: String)
@@ -27,7 +26,6 @@ public protocol LaneFileProtocol: class {
27
26
 
28
27
  public extension LaneFileProtocol {
29
28
  var fastlaneVersion: String { return "" } // default "" because that means any is fine
30
- func beforeAll(currentLane: String, parameters: [String : String]) { } // no op by default
31
29
  func beforeAll() { } // no op by default
32
30
  func afterAll(currentLane: String) { } // no op by default
33
31
  func onError(currentLane: String, errorInfo: String) {} // no op by default
@@ -39,8 +37,7 @@ public class LaneFile: NSObject, LaneFileProtocol {
39
37
  private(set) static var fastfileInstance: Fastfile?
40
38
 
41
39
  // Called before any lane is executed.
42
- private func setupAllTheThings(lane: String, parameters: [String : String]) {
43
- LaneFile.fastfileInstance!.beforeAll(currentLane: lane, parameters: parameters)
40
+ private func setupAllTheThings() {
44
41
  LaneFile.fastfileInstance!.beforeAll()
45
42
  }
46
43
 
@@ -126,7 +123,7 @@ public class LaneFile: NSObject, LaneFileProtocol {
126
123
  }
127
124
 
128
125
  // call all methods that need to be called before we start calling lanes
129
- fastfileInstance.setupAllTheThings(lane: named, parameters: parameters)
126
+ fastfileInstance.setupAllTheThings()
130
127
 
131
128
  // We need to catch all possible errors here and display a nice message
132
129
  _ = fastfileInstance.perform(NSSelectorFromString(laneMethod), with: parameters)