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.
- checksums.yaml +4 -4
- data/README.md +86 -86
- data/deliver/lib/deliver.rb +0 -1
- data/deliver/lib/deliver/app_screenshot.rb +28 -27
- data/deliver/lib/deliver/options.rb +6 -11
- data/deliver/lib/deliver/runner.rb +7 -21
- data/deliver/lib/deliver/setup.rb +5 -30
- data/deliver/lib/deliver/submit_for_review.rb +155 -90
- data/deliver/lib/deliver/upload_metadata.rb +355 -143
- data/deliver/lib/deliver/upload_price_tier.rb +22 -8
- data/deliver/lib/deliver/upload_screenshots.rb +112 -37
- data/fastlane/lib/assets/s3_html_template.erb +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +42 -2
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +77 -96
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +3 -2
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +7 -1
- data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
- data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +23 -20
- data/fastlane/lib/fastlane/actions/slack.rb +2 -2
- data/fastlane/lib/fastlane/actions/slather.rb +8 -1
- data/fastlane/lib/fastlane/actions/spm.rb +7 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +2 -33
- data/fastlane/lib/fastlane/documentation/actions_list.rb +1 -1
- data/fastlane/lib/fastlane/lane.rb +3 -3
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +22 -5
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/ControlCommand.swift +1 -0
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +79 -22
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +3 -9
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +2 -5
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/RubyCommand.swift +29 -6
- data/fastlane/swift/RubyCommandable.swift +1 -0
- data/fastlane/swift/Runner.swift +85 -13
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +2 -2
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
- data/fastlane/swift/SocketClient.swift +76 -45
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/SocketResponse.swift +1 -0
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -3
- data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +7 -0
- data/frameit/lib/frameit/device_types.rb +100 -100
- data/gym/lib/gym/options.rb +1 -1
- data/match/lib/match/nuke.rb +21 -16
- data/match/lib/match/storage/git_storage.rb +4 -0
- data/match/lib/match/storage/google_cloud_storage.rb +4 -0
- data/match/lib/match/storage/interface.rb +4 -0
- data/match/lib/match/storage/s3_storage.rb +4 -0
- data/produce/lib/produce/itunes_connect.rb +32 -21
- data/produce/lib/produce/options.rb +3 -3
- data/scan/lib/scan/options.rb +1 -1
- data/scan/lib/scan/test_result_parser.rb +9 -2
- data/sigh/lib/assets/resign.sh +7 -7
- data/snapshot/lib/assets/SnapshotHelper.swift +5 -5
- data/snapshot/lib/assets/SnapshotHelperXcode8.swift +3 -3
- data/snapshot/lib/snapshot/options.rb +11 -1
- data/snapshot/lib/snapshot/reports_generator.rb +8 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +8 -3
- data/spaceship/lib/spaceship/.DS_Store +0 -0
- data/spaceship/lib/spaceship/client.rb +13 -4
- data/spaceship/lib/spaceship/connect_api.rb +25 -2
- data/spaceship/lib/spaceship/connect_api/client.rb +97 -31
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +66 -0
- data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +113 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +117 -3
- data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +66 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +38 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +77 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +71 -0
- data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
- data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/app_review_attachment.rb +81 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +97 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +101 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +51 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +182 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +86 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +36 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +40 -0
- data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/models/territory.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +10 -3
- data/spaceship/lib/spaceship/connect_api/tunes/client.rb +33 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +832 -0
- data/spaceship/lib/spaceship/errors.rb +3 -0
- data/spaceship/lib/spaceship/spaceauth_runner.rb +2 -2
- data/supply/lib/supply/client.rb +19 -0
- data/supply/lib/supply/reader.rb +16 -0
- metadata +50 -42
- data/deliver/lib/deliver/upload_assets.rb +0 -27
- data/snapshot/lib/snapshot/.options.rb.swp +0 -0
- 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]
|
@@ -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
|
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
|
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:
|
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
|
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://
|
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:
|
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://
|
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:
|
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.
|
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.
|
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
|
-
<
|
43
|
-
</
|
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
|
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"
|
@@ -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
|
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(
|
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(
|
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)
|