fastlane 2.173.0 → 2.194.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +105 -85
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +4 -3
  6. data/cert/lib/cert/runner.rb +7 -7
  7. data/deliver/lib/assets/summary.html.erb +10 -10
  8. data/deliver/lib/deliver/app_screenshot.rb +8 -3
  9. data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
  10. data/deliver/lib/deliver/commands_generator.rb +3 -2
  11. data/deliver/lib/deliver/detect_values.rb +5 -3
  12. data/deliver/lib/deliver/download_screenshots.rb +2 -3
  13. data/deliver/lib/deliver/html_generator.rb +2 -2
  14. data/deliver/lib/deliver/languages.rb +1 -1
  15. data/deliver/lib/deliver/loader.rb +1 -1
  16. data/deliver/lib/deliver/module.rb +6 -0
  17. data/deliver/lib/deliver/options.rb +48 -56
  18. data/deliver/lib/deliver/runner.rb +28 -15
  19. data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
  20. data/deliver/lib/deliver/setup.rb +1 -2
  21. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  22. data/deliver/lib/deliver/sync_screenshots.rb +200 -0
  23. data/deliver/lib/deliver/upload_metadata.rb +26 -11
  24. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  25. data/deliver/lib/deliver/upload_screenshots.rb +13 -12
  26. data/fastlane/lib/assets/completions/completion.bash +4 -1
  27. data/fastlane/lib/assets/completions/completion.zsh +6 -5
  28. data/{spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp → fastlane/lib/fastlane/actions/.notarize.rb.swp} +0 -0
  29. data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
  30. data/fastlane/lib/fastlane/actions/adb.rb +2 -5
  31. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  32. data/fastlane/lib/fastlane/actions/add_git_tag.rb +4 -4
  33. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +18 -18
  34. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
  35. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  36. data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
  37. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  38. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  39. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  40. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  41. data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
  42. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  43. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  44. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
  45. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  46. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
  47. data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
  48. data/fastlane/lib/fastlane/actions/bundle_install.rb +21 -11
  49. data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
  50. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  51. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  52. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
  53. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  54. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -2
  55. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  56. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  57. data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
  58. data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
  59. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  60. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  61. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  62. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  63. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  64. data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
  65. data/fastlane/lib/fastlane/actions/create_xcframework.rb +102 -17
  66. data/fastlane/lib/fastlane/actions/danger.rb +13 -12
  67. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  68. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  69. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +29 -30
  70. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -3
  71. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  72. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +19 -2
  73. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
  74. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +37 -18
  75. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  76. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +10 -4
  77. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
  78. data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -19
  79. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  80. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  81. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  82. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  83. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  84. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  85. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  86. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  87. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  88. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  89. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  90. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  91. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
  92. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +10 -2
  93. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  94. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  95. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  96. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  97. data/fastlane/lib/fastlane/actions/git_commit.rb +6 -8
  98. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  99. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  100. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  101. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  102. data/fastlane/lib/fastlane/actions/github_api.rb +4 -6
  103. data/fastlane/lib/fastlane/actions/gradle.rb +13 -21
  104. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  105. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  106. data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
  107. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  108. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  109. data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
  110. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
  111. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  112. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  113. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  114. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  115. data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
  116. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  117. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +7 -7
  118. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  119. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  120. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  121. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  122. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  123. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  124. data/fastlane/lib/fastlane/actions/notarize.rb +181 -52
  125. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  126. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  127. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  128. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  129. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  130. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  131. data/fastlane/lib/fastlane/actions/push_git_tags.rb +2 -2
  132. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +6 -3
  133. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  134. data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
  135. data/fastlane/lib/fastlane/actions/register_devices.rb +10 -14
  136. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  137. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  138. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  139. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  140. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  141. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  142. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  143. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  144. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  145. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  146. data/fastlane/lib/fastlane/actions/set_changelog.rb +11 -14
  147. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  148. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  149. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  150. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  151. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  152. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  153. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  154. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  155. data/fastlane/lib/fastlane/actions/slack.rb +161 -141
  156. data/fastlane/lib/fastlane/actions/slather.rb +9 -19
  157. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  158. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  159. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  160. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  161. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  162. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  163. data/fastlane/lib/fastlane/actions/swiftlint.rb +18 -16
  164. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +7 -2
  165. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  166. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  167. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  168. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  169. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  170. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  171. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  172. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  173. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  174. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  175. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  176. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
  177. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  178. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  179. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  180. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
  181. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  182. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
  183. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +10 -3
  184. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  185. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  186. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  187. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  188. data/fastlane/lib/fastlane/actions/zip.rb +86 -21
  189. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  190. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  191. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  192. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  193. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +12 -6
  194. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  195. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  196. data/fastlane/lib/fastlane/fast_file.rb +19 -7
  197. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  198. data/fastlane/lib/fastlane/features.rb +3 -0
  199. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  200. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  201. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  202. data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
  203. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  204. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  205. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  206. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  207. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  208. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
  209. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  210. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  211. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  212. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
  213. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  214. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  215. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  216. data/fastlane/lib/fastlane/swift_fastlane_function.rb +43 -15
  217. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  218. data/fastlane/lib/fastlane/version.rb +2 -2
  219. data/fastlane/swift/Actions.swift +1 -1
  220. data/fastlane/swift/Appfile.swift +1 -1
  221. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  222. data/fastlane/swift/ControlCommand.swift +1 -1
  223. data/fastlane/swift/Deliverfile.swift +1 -1
  224. data/fastlane/swift/DeliverfileProtocol.swift +27 -23
  225. data/fastlane/swift/Fastlane.swift +7993 -4352
  226. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  227. data/fastlane/swift/Gymfile.swift +1 -1
  228. data/fastlane/swift/GymfileProtocol.swift +1 -1
  229. data/fastlane/swift/LaneFileProtocol.swift +10 -4
  230. data/fastlane/swift/MainProcess.swift +1 -1
  231. data/fastlane/swift/Matchfile.swift +1 -1
  232. data/fastlane/swift/MatchfileProtocol.swift +3 -3
  233. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  234. data/fastlane/swift/Plugins.swift +1 -1
  235. data/fastlane/swift/Precheckfile.swift +1 -1
  236. data/fastlane/swift/PrecheckfileProtocol.swift +4 -4
  237. data/fastlane/swift/RubyCommand.swift +2 -2
  238. data/fastlane/swift/RubyCommandable.swift +1 -1
  239. data/fastlane/swift/Runner.swift +2 -2
  240. data/fastlane/swift/RunnerArgument.swift +1 -1
  241. data/fastlane/swift/Scanfile.swift +1 -1
  242. data/fastlane/swift/ScanfileProtocol.swift +17 -1
  243. data/fastlane/swift/Screengrabfile.swift +1 -1
  244. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  245. data/fastlane/swift/Snapshotfile.swift +1 -1
  246. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  247. data/fastlane/swift/SocketClient.swift +3 -2
  248. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  249. data/fastlane/swift/SocketResponse.swift +5 -3
  250. data/fastlane/swift/formatting/Brewfile.lock.json +37 -21
  251. data/fastlane/swift/main.swift +1 -1
  252. data/fastlane/swift/upgrade_manifest.json +1 -1
  253. data/fastlane_core/lib/fastlane_core/build_watcher.rb +113 -17
  254. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  255. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  256. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +6 -1
  257. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +41 -3
  258. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +14 -8
  259. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  260. data/fastlane_core/lib/fastlane_core/helper.rb +66 -10
  261. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  262. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +14 -8
  263. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +12 -5
  264. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  265. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +5 -0
  266. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  267. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  268. data/fastlane_core/lib/fastlane_core/project.rb +30 -23
  269. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
  270. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  271. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
  272. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +41 -0
  273. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  274. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  275. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +16 -2
  276. data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
  277. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  278. data/fastlane_core/lib/fastlane_core.rb +22 -20
  279. data/frameit/lib/frameit/commands_generator.rb +2 -1
  280. data/frameit/lib/frameit/config_parser.rb +2 -2
  281. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  282. data/gym/lib/gym/code_signing_mapping.rb +2 -2
  283. data/gym/lib/gym/commands_generator.rb +2 -1
  284. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  285. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +19 -13
  286. data/gym/lib/gym/runner.rb +15 -4
  287. data/match/lib/match/change_password.rb +3 -3
  288. data/match/lib/match/commands_generator.rb +2 -1
  289. data/match/lib/match/encryption/interface.rb +1 -1
  290. data/match/lib/match/encryption/openssl.rb +2 -2
  291. data/match/lib/match/importer.rb +9 -10
  292. data/match/lib/match/migrate.rb +2 -3
  293. data/match/lib/match/module.rb +1 -0
  294. data/match/lib/match/nuke.rb +10 -10
  295. data/match/lib/match/options.rb +5 -4
  296. data/match/lib/match/runner.rb +12 -12
  297. data/match/lib/match/spaceship_ensure.rb +3 -0
  298. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  299. data/match/lib/match/storage/s3_storage.rb +2 -2
  300. data/pem/lib/pem/commands_generator.rb +2 -1
  301. data/pilot/lib/pilot/build_manager.rb +45 -15
  302. data/pilot/lib/pilot/commands_generator.rb +2 -1
  303. data/pilot/lib/pilot/manager.rb +14 -9
  304. data/pilot/lib/pilot/options.rb +39 -11
  305. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  306. data/pilot/lib/pilot/tester_manager.rb +0 -1
  307. data/pilot/lib/pilot.rb +0 -1
  308. data/precheck/lib/precheck/commands_generator.rb +2 -1
  309. data/precheck/lib/precheck/module.rb +2 -0
  310. data/precheck/lib/precheck/options.rb +7 -6
  311. data/precheck/lib/precheck/runner.rb +13 -8
  312. data/produce/lib/produce/commands_generator.rb +129 -28
  313. data/produce/lib/produce/developer_center.rb +42 -4
  314. data/produce/lib/produce/options.rb +1 -1
  315. data/produce/lib/produce/service.rb +285 -179
  316. data/scan/lib/scan/commands_generator.rb +2 -1
  317. data/scan/lib/scan/detect_values.rb +26 -14
  318. data/scan/lib/scan/module.rb +1 -0
  319. data/scan/lib/scan/options.rb +32 -6
  320. data/scan/lib/scan/runner.rb +81 -1
  321. data/scan/lib/scan/test_command_generator.rb +37 -12
  322. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
  323. data/screengrab/lib/screengrab/android_environment.rb +5 -53
  324. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  325. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  326. data/screengrab/lib/screengrab/options.rb +5 -2
  327. data/screengrab/lib/screengrab/runner.rb +110 -109
  328. data/sigh/lib/assets/resign.sh +81 -61
  329. data/sigh/lib/sigh/commands_generator.rb +2 -1
  330. data/sigh/lib/sigh/download_all.rb +4 -8
  331. data/sigh/lib/sigh/options.rb +6 -4
  332. data/sigh/lib/sigh/runner.rb +8 -8
  333. data/snapshot/lib/assets/SnapfileTemplate +3 -2
  334. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  335. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  336. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  337. data/snapshot/lib/snapshot/options.rb +5 -0
  338. data/snapshot/lib/snapshot/reports_generator.rb +7 -1
  339. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  340. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  341. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +12 -6
  342. data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
  343. data/spaceship/README.md +4 -14
  344. data/spaceship/lib/spaceship/base.rb +2 -2
  345. data/spaceship/lib/spaceship/client.rb +37 -20
  346. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  347. data/spaceship/lib/spaceship/connect_api/api_client.rb +80 -8
  348. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  349. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +36 -4
  350. data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -2
  351. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
  352. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
  353. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
  354. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  355. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
  356. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
  357. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +8 -1
  358. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
  359. data/spaceship/lib/spaceship/connect_api/models/build.rb +14 -1
  360. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +8 -0
  361. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +32 -0
  362. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +84 -21
  363. data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
  364. data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
  365. data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
  366. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +37 -3
  367. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +104 -2
  368. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
  369. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +72 -5
  370. data/spaceship/lib/spaceship/connect_api/token.rb +19 -4
  371. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
  372. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +19 -2
  373. data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
  374. data/spaceship/lib/spaceship/connect_api/users/users.rb +58 -3
  375. data/spaceship/lib/spaceship/connect_api.rb +1 -0
  376. data/spaceship/lib/spaceship/playground.rb +2 -2
  377. data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
  378. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  379. data/spaceship/lib/spaceship/tunes/tunes_client.rb +5 -2
  380. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
  381. data/spaceship/lib/spaceship/ui.rb +2 -2
  382. data/supply/lib/supply/client.rb +45 -4
  383. data/supply/lib/supply/commands_generator.rb +2 -1
  384. data/supply/lib/supply/options.rb +14 -2
  385. data/supply/lib/supply/uploader.rb +13 -9
  386. metadata +119 -98
  387. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  388. data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
  389. data/pilot/lib/pilot/features.rb +0 -0
  390. data/pilot/lib/pilot/tester_util.rb +0 -0
  391. data/spaceship/lib/spaceship/.DS_Store +0 -0
