fastlane 2.133.0 → 2.136.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +78 -78
  3. data/fastlane/lib/fastlane/action.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/actions_helper.rb +1 -1
  5. data/fastlane/lib/fastlane/actions/carthage.rb +7 -0
  6. data/fastlane/lib/fastlane/actions/cocoapods.rb +24 -2
  7. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +38 -4
  9. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  10. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +4 -2
  11. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +26 -2
  12. data/fastlane/lib/fastlane/actions/download_dsyms.rb +26 -3
  13. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +1 -1
  14. data/fastlane/lib/fastlane/actions/get_version_number.rb +10 -4
  15. data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +5 -1
  16. data/fastlane/lib/fastlane/actions/sonar.rb +16 -0
  17. data/fastlane/lib/fastlane/actions/testfairy.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/update_fastlane.rb +9 -49
  19. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +94 -0
  20. data/fastlane/lib/fastlane/environment_printer.rb +9 -3
  21. data/fastlane/lib/fastlane/fast_file.rb +3 -2
  22. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  23. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +12 -2
  24. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +2 -0
  25. data/fastlane/lib/fastlane/runner.rb +2 -2
  26. data/fastlane/lib/fastlane/swift_fastlane_function.rb +9 -0
  27. data/fastlane/lib/fastlane/version.rb +1 -1
  28. data/fastlane/swift/Deliverfile.swift +1 -1
  29. data/fastlane/swift/Fastlane.swift +124 -36
  30. data/fastlane/swift/Gymfile.swift +1 -1
  31. data/fastlane/swift/Matchfile.swift +1 -1
  32. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  33. data/fastlane/swift/Precheckfile.swift +1 -1
  34. data/fastlane/swift/Scanfile.swift +1 -1
  35. data/fastlane/swift/Screengrabfile.swift +1 -1
  36. data/fastlane/swift/ScreengrabfileProtocol.swift +22 -2
  37. data/fastlane/swift/Snapshotfile.swift +1 -1
  38. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +3 -3
  39. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
  40. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  41. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  42. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
  43. data/match/lib/match/importer.rb +1 -1
  44. data/scan/lib/scan/error_handler.rb +9 -4
  45. data/scan/lib/scan/runner.rb +1 -1
  46. data/screengrab/lib/screengrab/module.rb +2 -0
  47. data/screengrab/lib/screengrab/options.rb +33 -11
  48. data/screengrab/lib/screengrab/runner.rb +64 -24
  49. data/sigh/lib/assets/resign.sh +2 -2
  50. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  51. data/spaceship/lib/spaceship/client.rb +2 -2
  52. data/supply/lib/supply.rb +23 -0
  53. data/supply/lib/supply/.uploader.rb.swp +0 -0
  54. data/supply/lib/supply/client.rb +101 -55
  55. data/supply/lib/supply/options.rb +50 -14
  56. data/supply/lib/supply/release_listing.rb +18 -0
  57. data/supply/lib/supply/setup.rb +42 -34
  58. data/supply/lib/supply/uploader.rb +191 -93
  59. metadata +32 -37
  60. data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
  61. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  62. data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
  63. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  64. data/gym/lib/gym/.runner.rb.swp +0 -0
  65. data/pilot/lib/pilot/.manager.rb.swp +0 -0
  66. data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
  67. data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
@@ -158,6 +158,8 @@ CrossPlatform/ForkUsage:
158
158
  Lint/IsStringUsage:
159
159
  Include:
160
160
  - gym/**/*
161
+ - screengrab/**/*
162
+ - supply/**/*
161
163
  Style/MethodCallWithArgsParentheses:
162
164
  Enabled: true
163
165
  IgnoredMethods:
@@ -252,13 +252,13 @@ module Fastlane
252
252
  puts(class_ref.deprecated_notes.to_s.remove_markdown.deprecated) if class_ref.deprecated_notes
253
253
  puts("==========================================\n".deprecated)
254
254
  end
255
- class_ref.runner = self # needed to call another action form an action
255
+ class_ref.runner = self # needed to call another action from an action
256
256
  return class_ref.run(arguments)
257
257
  end
258
258
  end
259
259
  rescue Interrupt => e
260
260
  raise e # reraise the interruption to avoid logging this as a crash
261
- rescue FastlaneCore::Interface::FastlaneCommonException => e # these are exceptions that we dont count as crashes
261
+ rescue FastlaneCore::Interface::FastlaneCommonException => e # these are exceptions that we don't count as crashes
262
262
  raise e
263
263
  rescue FastlaneCore::Interface::FastlaneError => e # user_error!
264
264
  action_completed(method_sym.to_s, status: FastlaneCore::ActionCompletionStatus::USER_ERROR, exception: e)
@@ -147,6 +147,7 @@ module Fastlane
147
147
  unless default_value.nil?
148
148
  if type == "[String : Any]"
149
149
  # we can't handle default values for Hashes, yet
150
+ # see method swift_default_implementations for similar behavior
150
151
  default_value = "[:]"
151
152
  elsif type != "Bool" && type != "[String]" && type != "Int" && type != "((String) -> Void)"