@@ -68,7 +68,7 @@ Options for create:
68
68
  -y, --sku STRING SKU Number (e.g. '1234') (PRODUCE_SKU)
69
69
  -j, --platform STRING The platform to use (optional) (PRODUCE_PLATFORM)
70
70
  -m, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE)
71
- -c, --company_name STRING The name of your company. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
71
+ -c, --company_name STRING The name of your company. It's used to set company name on App Store Connect team's app pages. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
72
72
  -i, --skip_itc [VALUE] Skip the creation of the app on App Store Connect (PRODUCE_SKIP_ITC)
73
73
  -d, --skip_devcenter [VALUE] Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER)
74
74
  -s, --itc_users ARRAY Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles (ITC_USERS)
@@ -131,27 +131,62 @@ fastlane produce enable_services --help
131
131
  ```
132
132
 
133
133
  ```no-highlight
134
- --app-group Enable App Groups
135
- --apple-pay Enable Apple Pay
136
- --associated-domains Enable Associated Domains
137
- --data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
138
- --game-center Enable Game Center
139
- --healthkit Enable HealthKit
140
- --homekit Enable HomeKit
141
- --hotspot Enable Hotspot
142
- --icloud STRING Enable iCloud, suitable values are "legacy" and "cloudkit"
143
- --in-app-purchase Enable In-App Purchase
144
- --inter-app-audio Enable Inter-App-Audio
145
- --multipath Enable Multipath
146
- --network-extension Enable Network Extensions
147
- --nfc-tag-reading Enable NFC Tag Reading
148
- --personal-vpn Enable Personal VPN
149
- --passbook Enable Passbook (deprecated)
150
- --push-notification Enable Push notification (only enables the service, does not configure certificates)
151
- --sirikit Enable SiriKit
152
- --vpn-conf Enable VPN Configuration (deprecated)
153
- --wallet Enable Wallet
154
- --wireless-conf Enable Wireless Accessory Configuration
134
+ --access-wifi Enable Access Wifi
135
+ --app-attest Enable App Attest
136
+ --app-group Enable App Group
137
+ --apple-pay Enable Apple Pay
138
+ --associated-domains Enable Associated Domains
139
+ --auto-fill-credential Enable Auto Fill Credential
140
+ --class-kit Enable Class Kit
141
+ --icloud STRING Enable iCloud, suitable values are "xcode5_compatible" and "xcode6_compatible"
142
+ --custom-network-protocol Enable Custom Network Protocol
143
+ --data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
144
+ --extended-virtual-address-space Enable Extended Virtual Address Space
145
+ --game-center STRING Enable Game Center, suitable values are "ios" and "macos
146
+ --health-kit Enable Health Kit
147
+ --hls-interstitial-preview Enable Hls Interstitial Preview
148
+ --home-kit Enable Home Kit
149
+ --hotspot Enable Hotspot
150
+ --in-app-purchase Enable In App Purchase
151
+ --inter-app-audio Enable Inter App Audio
152
+ --low-latency-hls Enable Low Latency Hls
153
+ --managed-associated-domains Enable Managed Associated Domains
154
+ --maps Enable Maps
155
+ --multipath Enable Multipath
156
+ --network-extension Enable Network Extension
157
+ --nfc-tag-reading Enable NFC Tag Reading
158
+ --personal-vpn Enable Personal VPN
159
+ --passbook Enable Passbook (deprecated)
160
+ --push-notification Enable Push Notification
161
+ --sign-in-with-apple Enable Sign In With Apple
162
+ --siri-kit Enable Siri Kit
163
+ --system-extension Enable System Extension
164
+ --user-management Enable User Management
165
+ --vpn-configuration Enable Vpn Configuration (deprecated)
166
+ --wallet Enable Wallet
167
+ --wireless-accessory Enable Wireless Accessory
168
+ --car-play-audio-app Enable Car Play Audio App
169
+ --car-play-messaging-app Enable Car Play Messaging App
170
+ --car-play-navigation-app Enable Car Play Navigation App
171
+ --car-play-voip-calling-app Enable Car Play Voip Calling App
172
+ --critical-alerts Enable Critical Alerts
173
+ --hotspot-helper Enable Hotspot Helper
174
+ --driver-kit Enable DriverKit
175
+ --driver-kit-endpoint-security Enable DriverKit Endpoint Security
176
+ --driver-kit-family-hid-device Enable DriverKit Family HID Device
177
+ --driver-kit-family-networking Enable DriverKit Family Networking
178
+ --driver-kit-family-serial Enable DriverKit Family Serial
179
+ --driver-kit-hid-event-service Enable DriverKit HID EventService
180
+ --driver-kit-transport-hid Enable DriverKit Transport HID
181
+ --multitasking-camera-access Enable Multitasking Camera Access
182
+ --sf-universal-link-api Enable SFUniversalLink API
183
+ --vp9-decoder Enable VP9 Decoder
184
+ --music-kit Enable MusicKit
185
+ --shazam-kit Enable ShazamKit
186
+ --communication-notifications Enable Communication Notifications
187
+ --group-activities Enable Group Activities
188
+ --health-kit-estimate-recalibration Enable HealthKit Estimate Recalibration
189
+ --time-sensitive-notifications Enable Time Sensitive Notifications
155
190
  ```
156
191
 
157
192
  ```no-highlight
@@ -159,27 +194,62 @@ fastlane produce disable_services --help
159
194
  ```
160
195
 
161
196
  ```no-highlight
162
- --app-group Disable App Groups
163
- --apple-pay Disable Apple Pay
164
- --associated-domains Disable Associated Domains
165
- --data-protection Disable Data Protection
166
- --game-center Disable Game Center
167
- --healthkit Disable HealthKit
168
- --homekit Disable HomeKit
169
- --hotspot Disable Hotspot
170
- --icloud Disable iCloud
171
- --in-app-purchase Disable In-App Purchase
172
- --inter-app-audio Disable Inter-App-Audio
173
- --multipath Disable Multipath
174
- --network-extension Disable Network Extensions
175
- --nfc-tag-reading Disable NFC Tag Reading
176
- --personal-vpn Disable Personal VPN
177
- --passbook Disable Passbook (deprecated)
178
- --push-notification Disable Push notifications
179
- --sirikit Disable SiriKit
180
- --vpn-conf Disable VPN Configuration (deprecated)
181
- --wallet Disable Wallet
182
- --wireless-conf Disable Wireless Accessory Configuration
197
+ --access-wifi Disable Access Wifi
198
+ --app-attest Disable App Attest
199
+ --app-group Disable App Group
200
+ --apple-pay Disable Apple Pay
201
+ --associated-domains Disable Associated Domains
202
+ --auto-fill-credential Disable Auto Fill Credential
203
+ --class-kit Disable Class Kit
204
+ --icloud STRING Disable iCloud
205
+ --custom-network-protocol Disable Custom Network Protocol
206
+ --data-protection STRING Disable Data Protection
207
+ --extended-virtual-address-space Disable Extended Virtual Address Space
208
+ --game-center STRING Disable Game Center
209
+ --health-kit Disable Health Kit
210
+ --hls-interstitial-preview Disable Hls Interstitial Preview
211
+ --home-kit Disable Home Kit
212
+ --hotspot Disable Hotspot
213
+ --in-app-purchase Disable In App Purchase
214
+ --inter-app-audio Disable Inter App Audio
215
+ --low-latency-hls Disable Low Latency Hls
216
+ --managed-associated-domains Disable Managed Associated Domains
217
+ --maps Disable Maps
218
+ --multipath Disable Multipath
219
+ --network-extension Disable Network Extension
220
+ --nfc-tag-reading Disable NFC Tag Reading
221
+ --personal-vpn Disable Personal VPN
222
+ --passbook Disable Passbook (deprecated)
223
+ --push-notification Disable Push Notification
224
+ --sign-in-with-apple Disable Sign In With Apple
225
+ --siri-kit Disable Siri Kit
226
+ --system-extension Disable System Extension
227
+ --user-management Disable User Management
228
+ --vpn-configuration Disable Vpn Configuration (deprecated)
229
+ --wallet Disable Wallet
230
+ --wireless-accessory Disable Wireless Accessory
231
+ --car-play-audio-app Disable Car Play Audio App
232
+ --car-play-messaging-app Disable Car Play Messaging App
233
+ --car-play-navigation-app Disable Car Play Navigation App
234
+ --car-play-voip-calling-app Disable Car Play Voip Calling App
235
+ --critical-alerts Disable Critical Alerts
236
+ --hotspot-helper Disable Hotspot Helper
237
+ --driver-kit Disable DriverKit
238
+ --driver-kit-endpoint-security Disable DriverKit Endpoint Security
239
+ --driver-kit-family-hid-device Disable DriverKit Family HID Device
240
+ --driver-kit-family-networking Disable DriverKit Family Networking
241
+ --driver-kit-family-serial Disable DriverKit Family Serial
242
+ --driver-kit-hid-event-service Disable DriverKit HID EventService
243
+ --driver-kit-transport-hid Disable DriverKit Transport HID
244
+ --multitasking-camera-access Disable Multitasking Camera Access
245
+ --sf-universal-link-api Disable SFUniversalLink API
246
+ --vp9-decoder Disable VP9 Decoder
247
+ --music-kit Disable MusicKit
248
+ --shazam-kit Disable ShazamKit
249
+ --communication-notifications Disable Communication Notifications
250
+ --group-activities Disable Group Activities
251
+ --health-kit-estimate-recalibration Disable HealthKit Estimate Recalibration
252
+ --time-sensitive-notifications Disable Time Sensitive Notifications
183
253
  ```
184
254
 
185
255
  ## Creating Apple Pay merchants and associating them with an App ID
@@ -236,30 +306,64 @@ lane :release do
236
306
  # Optional
237
307
  # App services can be enabled during app creation
238
308
  enable_services: {
239
- access_wifi: "on", # Valid values: "on", "off"
240
- app_group: "on", # Valid values: "on", "off"
241
- apple_pay: "on", # Valid values: "on", "off"
242
- associated_domains: "on", # Valid values: "on", "off"
243
- auto_fill_credential: "on", # Valid values: "on", "off"
244
- data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth",
245
- game_center: "on", # Valid values: "on", "off"
246
- health_kit: "on", # Valid values: "on", "off"
247
- home_kit: "on", # Valid values: "on", "off"
248
- hotspot: "on", # Valid values: "on", "off"
249
- icloud: "cloudkit", # Valid values: "legacy", "cloudkit"
250
- in_app_purchase: "on", # Valid values: "on", "off"
251
- inter_app_audio: "on", # Valid values: "on", "off"
252
- passbook: "on", # Valid values: "on", "off"
253
- multipath: "on", # Valid values: "on", "off"
254
- network_extension: "on", # Valid values: "on", "off"
255
- nfc_tag_reading: "on", # Valid values: "on", "off"
256
- personal_vpn: "on", # Valid values: "on", "off"
257
- passbook: "on", # Valid values: "on", "off" (deprecated)
258
- push_notification: "on", # Valid values: "on", "off"
259
- siri_kit: "on", # Valid values: "on", "off"
260
- vpn_configuration: "on", # Valid values: "on", "off" (deprecated)
261
- wallet: "on", # Valid values: "on", "off"
262
- wireless_accessory: "on", # Valid values: "on", "off"
309
+ access_wifi: "on", # Valid values: "on", "off"
310
+ app_attest: "on", # Valid values: "on", "off"
311
+ app_group: "on", # Valid values: "on", "off"
312
+ apple_pay: "on", # Valid values: "on", "off"
313
+ associated_domains: "on", # Valid values: "on", "off"
314
+ auto_fill_credential: "on", # Valid values: "on", "off"
315
+ car_play_audio_app: "on", # Valid values: "on", "off"
316
+ car_play_messaging_app: "on", # Valid values: "on", "off"
317
+ car_play_navigation_app: "on", # Valid values: "on", "off"
318
+ car_play_voip_calling_app: "on", # Valid values: "on", "off"
319
+ class_kit: "on", # Valid values: "on", "off"
320
+ icloud: "xcode5_compatible", # Valid values: "xcode5_compatible", "xcode6_compatible", "off"
321
+ critical_alerts: "on", # Valid values: "on", "off"
322
+ custom_network_protocol: "on", # Valid values: "on", "off"
323
+ data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth", "off"
324
+ extended_virtual_address_space: "on", # Valid values: "on", "off"
325
+ file_provider_testing_mode: "on", # Valid values: "on", "off"
326
+ fonts: "on", # Valid values: "on", "off"
327
+ game_center: "ios", # Valid values: "ios", "macos", off"
328
+ health_kit: "on", # Valid values: "on", "off"
329
+ hls_interstitial_preview: "on", # Valid values: "on", "off"
330
+ home_kit: "on", # Valid values: "on", "off"
331
+ hotspot: "on", # Valid values: "on", "off"
332
+ hotspot_helper: "on", # Valid values: "on", "off"
333
+ in_app_purchase: "on", # Valid values: "on", "off"
334
+ inter_app_audio: "on", # Valid values: "on", "off"
335
+ low_latency_hls: "on", # Valid values: "on", "off"
336
+ managed_associated_domains: "on", # Valid values: "on", "off"
337
+ maps: "on", # Valid values: "on", "off"
338
+ multipath: "on", # Valid values: "on", "off"
339
+ network_extension: "on", # Valid values: "on", "off"
340
+ nfc_tag_reading: "on", # Valid values: "on", "off"
341
+ passbook: "on", # Valid values: "on", "off" (deprecated)
342
+ personal_vpn: "on", # Valid values: "on", "off"
343
+ push_notification: "on", # Valid values: "on", "off"
344
+ sign_in_with_apple: "on", # Valid values: "on", "off"
345
+ siri_kit: "on", # Valid values: "on", "off"
346
+ system_extension: "on", # Valid values: "on", "off"
347
+ user_management: "on", # Valid values: "on", "off"
348
+ vpn_configuration: "on", # Valid values: "on", "off" (deprecated)
349
+ wallet: "on", # Valid values: "on", "off"
350
+ wireless_accessory: "on", # Valid values: "on", "off"
351
+ driver_kit: "on", # Valid values: "on", "off"
352
+ driver_kit_endpoint_security: "on", # Valid values: "on", "off"
353
+ driver_kit_family_hid_device: "on", # Valid values: "on", "off"
354
+ driver_kit_family_networking: "on", # Valid values: "on", "off"
355
+ driver_kit_family_serial: "on", # Valid values: "on", "off"
356
+ driver_kit_hid_event_service: "on", # Valid values: "on", "off"
357
+ driver_kit_transport_hid: "on", # Valid values: "on", "off"
358
+ multitasking_camera_access: "on", # Valid values: "on", "off"
359
+ sf_universal_link_api: "on", # Valid values: "on", "off"
360
+ vp9_decoder: "on", # Valid values: "on", "off"
361
+ music_kit: "on", # Valid values: "on", "off"
362
+ shazam_kit: "on", # Valid values: "on", "off"
363
+ communication_notifications: "on", # Valid values: "on", "off"
364
+ group_activities: "on", # Valid values: "on", "off"
365
+ health_kit_estimate_recalibration: "on", # Valid values: "on", "off"
366
+ time_sensitive_notifications: "on", # Valid values: "on", "off"
263
367
  }
264
368
  )
265
369
 
@@ -332,7 +332,24 @@ Use [_deliver_](https://docs.fastlane.tools/actions/deliver/) to upload iOS scre
332
332
 
333
333
  ## Use a clean status bar
334
334
 
335
- You can set `override_status_bar` to `true` in snapshot to set the status bar to Tuesday January 9th at 9:41AM with full battery and reception.
335
+ You can set `override_status_bar` to `true` in snapshot to set the status bar to Tuesday January 9th at 9:41AM with full battery and reception. If you need more granular customization, to set a Carrier name for example, also set `override_status_bar_arguments` to the specific arguments to be passed to the `xcrun simctl status_bar override` command. Run `xcrun simctl status_bar --help` to see the options available.
336
+
337
+ ### Examples
338
+
339
+ ```ruby
340
+ # Sets the time to 9:41AM with full battery and reception, with the default carrier name: Carrier
341
+ capture_ios_screenshots(
342
+ override_status_bar: true
343
+ )
344
+ ```
345
+
346
+ ```ruby
347
+ # Set the time to 9:41AM, battery at 75% and charging, on the TELUS LTE network
348
+ capture_ios_screenshots(
349
+ override_status_bar: true,
350
+ override_status_bar_arguments: "--time 9:41 --dataNetwork lte --cellularMode active --cellularBars 4 --batteryState charging --batteryLevel 75 --operatorName TELUS"
351
+ )
352
+ ```
336
353
 
337
354
  ## Gray artifacts around text
338
355
 
@@ -345,5 +362,5 @@ brew install imagemagick
345
362
 
346
363
  ## Uninstall
347
364
 
348
- - `sudo gem uninstall fastlane`
365
+ - `gem uninstall fastlane`
349
366
  - `rm -rf ~/.frameit`
@@ -99,16 +99,22 @@ If your machine is currently using SSH to authenticate with GitHub, you'll want
99
99
  Using parameter:
100
100
 
101
101
  ```