152
153
  default_value = "\"#{default_value}\""
@@ -343,6 +344,10 @@ module Fastlane
343
344
  unless default_value.nil?
344
345
  if type == "Bool" || type == "[String]" || type == "Int" || default_value.kind_of?(Array)
345
346
  default_value = default_value.to_s
347
+ elsif default_value.kind_of?(Hash)
348
+ # we can't handle default values for Hashes, yet
349
+ # see method parameters for similar behavior
350
+ default_value = "[:]"
346
351
  else
347
352
  default_value = "\"#{default_value}\""
348
353
  end
@@ -366,6 +371,10 @@ module Fastlane
366
371
  default_value ||= "[]"
367
372
  end
368
373
 
374
+ if type == "[String : Any]"
375
+ default_value ||= "[:]"
376
+ end
377
+
369
378
  " var #{var_for_parameter_name}: #{type} { return #{default_value} }"
370
379
  end
371
380
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.133.0'.freeze
2
+ VERSION = '2.136.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.133.0
21
+ // Generated with fastlane 2.136.0
@@ -1210,12 +1210,17 @@ func bundleInstall(binstubs: String? = nil,
1210
1210
  - launchArguments: Additional launch arguments
1211
1211
  - testInstrumentationRunner: The fully qualified class name of your test instrumentation runner
1212
1212
  - endingLocale: Return the device to this locale after running tests
1213
+ - useAdbRoot: Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
1213
1214
  - appApkPath: The path to the APK for the app under test
1214
1215
  - testsApkPath: The path to the APK for the the tests bundle
1215
1216
  - specificDevice: Use the device or emulator with the given serial number or qualifier
1216
1217
  - deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
1217
1218
  - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary
1218
1219
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
1220
+ - useTimestampSuffix: Add timestamp suffix to screenshot filename
1221
+ - adbHost: Configure the host used by adb to connect, allows running on remote devices farm
1222
+ - cleanStatusBar: Enabling this option will clean the status bar
1223
+ - cleanStatusBarConfig: Specifies the configuration for the clean status bar
1219
1224
  */
1220
1225
  func captureAndroidScreenshots(androidHome: String? = nil,
1221
1226
  buildToolsVersion: String? = nil,
@@ -1228,14 +1233,19 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1228
1233
  useTestsInPackages: [String]? = nil,
1229
1234
  useTestsInClasses: [String]? = nil,
1230
1235
  launchArguments: [String]? = nil,
1231
- testInstrumentationRunner: String = "android.support.test.runner.AndroidJUnitRunner",
1236
+ testInstrumentationRunner: String = "androidx.test.runner.AndroidJUnitRunner",
1232
1237
  endingLocale: String = "en-US",
1238
+ useAdbRoot: Bool = false,
1233
1239
  appApkPath: String? = nil,
1234
1240
  testsApkPath: String? = nil,
1235
1241
  specificDevice: String? = nil,
1236
1242
  deviceType: String = "phone",
1237
1243
  exitOnTestFailure: Bool = true,
1238
- reinstallApp: Bool = false) {
1244
+ reinstallApp: Bool = false,
1245
+ useTimestampSuffix: Bool = true,
1246
+ adbHost: String? = nil,
1247
+ cleanStatusBar: Bool = false,
1248
+ cleanStatusBarConfig: [String : Any] = [:]) {
1239
1249
  let command = RubyCommand(commandID: "", methodName: "capture_android_screenshots", className: nil, args: [RubyCommand.Argument(name: "android_home", value: androidHome),
1240
1250
  RubyCommand.Argument(name: "build_tools_version", value: buildToolsVersion),
1241
1251
  RubyCommand.Argument(name: "locales", value: locales),
@@ -1249,12 +1259,17 @@ func captureAndroidScreenshots(androidHome: String? = nil,
1249
1259
  RubyCommand.Argument(name: "launch_arguments", value: launchArguments),
1250
1260
  RubyCommand.Argument(name: "test_instrumentation_runner", value: testInstrumentationRunner),
1251
1261
  RubyCommand.Argument(name: "ending_locale", value: endingLocale),
1262
+ RubyCommand.Argument(name: "use_adb_root", value: useAdbRoot),
1252
1263
  RubyCommand.Argument(name: "app_apk_path", value: appApkPath),
1253
1264
  RubyCommand.Argument(name: "tests_apk_path", value: testsApkPath),
1254
1265
  RubyCommand.Argument(name: "specific_device", value: specificDevice),
1255
1266
  RubyCommand.Argument(name: "device_type", value: deviceType),
1256
1267
  RubyCommand.Argument(name: "exit_on_test_failure", value: exitOnTestFailure),
1257
- RubyCommand.Argument(name: "reinstall_app", value: reinstallApp)])
1268
+ RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
1269
+ RubyCommand.Argument(name: "use_timestamp_suffix", value: useTimestampSuffix),
1270
+ RubyCommand.Argument(name: "adb_host", value: adbHost),
1271
+ RubyCommand.Argument(name: "clean_status_bar", value: cleanStatusBar),
1272
+ RubyCommand.Argument(name: "clean_status_bar_config", value: cleanStatusBarConfig)])
1258
1273
  _ = runner.executeCommand(command)
1259
1274
  }
1260
1275
 
@@ -1487,6 +1502,7 @@ func captureScreenshots(workspace: String? = nil,
1487
1502
  - useSsh: Use SSH for downloading GitHub repositories
1488
1503
  - useSubmodules: Add dependencies as Git submodules
1489
1504
  - useBinaries: Check out dependency repositories even when prebuilt frameworks exist
1505
+ - noCheckout: When bootstrapping Carthage do not checkout
1490
1506
  - noBuild: When bootstrapping Carthage do not build
1491
1507
  - noSkipCurrent: Don't skip building the Carthage project (in addition to its dependencies)
1492
1508
  - derivedData: Use derived data folder at path
@@ -1507,6 +1523,7 @@ func carthage(command: String = "bootstrap",
1507
1523
  useSsh: Bool? = nil,
1508
1524
  useSubmodules: Bool? = nil,
1509
1525
  useBinaries: Bool? = nil,
1526
+ noCheckout: Bool? = nil,
1510
1527
  noBuild: Bool? = nil,
1511
1528
  noSkipCurrent: Bool? = nil,
1512
1529
  derivedData: String? = nil,
@@ -1526,6 +1543,7 @@ func carthage(command: String = "bootstrap",
1526
1543
  RubyCommand.Argument(name: "use_ssh", value: useSsh),
1527
1544
  RubyCommand.Argument(name: "use_submodules", value: useSubmodules),
1528
1545
  RubyCommand.Argument(name: "use_binaries", value: useBinaries),
1546
+ RubyCommand.Argument(name: "no_checkout", value: noCheckout),
1529
1547
  RubyCommand.Argument(name: "no_build", value: noBuild),
1530
1548
  RubyCommand.Argument(name: "no_skip_current", value: noSkipCurrent),
1531
1549
  RubyCommand.Argument(name: "derived_data", value: derivedData),
@@ -1564,7 +1582,7 @@ func carthage(command: String = "bootstrap",
1564
1582
  */
1565
1583
  func cert(development: Bool = false,
1566
1584
  force: Bool = false,
1567
- generateAppleCerts: Bool = true,
1585
+ generateAppleCerts: Bool = false,
1568
1586
  username: String,
1569
1587
  teamId: String? = nil,
1570
1588
  teamName: String? = nil,
@@ -1799,6 +1817,7 @@ func clubmate() {
1799
1817
 
1800
1818
  - parameters:
1801
1819
  - repoUpdate: Add `--repo-update` flag to `pod install` command
1820
+ - cleanInstall: Execute a full pod installation ignoring the content of the project cache
1802
1821
  - silent: Execute command without logging output
1803
1822
  - verbose: Show more debugging information
1804
1823
  - ansi: Show output with ANSI codes
@@ -1806,12 +1825,14 @@ func clubmate() {
1806
1825
  - podfile: Explicitly specify the path to the Cocoapods' Podfile. You can either set it to the Podfile's path or to the folder containing the Podfile file
1807
1826
  - errorCallback: A callback invoked with the command output if there is a non-zero exit status
1808
1827
  - tryRepoUpdateOnError: Retry with --repo-update if action was finished with error
1809
- - clean: **DEPRECATED!** (Option removed from cocoapods) Remove SCM directories
1828
+ - deployment: Disallow any changes to the Podfile or the Podfile.lock during installation
1829
+ - clean: **DEPRECATED!** (Option renamed as clean_install) Remove SCM directories
1810
1830
  - integrate: **DEPRECATED!** (Option removed from cocoapods) Integrate the Pods libraries into the Xcode project(s)
1811
1831
 
1812
1832
  If you use [CocoaPods](http://cocoapods.org) you can use the `cocoapods` integration to run `pod install` before building your app.
1813
1833
  */
1814
1834
  func cocoapods(repoUpdate: Bool = false,
1835
+ cleanInstall: Bool = false,
1815
1836
  silent: Bool = false,
1816
1837
  verbose: Bool = false,
1817
1838
  ansi: Bool = true,
@@ -1819,9 +1840,11 @@ func cocoapods(repoUpdate: Bool = false,
1819
1840
  podfile: String? = nil,
1820
1841
  errorCallback: Any? = nil,
1821
1842
  tryRepoUpdateOnError: Bool = false,
1843
+ deployment: Bool = false,
1822
1844
  clean: Bool = true,
1823
1845
  integrate: Bool = true) {
1824
1846
  let command = RubyCommand(commandID: "", methodName: "cocoapods", className: nil, args: [RubyCommand.Argument(name: "repo_update", value: repoUpdate),
1847
+ RubyCommand.Argument(name: "clean_install", value: cleanInstall),
1825
1848
  RubyCommand.Argument(name: "silent", value: silent),
1826
1849
  RubyCommand.Argument(name: "verbose", value: verbose),
1827
1850
  RubyCommand.Argument(name: "ansi", value: ansi),
@@ -1829,6 +1852,7 @@ func cocoapods(repoUpdate: Bool = false,
1829
1852
  RubyCommand.Argument(name: "podfile", value: podfile),
1830
1853
  RubyCommand.Argument(name: "error_callback", value: errorCallback),
1831
1854
  RubyCommand.Argument(name: "try_repo_update_on_error", value: tryRepoUpdateOnError),
1855
+ RubyCommand.Argument(name: "deployment", value: deployment),
1832
1856
  RubyCommand.Argument(name: "clean", value: clean),
1833
1857
  RubyCommand.Argument(name: "integrate", value: integrate)])
1834
1858
  _ = runner.executeCommand(command)
@@ -2496,11 +2520,12 @@ func download(url: String) {
2496
2520
  - teamId: The ID of your App Store Connect team if you're in multiple teams
2497
2521
  - teamName: The name of your App Store Connect team if you're in multiple teams
2498
2522
  - platform: The app platform for dSYMs you wish to download (ios, appletvos)
2499
- - version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs
2523
+ - version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
2500
2524
  - buildNumber: The app build_number for dSYMs you wish to download
2501
2525
  - minVersion: The minimum app version for dSYMs you wish to download
2502
2526
  - outputDirectory: Where to save the download dSYMs, defaults to the current path
2503
2527
  - waitForDsymProcessing: Wait for dSYMs to process
2528
+ - waitTimeout: Number of seconds to wait for dSYMs to process
2504
2529
 
2505
2530
  This action downloads dSYM files from App Store Connect after the ipa gets re-compiled by Apple. Useful if you have Bitcode enabled.|
2506
2531
  |
@@ -2522,7 +2547,8 @@ func downloadDsyms(username: String,
2522
2547
  buildNumber: String? = nil,
2523
2548
  minVersion: String? = nil,
2524
2549
  outputDirectory: String? = nil,
2525
- waitForDsymProcessing: Bool = false) {
2550
+ waitForDsymProcessing: Bool = false,
2551
+ waitTimeout: Int = 300) {
2526
2552
  let command = RubyCommand(commandID: "", methodName: "download_dsyms", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
2527
2553
  RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
2528
2554
  RubyCommand.Argument(name: "team_id", value: teamId),
@@ -2532,7 +2558,8 @@ func downloadDsyms(username: String,
2532
2558
  RubyCommand.Argument(name: "build_number", value: buildNumber),
2533
2559
  RubyCommand.Argument(name: "min_version", value: minVersion),
2534
2560
  RubyCommand.Argument(name: "output_directory", value: outputDirectory),
2535
- RubyCommand.Argument(name: "wait_for_dsym_processing", value: waitForDsymProcessing)])
2561
+ RubyCommand.Argument(name: "wait_for_dsym_processing", value: waitForDsymProcessing),
2562
+ RubyCommand.Argument(name: "wait_timeout", value: waitTimeout)])
2536
2563
  _ = runner.executeCommand(command)
2537
2564
  }
2538
2565
 
@@ -2541,6 +2568,8 @@ func downloadDsyms(username: String,
2541
2568
 
2542
2569
  - parameters:
2543
2570
  - packageName: The package name of the application to use
2571
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
2572
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
2544
2573
  - metadataPath: Path to the directory containing the metadata files
2545
2574
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
2546
2575
  - issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
@@ -2552,7 +2581,9 @@ func downloadDsyms(username: String,
2552
2581
  More information: https://docs.fastlane.tools/actions/download_from_play_store/
2553
2582
  */
2554
2583
  func downloadFromPlayStore(packageName: String,
2555
- metadataPath: String = "./metadata",
2584
+ versionName: String? = nil,
2585
+ track: String = "production",
2586
+ metadataPath: String? = nil,
2556
2587
  key: String? = nil,
2557
2588
  issuer: String? = nil,
2558
2589
  jsonKey: String? = nil,
@@ -2560,6 +2591,8 @@ func downloadFromPlayStore(packageName: String,
2560
2591
  rootUrl: String? = nil,
2561
2592
  timeout: Int = 300) {
2562
2593
  let command = RubyCommand(commandID: "", methodName: "download_from_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
2594
+ RubyCommand.Argument(name: "version_name", value: versionName),
2595
+ RubyCommand.Argument(name: "track", value: track),
2563
2596
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
2564
2597
  RubyCommand.Argument(name: "key", value: key),
2565
2598
  RubyCommand.Argument(name: "issuer", value: issuer),
@@ -2921,7 +2954,7 @@ func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
2921
2954
  */
2922
2955
  func getCertificates(development: Bool = false,
2923
2956
  force: Bool = false,
2924
- generateAppleCerts: Bool = true,
2957
+ generateAppleCerts: Bool = false,
2925
2958
  username: String,
2926
2959
  teamId: String? = nil,
2927
2960
  teamName: String? = nil,
@@ -3354,7 +3387,7 @@ func githubApi(serverUrl: String = "https://api.github.com",
3354
3387
 
3355
3388
  - parameters:
3356
3389
  - packageName: The package name of the application to use
3357
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
3390
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
3358
3391
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
3359
3392
  - issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
3360
3393
  - jsonKey: The path to a file containing service account JSON, used to authenticate with Google
@@ -5773,12 +5806,17 @@ func scp(username: String,
5773
5806
  - launchArguments: Additional launch arguments
5774
5807
  - testInstrumentationRunner: The fully qualified class name of your test instrumentation runner
5775
5808
  - endingLocale: Return the device to this locale after running tests
5809
+ - useAdbRoot: Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
5776
5810
  - appApkPath: The path to the APK for the app under test
5777
5811
  - testsApkPath: The path to the APK for the the tests bundle
5778
5812
  - specificDevice: Use the device or emulator with the given serial number or qualifier
5779
5813
  - deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
5780
5814
  - exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy sceenshots to local machine nor open sceenshots summary
5781
5815
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
5816
+ - useTimestampSuffix: Add timestamp suffix to screenshot filename
5817
+ - adbHost: Configure the host used by adb to connect, allows running on remote devices farm
5818
+ - cleanStatusBar: Enabling this option will clean the status bar
5819
+ - cleanStatusBarConfig: Specifies the configuration for the clean status bar
5782
5820
  */
5783
5821
  func screengrab(androidHome: Any? = screengrabfile.androidHome,
5784
5822
  buildToolsVersion: Any? = screengrabfile.buildToolsVersion,
@@ -5793,12 +5831,17 @@ func screengrab(androidHome: Any? = screengrabfile.androidHome,
5793
5831
  launchArguments: [String]? = screengrabfile.launchArguments,
5794
5832
  testInstrumentationRunner: Any = screengrabfile.testInstrumentationRunner,
5795
5833
  endingLocale: Any = screengrabfile.endingLocale,
5834
+ useAdbRoot: Bool = screengrabfile.useAdbRoot,
5796
5835
  appApkPath: Any? = screengrabfile.appApkPath,
5797
5836
  testsApkPath: Any? = screengrabfile.testsApkPath,
5798
5837
  specificDevice: Any? = screengrabfile.specificDevice,
5799
5838
  deviceType: Any = screengrabfile.deviceType,
5800
5839
  exitOnTestFailure: Bool = screengrabfile.exitOnTestFailure,
5801
- reinstallApp: Bool = screengrabfile.reinstallApp) {
5840
+ reinstallApp: Bool = screengrabfile.reinstallApp,
5841
+ useTimestampSuffix: Bool = screengrabfile.useTimestampSuffix,
5842
+ adbHost: Any? = screengrabfile.adbHost,
5843
+ cleanStatusBar: Bool = screengrabfile.cleanStatusBar,
5844
+ cleanStatusBarConfig: [String : Any] = screengrabfile.cleanStatusBarConfig) {
5802
5845
  let command = RubyCommand(commandID: "", methodName: "screengrab", className: nil, args: [RubyCommand.Argument(name: "android_home", value: androidHome),
5803
5846
  RubyCommand.Argument(name: "build_tools_version", value: buildToolsVersion),
5804
5847
  RubyCommand.Argument(name: "locales", value: locales),
@@ -5812,12 +5855,17 @@ func screengrab(androidHome: Any? = screengrabfile.androidHome,
5812
5855
  RubyCommand.Argument(name: "launch_arguments", value: launchArguments),
5813
5856
  RubyCommand.Argument(name: "test_instrumentation_runner", value: testInstrumentationRunner),
5814
5857
  RubyCommand.Argument(name: "ending_locale", value: endingLocale),
5858
+ RubyCommand.Argument(name: "use_adb_root", value: useAdbRoot),
5815
5859
  RubyCommand.Argument(name: "app_apk_path", value: appApkPath),
5816
5860
  RubyCommand.Argument(name: "tests_apk_path", value: testsApkPath),
5817
5861
  RubyCommand.Argument(name: "specific_device", value: specificDevice),
5818
5862
  RubyCommand.Argument(name: "device_type", value: deviceType),
5819
5863
  RubyCommand.Argument(name: "exit_on_test_failure", value: exitOnTestFailure),
5820
- RubyCommand.Argument(name: "reinstall_app", value: reinstallApp)])
5864
+ RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
5865
+ RubyCommand.Argument(name: "use_timestamp_suffix", value: useTimestampSuffix),
5866
+ RubyCommand.Argument(name: "adb_host", value: adbHost),
5867
+ RubyCommand.Argument(name: "clean_status_bar", value: cleanStatusBar),
5868
+ RubyCommand.Argument(name: "clean_status_bar_config", value: cleanStatusBarConfig)])
5821
5869
  _ = runner.executeCommand(command)
5822
5870
  }
5823
5871
 
@@ -6476,6 +6524,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
6476
6524
  - sonarRunnerArgs: Pass additional arguments to sonar-scanner. Be sure to provide the arguments with a leading `-D` e.g. FL_SONAR_RUNNER_ARGS="-Dsonar.verbose=true"
6477
6525
  - sonarLogin: Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e)
6478
6526
  - sonarUrl: Pass the url of the Sonar server
6527
+ - sonarOrganization: Key of the organization on SonarCloud
6479
6528
  - branchName: Pass the branch name which is getting scanned
6480
6529
  - pullRequestBranch: The name of the branch that contains the changes to be merged
6481
6530
  - pullRequestBase: The long-lived branch into which the PR will be merged
@@ -6496,6 +6545,7 @@ func sonar(projectConfigurationPath: String? = nil,
6496
6545
  sonarRunnerArgs: String? = nil,
6497
6546
  sonarLogin: String? = nil,
6498
6547
  sonarUrl: String? = nil,
6548
+ sonarOrganization: String? = nil,
6499
6549
  branchName: String? = nil,
6500
6550
  pullRequestBranch: String? = nil,
6501
6551
  pullRequestBase: String? = nil,
@@ -6510,6 +6560,7 @@ func sonar(projectConfigurationPath: String? = nil,
6510
6560
  RubyCommand.Argument(name: "sonar_runner_args", value: sonarRunnerArgs),
6511
6561
  RubyCommand.Argument(name: "sonar_login", value: sonarLogin),
6512
6562
  RubyCommand.Argument(name: "sonar_url", value: sonarUrl),
6563
+ RubyCommand.Argument(name: "sonar_organization", value: sonarOrganization),
6513
6564
  RubyCommand.Argument(name: "branch_name", value: branchName),
6514
6565
  RubyCommand.Argument(name: "pull_request_branch", value: pullRequestBranch),
6515
6566
  RubyCommand.Argument(name: "pull_request_base", value: pullRequestBase),
@@ -6639,7 +6690,10 @@ func ssh(username: String,
6639
6690
 
6640
6691
  - parameters:
6641
6692
  - packageName: The package name of the application to use
6642
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
6693
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
6694
+ - versionCode: Version code (used when updating rollout or promoting specific versions)
6695
+ - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
6696
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
6643
6697
  - rollout: The percentage of the user fraction when uploading to the rollout track
6644
6698
  - metadataPath: Path to the directory containing the metadata files
6645
6699
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
@@ -6652,17 +6706,18 @@ func ssh(username: String,
6652
6706
  - aabPaths: An array of paths to AAB files to upload
6653
6707
  - skipUploadApk: Whether to skip uploading APK
6654
6708
  - skipUploadAab: Whether to skip uploading AAB
6655
- - skipUploadMetadata: Whether to skip uploading metadata
6709
+ - skipUploadMetadata: Whether to skip uploading metadata, changelogs not included
6710
+ - skipUploadChangelogs: Whether to skip uploading changelogs
6656
6711
  - skipUploadImages: Whether to skip uploading images, screenshots not included
6657
6712
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
6658
- - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal, rollout
6713
+ - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
6659
6714
  - validateOnly: Only validate changes with Google Play rather than actually publish
6660
6715
  - mapping: Path to the mapping file to upload
6661
6716
  - mappingPaths: An array of paths to mapping files to upload
6662
6717
  - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
6663
- - checkSupersededTracks: Check the other tracks for superseded versions and disable them
6718
+ - checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
6664
6719
  - timeout: Timeout for read, open, and send (in seconds)
6665
- - deactivateOnPromote: When promoting to a new track, deactivate the binary in the origin track
6720
+ - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
6666
6721
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
6667
6722
  - obbMainReferencesVersion: References version of 'main' expansion file
6668
6723
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -6672,9 +6727,12 @@ func ssh(username: String,
6672
6727
  More information: https://docs.fastlane.tools/actions/supply/
6673
6728
  */
6674
6729
  func supply(packageName: String,
6730
+ versionName: String? = nil,
6731
+ versionCode: Int? = nil,
6732
+ releaseStatus: String = "completed",
6675
6733
  track: String = "production",
6676
6734
  rollout: String? = nil,
6677
- metadataPath: String = "./metadata",
6735
+ metadataPath: String? = nil,
6678
6736
  key: String? = nil,
6679
6737
  issuer: String? = nil,
6680
6738
  jsonKey: String? = nil,
@@ -6686,6 +6744,7 @@ func supply(packageName: String,
6686
6744
  skipUploadApk: Bool = false,
6687
6745
  skipUploadAab: Bool = false,
6688
6746
  skipUploadMetadata: Bool = false,
6747
+ skipUploadChangelogs: Bool = false,
6689
6748
  skipUploadImages: Bool = false,
6690
6749
  skipUploadScreenshots: Bool = false,
6691
6750
  trackPromoteTo: String? = nil,
@@ -6702,6 +6761,9 @@ func supply(packageName: String,
6702
6761
  obbPatchReferencesVersion: String? = nil,
6703
6762
  obbPatchFileSize: String? = nil) {
6704
6763
  let command = RubyCommand(commandID: "", methodName: "supply", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
6764
+ RubyCommand.Argument(name: "version_name", value: versionName),
6765
+ RubyCommand.Argument(name: "version_code", value: versionCode),
6766
+ RubyCommand.Argument(name: "release_status", value: releaseStatus),
6705
6767
  RubyCommand.Argument(name: "track", value: track),
6706
6768
  RubyCommand.Argument(name: "rollout", value: rollout),
6707
6769
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
@@ -6716,6 +6778,7 @@ func supply(packageName: String,
6716
6778
  RubyCommand.Argument(name: "skip_upload_apk", value: skipUploadApk),
6717
6779
  RubyCommand.Argument(name: "skip_upload_aab", value: skipUploadAab),
6718
6780
  RubyCommand.Argument(name: "skip_upload_metadata", value: skipUploadMetadata),
6781
+ RubyCommand.Argument(name: "skip_upload_changelogs", value: skipUploadChangelogs),
6719
6782
  RubyCommand.Argument(name: "skip_upload_images", value: skipUploadImages),
6720
6783
  RubyCommand.Argument(name: "skip_upload_screenshots", value: skipUploadScreenshots),
6721
6784
  RubyCommand.Argument(name: "track_promote_to", value: trackPromoteTo),
@@ -6816,7 +6879,7 @@ func swiftlint(mode: Any = "lint",
6816
6879
  */
6817
6880
  func syncCodeSigning(type: String = "development",
6818
6881
  readonly: Bool = false,
6819
- generateAppleCerts: Bool = true,
6882
+ generateAppleCerts: Bool = false,
6820
6883
  skipProvisioningProfiles: Bool = false,
6821
6884
  appIdentifier: [String],
6822
6885
  username: String,
@@ -7164,9 +7227,8 @@ func updateAppIdentifier(xcodeproj: String,
7164
7227
  Makes sure fastlane-tools are up-to-date when running fastlane
7165
7228
 
7166
7229
  - parameters:
7167
- - nightly: Opt-in to install and use nightly fastlane builds
7168
7230
  - noUpdate: Don't update during this run. This is used internally
7169
- - tools: **DEPRECATED!** Comma separated list of fastlane tools to update (e.g. `fastlane,deliver,sigh`)
7231
+ - nightly: **DEPRECATED!** Nightly builds are no longer being made available - Opt-in to install and use nightly fastlane builds
7170
7232
 
7171
7233
  This action will update fastlane to the most recent version - major version updates will not be performed automatically, as they might include breaking changes. If an update was performed, fastlane will be restarted before the run continues.
7172
7234
 
@@ -7183,12 +7245,10 @@ func updateAppIdentifier(xcodeproj: String,
7183
7245
 
7184
7246
  Recommended usage of the `update_fastlane` action is at the top inside of the `before_all` block, before running any other action.
7185
7247
  */
7186
- func updateFastlane(nightly: Bool = false,
7187
- noUpdate: Bool = false,
7188
- tools: String? = nil) {
7189
- let command = RubyCommand(commandID: "", methodName: "update_fastlane", className: nil, args: [RubyCommand.Argument(name: "nightly", value: nightly),
7190
- RubyCommand.Argument(name: "no_update", value: noUpdate),
7191
- RubyCommand.Argument(name: "tools", value: tools)])
7248
+ func updateFastlane(noUpdate: Bool = false,
7249
+ nightly: Bool = false) {
7250
+ let command = RubyCommand(commandID: "", methodName: "update_fastlane", className: nil, args: [RubyCommand.Argument(name: "no_update", value: noUpdate),
7251
+ RubyCommand.Argument(name: "nightly", value: nightly)])
7192
7252
  _ = runner.executeCommand(command)
7193
7253
  }
7194
7254
 
@@ -7236,6 +7296,22 @@ func updateInfoPlist(xcodeproj: String? = nil,
7236
7296
  _ = runner.executeCommand(command)
7237
7297
  }
7238
7298
 
7299
+ /**
7300
+ This action changes the keychain access groups in the entitlements file
7301
+
7302
+ - parameters:
7303
+ - entitlementsFile: The path to the entitlement file which contains the keychain access groups
7304
+ - identifiers: An Array of unique identifiers for the keychain access groups. Eg. ['your.keychain.access.groups.identifiers']
7305
+
7306
+ Updates the Keychain Group Access Groups in the given Entitlements file, so you can have keychain access groups for the app store build and keychain access groups for an enterprise build.
7307
+ */
7308
+ func updateKeychainAccessGroups(entitlementsFile: String,
7309
+ identifiers: Any) {
7310
+ let command = RubyCommand(commandID: "", methodName: "update_keychain_access_groups", className: nil, args: [RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile),
7311
+ RubyCommand.Argument(name: "identifiers", value: identifiers)])
7312
+ _ = runner.executeCommand(command)
7313
+ }
7314
+
7239
7315
  /**
7240
7316
  Update a plist file
7241
7317
 
@@ -7636,7 +7712,10 @@ func uploadToAppStore(username: String,
7636
7712
 
7637
7713
  - parameters:
7638
7714
  - packageName: The package name of the application to use
7639
- - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal, rollout
7715
+ - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
7716
+ - versionCode: Version code (used when updating rollout or promoting specific versions)
7717
+ - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
7718
+ - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
7640
7719
  - rollout: The percentage of the user fraction when uploading to the rollout track
7641
7720
  - metadataPath: Path to the directory containing the metadata files
7642
7721
  - key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
@@ -7649,17 +7728,18 @@ func uploadToAppStore(username: String,
7649
7728
  - aabPaths: An array of paths to AAB files to upload
7650
7729
  - skipUploadApk: Whether to skip uploading APK
7651
7730
  - skipUploadAab: Whether to skip uploading AAB
7652
- - skipUploadMetadata: Whether to skip uploading metadata
7731
+ - skipUploadMetadata: Whether to skip uploading metadata, changelogs not included
7732
+ - skipUploadChangelogs: Whether to skip uploading changelogs
7653
7733
  - skipUploadImages: Whether to skip uploading images, screenshots not included
7654
7734
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
7655
- - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal, rollout
7735
+ - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
7656
7736
  - validateOnly: Only validate changes with Google Play rather than actually publish
7657
7737
  - mapping: Path to the mapping file to upload
7658
7738
  - mappingPaths: An array of paths to mapping files to upload
7659
7739
  - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
7660
- - checkSupersededTracks: Check the other tracks for superseded versions and disable them
7740
+ - checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
7661
7741
  - timeout: Timeout for read, open, and send (in seconds)
7662
- - deactivateOnPromote: When promoting to a new track, deactivate the binary in the origin track
7742
+ - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
7663
7743
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
7664
7744
  - obbMainReferencesVersion: References version of 'main' expansion file
7665
7745
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -7669,9 +7749,12 @@ func uploadToAppStore(username: String,
7669
7749
  More information: https://docs.fastlane.tools/actions/supply/
7670
7750
  */
7671
7751
  func uploadToPlayStore(packageName: String,
7752
+ versionName: String? = nil,
7753
+ versionCode: Int? = nil,
7754
+ releaseStatus: String = "completed",
7672
7755
  track: String = "production",
7673
7756
  rollout: String? = nil,
7674
- metadataPath: String = "./metadata",
7757
+ metadataPath: String? = nil,
7675
7758
  key: String? = nil,
7676
7759
  issuer: String? = nil,
7677
7760
  jsonKey: String? = nil,
@@ -7683,6 +7766,7 @@ func uploadToPlayStore(packageName: String,
7683
7766
  skipUploadApk: Bool = false,
7684
7767
  skipUploadAab: Bool = false,
7685
7768
  skipUploadMetadata: Bool = false,
7769
+ skipUploadChangelogs: Bool = false,
7686
7770
  skipUploadImages: Bool = false,
7687
7771
  skipUploadScreenshots: Bool = false,
7688
7772
  trackPromoteTo: String? = nil,
@@ -7699,6 +7783,9 @@ func uploadToPlayStore(packageName: String,
7699
7783
  obbPatchReferencesVersion: String? = nil,
7700
7784
  obbPatchFileSize: String? = nil) {
7701
7785
  let command = RubyCommand(commandID: "", methodName: "upload_to_play_store", className: nil, args: [RubyCommand.Argument(name: "package_name", value: packageName),
7786
+ RubyCommand.Argument(name: "version_name", value: versionName),
7787
+ RubyCommand.Argument(name: "version_code", value: versionCode),
7788
+ RubyCommand.Argument(name: "release_status", value: releaseStatus),
7702
7789
  RubyCommand.Argument(name: "track", value: track),
7703
7790
  RubyCommand.Argument(name: "rollout", value: rollout),
7704
7791
  RubyCommand.Argument(name: "metadata_path", value: metadataPath),
@@ -7713,6 +7800,7 @@ func uploadToPlayStore(packageName: String,
7713
7800
  RubyCommand.Argument(name: "skip_upload_apk", value: skipUploadApk),
7714
7801
  RubyCommand.Argument(name: "skip_upload_aab", value: skipUploadAab),
7715
7802
  RubyCommand.Argument(name: "skip_upload_metadata", value: skipUploadMetadata),
7803
+ RubyCommand.Argument(name: "skip_upload_changelogs", value: skipUploadChangelogs),
7716
7804
  RubyCommand.Argument(name: "skip_upload_images", value: skipUploadImages),
7717
7805
  RubyCommand.Argument(name: "skip_upload_screenshots", value: skipUploadScreenshots),
7718
7806
  RubyCommand.Argument(name: "track_promote_to", value: trackPromoteTo),
@@ -8123,7 +8211,7 @@ func xcov(workspace: String? = nil,
8123
8211
  coverallsServiceJobId: String? = nil,
8124
8212
  coverallsRepoToken: String? = nil,
8125
8213
  xcconfig: String? = nil,
8126
- ideFoundationPath: String = "/Applications/Xcode-11.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8214
+ ideFoundationPath: String = "/Applications/Xcode-10.3.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
8127
8215
  legacySupport: Bool = false) {
8128
8216
  let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
8129
8217
  RubyCommand.Argument(name: "project", value: project),
@@ -8268,4 +8356,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
8268
8356
 
8269
8357
  // Please don't remove the lines below
8270
8358
  // They are used to detect outdated files
8271
- // FastlaneRunnerAPIVersion [0.9.60]
8359
+ // FastlaneRunnerAPIVersion [0.9.64]