102
- match(git_basic_authorization: '<YOUR KEY>')
102
+ match(git_basic_authorization: '<YOUR BASE64 KEY>')
103
103
  ```
104
104
 
105
105
  Using environment variable:
106
106
 
107
107
  ```
108
- ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR KEY>'
108
+ ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR BASE64 KEY>'
109
109
  match
110
110
  ```
111
111
 
112
+ To generate your base64 key [according to RFC 7617](https://tools.ietf.org/html/rfc7617), run this:
113
+
114
+ ```
115
+ echo -n your_github_username:your_personal_access_token | base64
116
+ ```
117
+
112
118
  You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
113
119
 
114
120
  ##### Git Storage on GitHub - Deploy keys
@@ -104,7 +104,7 @@ deliver(
104
104
 
105
105
  ## More options
106
106
 
107
- <details>
107
+ <details markdown="1">
108
108
  <summary>View all available options and their valid values</summary>
109
109
 
110
110
  ## Available options
@@ -288,7 +288,7 @@ reset_ratings(false)
288
288
  ##### app_rating_config_path
289
289
  You can set the app age ratings using _deliver_. You'll have to create and store a `JSON` configuration file. Copy the [template](https://github.com/fastlane/fastlane/blob/master/deliver/assets/example_rating_config.json) to your project folder and pass the path to the `JSON` file using the `app_rating_config_path` option.
290
290
 
291
- The keys/values on the top allow values from 0-2, and the items on the bottom allow only 0 or 1. More information in [#reference](#reference).
291
+ The keys/values on the top allow one of 3 strings: "NONE", "INFREQUENT_OR_MILD" or "FREQUENT_OR_INTENSE", and the items on the bottom allow false or true. More information in [#reference](#reference).
292
292
 
293
293
 
294
294
  ## Metadata
@@ -497,7 +497,7 @@ Key | Editable While Live | Directory | Filename | Deprecated Filename
497
497
 
498
498
  ## Reference
499
499
 
500
- <details>
500
+ <details markdown="1">
501
501
  <summary>View all available categories, etc.</summary>
502
502
 
503
503
  ### Available Categories
@@ -591,9 +591,9 @@ Key | Editable While Live | Directory | Filename | Deprecated Filename
591
591
 
592
592
  **Values**
593
593
 
594
- - 0: None
595
- - 1: Infrequent/Mild
596
- - 2: Frequent/Intense
594
+ - 0: None (Legacy value, use `NONE` instead)
595
+ - 1: Infrequent/Mild (Legacy value, use `INFREQUENT_OR_MILD` instead)
596
+ - 2: Frequent/Intense (Legacy value, use `FREQUENT_OR_INTENSE`instead)
597
597
 
598
598
  - `NONE`
599
599
  - `INFREQUENT_OR_MILD`
@@ -601,24 +601,43 @@ Key | Editable While Live | Directory | Filename | Deprecated Filename
601
601
 
602
602
  **Keys**
603
603
 
604
- - `violenceCartoonOrFantasy`
605
- - `violenceRealistic`
606
- - `violenceRealisticProlongedGraphicOrSadistic`
607
- - `profanityOrCrudeHumor`
608
- - `matureOrSuggestiveThemes`
609
- - `horrorOrFearThemes`
610
- - `medicalOrTreatmentInformation`
611
- - `alcoholTobaccoOrDrugUseOrReferences`
612
- - `gamblingSimulated`
613
- - `sexualContentOrNudity`
614
- - `sexualContentGraphicAndNudity`
604
+ - 'alcoholTobaccoOrDrugUseOrReferences'
605
+ - 'contests'
606
+ - 'gamblingSimulated'
607
+ - 'medicalOrTreatmentInformation'
608
+ - 'profanityOrCrudeHumor'
609
+
610
+ - 'sexualContentGraphicAndNudity'
611
+ - 'sexualContentOrNudity'
612
+ - 'horrorOrFearThemes'
613
+ - 'matureOrSuggestiveThemes'
614
+ - 'unrestrictedWebAccess'
615
+ - 'violenceCartoonOrFantasy'
616
+ - 'violenceRealisticProlongedGraphicOrSadistic'
617
+ - 'violenceRealistic'
618
+ - 'kidsAgeBand'
615
619
 
616
620
  #### Boolean
617
621
 
618
622
  **Keys**
619
623
 
624
+ - `gambling`
625
+ - 'seventeenPlus'
620
626
  - `unrestrictedWebAccess`
621
- - `gamblingAndContests`
627
+
628
+ #### Kids Age
629
+
630
+ **Values**
631
+
632
+ - `FIVE_AND_UNDER`
633
+ - `SIX_TO_EIGHT`
634
+ - `NINE_TO_ELEVEN`
635
+ - `null`
636
+
637
+ **Keys**
638
+
639
+ - `kidsAgeBand`
640
+
622
641
  </details>
623
642
 
624
643
  <br />
@@ -138,7 +138,7 @@ Inside of a given locale directory is a folder called `images`. Here you can sup
138
138
  - `promoGraphic`
139
139
  - `tvBanner`
140
140
 
141
- You can also supply screenshots by creating directories within the `images` directory with the following names, containing PNGs or JPEGs (image names are irrelevant):
141
+ You can also supply screenshots by creating directories within the `images` directory with the following names, containing PNGs or JPEGs:
142
142
 
143
143
  - `phoneScreenshots/`
144
144
  - `sevenInchScreenshots/` (7-inch tablets)
@@ -146,6 +146,7 @@ You can also supply screenshots by creating directories within the `images` dire
146
146
  - `tvScreenshots/`
147
147
  - `wearScreenshots/`
148
148
 
149
+ You may name images anything you like, but screenshots will appear in the Play Store in alphanumerical filename order.
149
150
  Note that these will replace the current images and screenshots on the play store listing, not add to them.
150
151
 
151
152
  ## Changelogs (What's new)
@@ -135,16 +135,16 @@ The output will look like this:
135
135
 
136
136
  ### Add a new tester
137
137
 
138
- To add a new tester to both your App Store Connect account and to your app (if given), use the `pilot add` command. This will create a new tester (if necessary) or add an existing tester to the app to test.
138
+ To add a new tester to your App Store Connect account and to associate it to at least one testing group of your app, use the `pilot add` command. This will create a new tester (if necessary) or add an existing tester to the app to test.
139
139
 
140
140
  ```no-highlight
141
- fastlane pilot add email@invite.com
141
+ fastlane pilot add email@invite.com -g group-1,group-2
142
142
  ```
143
143
 
144
144
  Additionally you can specify the app identifier (if necessary):
145
145
 
146
146
  ```no-highlight
147
- fastlane pilot add email@email.com -a com.krausefx.app
147
+ fastlane pilot add email@email.com -a com.krausefx.app -g group-1,group-2
148
148
  ```
149
149
 
150
150
  ### Find a tester
@@ -173,12 +173,18 @@ The resulting output will look like this:
173
173
 
174
174
  ### Remove a tester
175
175
 
176
- This command will only remove external beta testers.
176
+ This command will remove beta tester from app (from all internal and external groups)
177
177
 
178
178
  ```no-highlight
179
179
  fastlane pilot remove felix@krausefx.com
180
180
  ```
181
181
 
182
+ You can also use `groups` option to remove the tester from the groups specified:
183
+
184
+ ```no-highlight
185
+ fastlane pilot remove felix@krausefx.com -g group-1,group-2
186
+ ```
187
+
182
188
  ### Export testers
183
189
 
184
190
  To export all external testers to a CSV file. Useful if you need to import tester info to another system or a new account.
@@ -85,7 +85,7 @@ module Fastlane
85
85
  env_name: "FASTLANE_ITC_TEAM_ID",
86
86
  description: "The ID of your App Store Connect team if you're in multiple teams",
87
87
  optional: true,
88
- is_string: false, # as we also allow integers, which we convert to strings anyway
88
+ skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
89
89
  code_gen_sensitive: true,
90
90
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
91
91
  default_value_dynamic: true),
@@ -39,13 +39,8 @@ module Fastlane
39
39
  # Set version if it is latest
40
40
  if version == 'latest'
41
41
  # Try to grab the edit version first, else fallback to live version
42
- UI.message("Looking for latest version...")
43
- latest_version = app.get_edit_app_store_version(platform: platform) || app.get_live_app_store_version(platform: platform)
44
-
45
- UI.user_error!("Could not find latest version for your app, please try setting a specific version") if latest_version.nil?
46
-
47
- latest_build = get_latest_build!(app_id: app.id, version: latest_version.version_string, platform: platform)
48
-
42
+ UI.message("Looking for latest build...")
43
+ latest_build = get_latest_build!(app_id: app.id, platform: platform)
49
44
  version = latest_build.app_version
50
45
  build_number = latest_build.version
51
46
  elsif version == 'live'
@@ -59,11 +54,6 @@ module Fastlane
59
54
  build_number = live_version.build.version
60
55
  end
61
56
 
62
- # Remove leading zeros from version string (eg. 1.02 -> 1.2)
63
- if version
64
- version = version.split(".").map(&:to_i).join(".")
65
- end
66
-
67
57
  # Make sure output_directory has a slash on the end
68
58
  if output_directory && !output_directory.end_with?('/')
69
59
  output_directory += '/'
@@ -161,14 +151,14 @@ module Fastlane
161
151
  end
162
152
  # rubocop:enable Metrics/PerceivedComplexity
163
153
 
164
- def self.get_latest_build!(app_id: nil, version: nil, platform: nil)
154
+ def self.get_latest_build!(app_id: nil, platform: nil)
165
155
  filter = { app: app_id }
166
- filter["preReleaseVersion.version"] = version
167
156
  filter["preReleaseVersion.platform"] = platform
168
157
  latest_build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion").first
169
158
 
170
159
  if latest_build.nil?
171
- UI.user_error!("Could not find latest build for version #{version}")
160
+ UI.user_error!("Could not find any build for platform #{platform}") if platform
161
+ UI.user_error!("Could not find any build")
172
162
  end
173
163
 
174
164
  return latest_build
@@ -263,7 +253,7 @@ module Fastlane
263
253
  env_name: "DOWNLOAD_DSYMS_TEAM_ID",
264
254
  description: "The ID of your App Store Connect team if you're in multiple teams",
265
255
  optional: true,
266
- is_string: false, # as we also allow integers, which we convert to strings anyway
256
+ skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
267
257
  code_gen_sensitive: true,
268
258
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
269
259
  default_value_dynamic: true,
@@ -296,7 +286,7 @@ module Fastlane
296
286
  env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
297
287
  description: "The app build_number for dSYMs you wish to download",
298
288
  optional: true,
299
- is_string: false),
289
+ skip_type_validation: true), # as we also allow integers, which we convert to strings anyway
300
290
  FastlaneCore::ConfigItem.new(key: :min_version,
301
291
  short_option: "-m",
302
292
  env_name: "DOWNLOAD_DSYMS_MIN_VERSION",
@@ -306,8 +296,7 @@ module Fastlane
306
296
  short_option: "-d",
307
297
  env_name: "DOWNLOAD_DSYMS_AFTER_UPLOADED_DATE",
308
298
  description: "The uploaded date after which you wish to download dSYMs",
309
- optional: true,
310
- is_string: true),
299
+ optional: true),
311
300
  FastlaneCore::ConfigItem.new(key: :output_directory,
312
301
  short_option: "-s",
313
302
  env_name: "DOWNLOAD_DSYMS_OUTPUT_DIRECTORY",
@@ -61,7 +61,7 @@ module Fastlane
61
61
  description: 'Whether or not all dSYM files are to be included. Optional, default is false in which only your app dSYM is included',
62
62
  default_value: false,
63
63
  optional: true,
64
- is_string: false,
64
+ type: Boolean,
65
65
  env_name: 'DSYM_ZIP_ALL')
66
66
  ]
67
67
  end
@@ -3,15 +3,11 @@ module Fastlane
3
3
  class EnsureEnvVarsAction < Action
4
4
  def self.run(params)
5
5
  variables = params[:env_vars]
6
+ missing_variables = variables.select { |variable| ENV[variable].to_s.strip.empty? }
6
7
 
7
- variables.each do |variable|
8
- next unless ENV[variable].to_s.strip.empty?
9
-
10
- UI.user_error!("Missing environment variable '#{variable}'")
11
- end
8
+ UI.user_error!("Missing environment variable(s) '#{missing_variables.join('\', \'')}'") unless missing_variables.empty?
12
9
 
13
10
  is_one = variables.length == 1
14
-
15
11
  UI.success("Environment variable#{is_one ? '' : 's'} '#{variables.join('\', \'')}' #{is_one ? 'is' : 'are'} set!")
16
12
  end
17
13
 
@@ -35,7 +35,6 @@ module Fastlane
35
35
  FastlaneCore::ConfigItem.new(key: :branch,
36
36
  env_name: "FL_ENSURE_GIT_BRANCH_NAME",
37
37
  description: "The branch that should be checked for. String that can be either the full name of the branch or a regex e.g. `^feature\/.*$` to match",
38
- is_string: true,
39
38
  default_value: 'master')
40
39
  ]
41
40
  end
@@ -65,18 +65,17 @@ module Fastlane
65
65
  description: "The flag whether to show uncommitted changes if the repo is dirty",
66
66
  optional: true,
67
67
  default_value: false,
68
- is_string: false),
68
+ type: Boolean),
69
69
  FastlaneCore::ConfigItem.new(key: :show_diff,
70
70
  env_name: "FL_ENSURE_GIT_STATUS_CLEAN_SHOW_DIFF",
71
71
  description: "The flag whether to show the git diff if the repo is dirty",
72
72
  optional: true,
73
73
  default_value: false,
74
- is_string: false),
74
+ type: Boolean),
75
75
  FastlaneCore::ConfigItem.new(key: :ignored,
76
76
  env_name: "FL_ENSURE_GIT_STATUS_CLEAN_IGNORED_FILE",
77
77
  description: "The flag whether to ignore file the git status if the repo is dirty",
78
- optional: true,
79
- is_string: true)
78
+ optional: true)
80
79
  ]
81
80
  end
82
81