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
@@ -0,0 +1,128 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SourcedocsAction < Action
4
+ def self.run(params)
5
+ UI.user_error!("You have to install sourcedocs using `brew install sourcedocs`") if `which sourcedocs`.to_s.length == 0 && !Helper.test?
6
+
7
+ command = "sourcedocs generate"
8
+ command << " --all-modules" if params[:all_modules]
9
+ command << " --spm-module #{params[:spm_module]}" unless params[:spm_module].nil?
10
+ command << " --module-name #{params[:module_name]}" unless params[:module_name].nil?
11
+ command << " --link-beginning #{params[:link_beginning]}" unless params[:link_beginning].nil?
12
+ command << " --link-ending #{params[:link_ending]}" unless params[:link_ending].nil?
13
+ command << " --output-folder #{params[:output_folder]}" unless params[:output_folder].nil?
14
+ command << " --min-acl #{params[:min_acl]}" unless params[:min_acl].nil?
15
+ command << " --module-name-path" if params[:module_name_path]
16
+ command << " --clean" if params[:clean]
17
+ command << " --collapsible" if params[:collapsible]
18
+ command << " --table-of-contents" if params[:table_of_contents]
19
+ command << " --reproducible-docs" if params[:reproducible]
20
+ unless params[:scheme].nil?
21
+ command << " -- -scheme #{params[:scheme]}"
22
+ command << " -sdk #{params[:sdk_platform]}" unless params[:sdk_platform].nil?
23
+ end
24
+ Actions.sh(command)
25
+ end
26
+
27
+ #####################################################
28
+ # @!group Documentation
29
+ #####################################################
30
+
31
+ def self.description
32
+ "Generate docs using SourceDocs"
33
+ end
34
+
35
+ def self.available_options
36
+ [
37
+ FastlaneCore::ConfigItem.new(key: :all_modules,
38
+ env_name: 'FL_SOURCEDOCS_OUTPUT_ALL_MODULES',
39
+ description: 'Generate documentation for all modules in a Swift package',
40
+ type: Boolean,
41
+ optional: true),
42
+ FastlaneCore::ConfigItem.new(key: :spm_module,
43
+ env_name: 'FL_SOURCEDOCS_SPM_MODULE',
44
+ description: 'Generate documentation for Swift Package Manager module',
45
+ optional: true),
46
+ FastlaneCore::ConfigItem.new(key: :module_name,
47
+ env_name: 'FL_SOURCEDOCS_MODULE_NAME',
48
+ description: 'Generate documentation for a Swift module',
49
+ optional: true),
50
+ FastlaneCore::ConfigItem.new(key: :link_beginning,
51
+ env_name: 'FL_SOURCEDOCS_LINK_BEGINNING',
52
+ description: 'The text to begin links with',
53
+ optional: true),
54
+ FastlaneCore::ConfigItem.new(key: :link_ending,
55
+ env_name: 'FL_SOURCEDOCS_LINK_ENDING',
56
+ description: 'The text to end links with (default: .md)',
57
+ optional: true),
58
+ FastlaneCore::ConfigItem.new(key: :output_folder,
59
+ env_name: 'FL_SOURCEDOCS_OUTPUT_FOLDER',
60
+ description: 'Output directory to clean (default: Documentation/Reference)',
61
+ optional: false),
62
+ FastlaneCore::ConfigItem.new(key: :min_acl,
63
+ env_name: 'FL_SOURCEDOCS_MIN_ACL',
64
+ description: 'Access level to include in documentation [private, fileprivate, internal, public, open] (default: public)',
65
+ optional: true),
66
+ FastlaneCore::ConfigItem.new(key: :module_name_path,
67
+ env_name: 'FL_SOURCEDOCS_MODULE_NAME_PATH',
68
+ description: 'Include the module name as part of the output folder path',
69
+ type: Boolean,
70
+ optional: true),
71
+ FastlaneCore::ConfigItem.new(key: :clean,
72
+ env_name: 'FL_SOURCEDOCS_CLEAN',
73
+ description: 'Delete output folder before generating documentation',
74
+ type: Boolean,
75
+ optional: true),
76
+ FastlaneCore::ConfigItem.new(key: :collapsible,
77
+ env_name: 'FL_SOURCEDOCS_COLLAPSIBLE',
78
+ description: 'Put methods, properties and enum cases inside collapsible blocks',
79
+ type: Boolean,
80
+ optional: true),
81
+ FastlaneCore::ConfigItem.new(key: :table_of_contents,
82
+ env_name: 'FL_SOURCEDOCS_TABLE_OF_CONTENT',
83
+ description: 'Generate a table of contents with properties and methods for each type',
84
+ type: Boolean,
85
+ optional: true),
86
+ FastlaneCore::ConfigItem.new(key: :reproducible,
87
+ env_name: 'FL_SOURCEDOCS_REPRODUCIBLE',
88
+ description: 'Generate documentation that is reproducible: only depends on the sources',
89
+ type: Boolean,
90
+ optional: true),
91
+ FastlaneCore::ConfigItem.new(key: :scheme,
92
+ env_name: 'FL_SOURCEDOCS_SCHEME',
93
+ description: 'Create documentation for specific scheme',
94
+ optional: true),
95
+ FastlaneCore::ConfigItem.new(key: :sdk_platform,
96
+ env_name: 'FL_SOURCEDOCS_SDK_PlATFORM',
97
+ description: 'Create documentation for specific sdk platform',
98
+ optional: true)
99
+ ]
100
+ end
101
+
102
+ def self.output
103
+ end
104
+
105
+ def self.return_value
106
+ end
107
+
108
+ def self.authors
109
+ ["Kukurijek"]
110
+ end
111
+
112
+ def self.is_supported?(platform)
113
+ [:ios, :mac].include?(platform)
114
+ end
115
+
116
+ def self.example_code
117
+ [
118
+ "sourcedocs(output_folder: 'docs')",
119
+ "sourcedocs(output_folder: 'docs', clean: true, reproducible: true, scheme: 'MyApp')"
120
+ ]
121
+ end
122
+
123
+ def self.category
124
+ :documentation
125
+ end
126
+ end
127
+ end
128
+ end
@@ -124,7 +124,7 @@ module Fastlane
124
124
  end
125
125
 
126
126
  def self.return_type
127
- :array
127
+ :array_of_strings
128
128
  end
129
129
 
130
130
  def self.author
@@ -101,13 +101,13 @@ module Fastlane
101
101
  FastlaneCore::ConfigItem.new(key: :verbose,
102
102
  env_name: "FL_SPLUNKMINT_VERBOSE",
103
103
  description: "Make detailed output",
104
- is_string: false,
104
+ type: Boolean,
105
105
  default_value: false,
106
106
  optional: true),
107
107
  FastlaneCore::ConfigItem.new(key: :upload_progress,
108
108
  env_name: "FL_SPLUNKMINT_UPLOAD_PROGRESS",
109
109
  description: "Show upload progress",
110
- is_string: false,
110
+ type: Boolean,
111
111
  default_value: false,
112
112
  optional: true),
113
113
  FastlaneCore::ConfigItem.new(key: :proxy_username,
@@ -48,7 +48,7 @@ module Fastlane
48
48
  FastlaneCore::ConfigItem.new(key: :enable_code_coverage,
49
49
  env_name: "FL_SPM_ENABLE_CODE_COVERAGE",
50
50
  description: "Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command",
51
- is_string: false,
51
+ type: Boolean,
52
52
  optional: true),
53
53
  FastlaneCore::ConfigItem.new(key: :build_path,
54
54
  env_name: "FL_SPM_BUILD_PATH",
@@ -74,7 +74,7 @@ module Fastlane
74
74
  env_name: "FL_SPM_DISABLE_SANDBOX",
75
75
  description: "Disable using the sandbox when executing subprocesses",
76
76
  optional: true,
77
- is_string: false,
77
+ type: Boolean,
78
78
  default_value: false),
79
79
  FastlaneCore::ConfigItem.new(key: :xcpretty_output,
80
80
  env_name: "FL_SPM_XCPRETTY_OUTPUT",
@@ -92,7 +92,7 @@ module Fastlane
92
92
  short_option: "-v",
93
93
  env_name: "FL_SPM_VERBOSE",
94
94
  description: "Increase verbosity of informational output",
95
- is_string: false,
95
+ type: Boolean,
96
96
  default_value: false)
97
97
  ]
98
98
  end
@@ -88,33 +88,28 @@ module Fastlane
88
88
  FastlaneCore::ConfigItem.new(key: :username,
89
89
  short_option: "-u",
90
90
  env_name: "FL_SSH_USERNAME",
91
- description: "Username",
92
- is_string: true),
91
+ description: "Username"),
93
92
  FastlaneCore::ConfigItem.new(key: :password,
94
93
  short_option: "-p",
95
94
  env_name: "FL_SSH_PASSWORD",
96
95
  sensitive: true,
97
96
  description: "Password",
98
- optional: true,
99
- is_string: true),
97
+ optional: true),
100
98
  FastlaneCore::ConfigItem.new(key: :host,
101
99
  short_option: "-H",
102
100
  env_name: "FL_SSH_HOST",
103
- description: "Hostname",
104
- is_string: true),
101
+ description: "Hostname"),
105
102
  FastlaneCore::ConfigItem.new(key: :port,
106
103
  short_option: "-P",
107
104
  env_name: "FL_SSH_PORT",
108
105
  description: "Port",
109
106
  optional: true,
110
- default_value: "22",
111
- is_string: true),
107
+ default_value: "22"),
112
108
  FastlaneCore::ConfigItem.new(key: :commands,
113
109
  short_option: "-C",
114
110
  env_name: "FL_SSH_COMMANDS",
115
111
  description: "Commands",
116
112
  optional: true,
117
- is_string: false,
118
113
  type: Array),
119
114
  FastlaneCore::ConfigItem.new(key: :log,
120
115
  short_option: "-l",
@@ -122,7 +117,7 @@ module Fastlane
122
117
  description: "Log commands and output",
123
118
  optional: true,
124
119
  default_value: true,
125
- is_string: false)
120
+ type: Boolean)
126
121
  ]
127
122
  end
128
123
 
@@ -11,8 +11,20 @@ module Fastlane
11
11
  UI.user_error!("Your version of swiftlint (#{version}) does not support autocorrect mode.\nUpdate swiftlint using `brew update && brew upgrade swiftlint`")
12
12
  end
13
13
 
14
+ # See 'Breaking' section release notes here: https://github.com/realm/SwiftLint/releases/tag/0.43.0
15
+ if params[:mode] == :autocorrect && version >= Gem::Version.new('0.43.0')
16
+ UI.deprecated("Your version of swiftlint (#{version}) has deprecated autocorrect mode, please start using fix mode in input param")
17
+ UI.important("For now, switching swiftlint mode `from :autocorrect to :fix` for you 😇")
18
+ params[:mode] = :fix
19
+ elsif params[:mode] == :fix && version < Gem::Version.new('0.43.0')
20
+ UI.important("Your version of swiftlint (#{version}) does not support fix mode.\nUpdate swiftlint using `brew update && brew upgrade swiftlint`")
21
+ UI.important("For now, switching swiftlint mode `from :fix to :autocorrect` for you 😇")
22
+ params[:mode] = :autocorrect
23
+ end
24
+
25
+ mode_format = params[:mode] == :fix ? "--" : ""
14
26
  command = (params[:executable] || "swiftlint").dup
15
- command << " #{params[:mode]}"
27
+ command << " #{mode_format}#{params[:mode]}"
16
28
  command << optional_flags(params)
17
29
 
18
30
  if params[:files]
@@ -55,7 +67,7 @@ module Fastlane
55
67
  end
56
68
 
57
69
  def self.supported_no_cache_option(params)
58
- if params[:mode] == :autocorrect || params[:mode] == :lint
70
+ if [:autocorrect, :fix, :lint].include?(params[:mode])
59
71
  return " --no-cache"
60
72
  else
61
73
  return ""
@@ -89,14 +101,13 @@ module Fastlane
89
101
  [
90
102
  FastlaneCore::ConfigItem.new(key: :mode,
91
103
  env_name: "FL_SWIFTLINT_MODE",
92
- description: "SwiftLint mode: :lint, :autocorrect or :analyze",
93
- is_string: false,
104
+ description: "SwiftLint mode: :lint, :fix, :autocorrect or :analyze",
105
+ type: Symbol,
94
106
  default_value: :lint,
95
107
  optional: true),
96
108
  FastlaneCore::ConfigItem.new(key: :path,
97
109
  env_name: "FL_SWIFTLINT_PATH",
98
110
  description: "Specify path to lint",
99
- is_string: true,
100
111
  optional: true,
101
112
  verify_block: proc do |value|
102
113
  UI.user_error!("Couldn't find path '#{File.expand_path(value)}'") unless File.exist?(value)
@@ -113,20 +124,18 @@ module Fastlane
113
124
  env_name: "FL_SWIFTLINT_STRICT",
114
125
  description: 'Fail on warnings? (true/false)',
115
126
  default_value: false,
116
- is_string: false,
117
127
  type: Boolean,
118
128
  optional: true),
119
129
  FastlaneCore::ConfigItem.new(key: :files,
120
130
  env_name: "FL_SWIFTLINT_FILES",
121
131
  description: 'List of files to process',
122
- is_string: false,
132
+ type: Array,
123
133
  optional: true),
124
134
  FastlaneCore::ConfigItem.new(key: :ignore_exit_status,
125
135
  env_name: "FL_SWIFTLINT_IGNORE_EXIT_STATUS",
126
136
  description: "Ignore the exit status of the SwiftLint command, so that serious violations \
127
137
  don't fail the build (true/false)",
128
138
  default_value: false,
129
- is_string: false,
130
139
  type: Boolean,
131
140
  optional: true),
132
141
  FastlaneCore::ConfigItem.new(key: :raise_if_swiftlint_error,
@@ -134,49 +143,42 @@ module Fastlane
134
143
  description: "Raises an error if swiftlint fails, so you can fail CI/CD jobs if necessary \
135
144
  (true/false)",
136
145
  default_value: false,
137
- is_string: false,
138
146
  type: Boolean,
139
147
  optional: true),
140
148
  FastlaneCore::ConfigItem.new(key: :reporter,
141
149
  env_name: "FL_SWIFTLINT_REPORTER",
142
150
  description: "Choose output reporter. Available: xcode, json, csv, checkstyle, codeclimate, \
143
151
  junit, html, emoji, sonarqube, markdown, github-actions-logging",
144
- is_string: true,
145
152
  optional: true,
146
153
  verify_block: proc do |value|
147
154
  available = ['xcode', 'json', 'csv', 'checkstyle', 'codeclimate', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
148
- UI.warning("Known 'reporter' values are '#{available.join("', '")}'. If you're receiving errors from swiftlint related to the reporter, make sure the reporter identifier you're using is correct and it's supported by your version of swiftlint.") unless available.include?(value)
155
+ UI.important("Known 'reporter' values are '#{available.join("', '")}'. If you're receiving errors from swiftlint related to the reporter, make sure the reporter identifier you're using is correct and it's supported by your version of swiftlint.") unless available.include?(value)
149
156
  end),
150
157
  FastlaneCore::ConfigItem.new(key: :quiet,
151
158
  env_name: "FL_SWIFTLINT_QUIET",
152
159
  description: "Don't print status logs like 'Linting <file>' & 'Done linting'",
153
160
  default_value: false,
154
- is_string: false,
155
161
  type: Boolean,
156
162
  optional: true),
157
163
  FastlaneCore::ConfigItem.new(key: :executable,
158
164
  env_name: "FL_SWIFTLINT_EXECUTABLE",
159
165
  description: "Path to the `swiftlint` executable on your machine",
160
- is_string: true,
161
166
  optional: true),
162
167
  FastlaneCore::ConfigItem.new(key: :format,
163
168
  env_name: "FL_SWIFTLINT_FORMAT",
164
169
  description: "Format code when mode is :autocorrect",
165
170
  default_value: false,
166
- is_string: false,
167
171
  type: Boolean,
168
172
  optional: true),
169
173
  FastlaneCore::ConfigItem.new(key: :no_cache,
170
174
  env_name: "FL_SWIFTLINT_NO_CACHE",
171
175
  description: "Ignore the cache when mode is :autocorrect or :lint",
172
176
  default_value: false,
173
- is_string: false,
174
177
  type: Boolean,
175
178
  optional: true),
176
179
  FastlaneCore::ConfigItem.new(key: :compiler_log_path,
177
180
  env_name: "FL_SWIFTLINT_COMPILER_LOG_PATH",
178
181
  description: "Compiler log path when mode is :analyze",
179
- is_string: true,
180
182
  optional: true,
181
183
  verify_block: proc do |value|
182
184
  UI.user_error!("Couldn't find compiler_log_path '#{File.expand_path(value)}'") unless File.exist?(value)
@@ -10,7 +10,12 @@ module Fastlane
10
10
  require 'match'
11
11
 
12
12
  params.load_configuration_file("Matchfile")
13
- params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
13
+
14
+ # Only set :api_key from SharedValues if :api_key_path isn't set (conflicting options)
15
+ unless params[:api_key_path]
16
+ params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
17
+ end
18
+
14
19
  Match::Runner.new.run(params)
15
20
 
16
21
  define_profile_type(params)
@@ -77,7 +82,7 @@ module Fastlane
77
82
  def self.output
78
83
  [
79
84
  ['MATCH_PROVISIONING_PROFILE_MAPPING', 'The match provisioning profile mapping'],
80
- ['SIGH_PROFILE_TYPE', 'The profile type, can be appstore, adhoc, development, enterprise']
85
+ ['SIGH_PROFILE_TYPE', 'The profile type, can be app-store, ad-hoc, development, enterprise, can be used in `build_app` as a default value for `export_method`']
81
86
  ]
82
87
  end
83
88
 
@@ -192,7 +192,6 @@ module Fastlane
192
192
  env_name: "FL_TESTFAIRY_UPLOAD_URL", # The name of the environment variable
193
193
  description: "API URL for TestFairy", # a short description of this parameter
194
194
  default_value: "https://upload.testfairy.com",
195
- is_string: true,
196
195
  optional: true),
197
196
  FastlaneCore::ConfigItem.new(key: :testers_groups,
198
197
  optional: true,
@@ -91,7 +91,6 @@ module Fastlane
91
91
  FastlaneCore::ConfigItem.new(key: :notes,
92
92
  env_name: "TRYOUTS_NOTES",
93
93
  description: "Release notes",
94
- is_string: true,
95
94
  optional: true),
96
95
  FastlaneCore::ConfigItem.new(key: :notes_path,
97
96
  env_name: "TRYOUTS_NOTES_PATH",
@@ -103,7 +102,7 @@ module Fastlane
103
102
  FastlaneCore::ConfigItem.new(key: :notify,
104
103
  env_name: "TRYOUTS_NOTIFY",
105
104
  description: "Notify testers? 0 for no",
106
- is_string: false,
105
+ type: Integer,
107
106
  default_value: 1),
108
107
  FastlaneCore::ConfigItem.new(key: :status,
109
108
  env_name: "TRYOUTS_STATUS",
@@ -112,7 +111,7 @@ module Fastlane
112
111
  available_options = ["1", "2"]
113
112
  UI.user_error!("'#{value}' is not a valid 'status' value. Available options are #{available_options.join(', ')}") unless available_options.include?(value.to_s)
114
113
  end,
115
- is_string: false,
114
+ type: Integer,
116
115
  default_value: 2)
117
116
  ]
118
117
  end
@@ -32,30 +32,25 @@ module Fastlane
32
32
  env_name: "FL_TW_CONSUMER_KEY",
33
33
  description: "Consumer Key",
34
34
  sensitive: true,
35
- is_string: true,
36
35
  optional: false),
37
36
  FastlaneCore::ConfigItem.new(key: :consumer_secret,
38
37
  env_name: "FL_TW_CONSUMER_SECRET",
39
38
  sensitive: true,
40
39
  description: "Consumer Secret",
41
- is_string: true,
42
40
  optional: false),
43
41
  FastlaneCore::ConfigItem.new(key: :access_token,
44
42
  env_name: "FL_TW_ACCESS_TOKEN",
45
43
  sensitive: true,
46
44
  description: "Access Token",
47
- is_string: true,
48
45
  optional: false),
49
46
  FastlaneCore::ConfigItem.new(key: :access_token_secret,
50
47
  env_name: "FL_TW_ACCESS_TOKEN_SECRET",
51
48
  sensitive: true,
52
49
  description: "Access Token Secret",
53
- is_string: true,
54
50
  optional: false),
55
51
  FastlaneCore::ConfigItem.new(key: :message,
56
52
  env_name: "FL_TW_MESSAGE",
57
53
  description: "The tweet",
58
- is_string: true,
59
54
  optional: false)
60
55
 
61
56
  ]
@@ -81,13 +81,13 @@ module Fastlane
81
81
  optional: false),
82
82
  FastlaneCore::ConfigItem.new(key: :add_to_search_list,
83
83
  env_name: "FL_UNLOCK_KEYCHAIN_ADD_TO_SEARCH_LIST",
84
- description: "Add to keychain search list",
85
- is_string: false,
84
+ description: "Add to keychain search list, valid values are true, false, :add, and :replace",
85
+ skip_type_validation: true, # allow Boolean, Symbol
86
86
  default_value: true),
87
87
  FastlaneCore::ConfigItem.new(key: :set_default,
88
88
  env_name: "FL_UNLOCK_KEYCHAIN_SET_DEFAULT",
89
89
  description: "Set as default keychain",
90
- is_string: false,
90
+ type: Boolean,
91
91
  default_value: false)
92
92
 
93
93
  ]
@@ -53,10 +53,7 @@ module Fastlane
53
53
  FastlaneCore::ConfigItem.new(key: :app_group_identifiers,
54
54
  env_name: "FL_UPDATE_APP_GROUP_IDENTIFIER_APP_GROUP_IDENTIFIERS",
55
55
  description: "An Array of unique identifiers for the app groups. Eg. ['group.com.test.testapp']",
56
- is_string: false,
57
- verify_block: proc do |value|
58
- UI.user_error!("The parameter app_group_identifiers need to be an Array.") unless value.kind_of?(Array)
59
- end)
56
+ type: Array)
60
57
  ]
61
58
  end
62
59
 
@@ -123,45 +123,38 @@ module Fastlane
123
123
  FastlaneCore::ConfigItem.new(key: :use_automatic_signing,
124
124
  env_name: "FL_PROJECT_USE_AUTOMATIC_SIGNING",
125
125
  description: "Defines if project should use automatic signing",
126
- is_string: false,
126
+ type: Boolean,
127
127
  default_value: false),
128
128
  FastlaneCore::ConfigItem.new(key: :team_id,
129
129
  env_name: "FASTLANE_TEAM_ID",
130
130
  optional: true,
131
- description: "Team ID, is used when upgrading project",
132
- is_string: true),
131
+ description: "Team ID, is used when upgrading project"),
133
132
  FastlaneCore::ConfigItem.new(key: :targets,
134
133
  env_name: "FL_PROJECT_SIGNING_TARGETS",
135
134
  optional: true,
136
135
  type: Array,
137
- description: "Specify targets you want to toggle the signing mech. (default to all targets)",
138
- is_string: false),
136
+ description: "Specify targets you want to toggle the signing mech. (default to all targets)"),
139
137
  FastlaneCore::ConfigItem.new(key: :build_configurations,
140
138
  env_name: "FL_PROJECT_SIGNING_BUILD_CONFIGURATIONS",
141
139
  optional: true,
142
140
  type: Array,
143
- description: "Specify build_configurations you want to toggle the signing mech. (default to all targets)",
144
- is_string: false),
141
+ description: "Specify build_configurations you want to toggle the signing mech. (default to all configurations)"),
145
142
  FastlaneCore::ConfigItem.new(key: :code_sign_identity,
146
143
  env_name: "FL_CODE_SIGN_IDENTITY",
147
144
  description: "Code signing identity type (iPhone Developer, iPhone Distribution)",
148
- optional: true,
149
- is_string: true),
145
+ optional: true),
150
146
  FastlaneCore::ConfigItem.new(key: :profile_name,
151
147
  env_name: "FL_PROVISIONING_PROFILE_SPECIFIER",
152
148
  description: "Provisioning profile name to use for code signing",
153
- optional: true,
154
- is_string: true),
149
+ optional: true),
155
150
  FastlaneCore::ConfigItem.new(key: :profile_uuid,
156
151
  env_name: "FL_PROVISIONING_PROFILE",
157
152
  description: "Provisioning profile UUID to use for code signing",
158
- optional: true,
159
- is_string: true),
153
+ optional: true),
160
154
  FastlaneCore::ConfigItem.new(key: :bundle_identifier,
161
155
  env_name: "FL_APP_IDENTIFIER",
162
156
  description: "Application Product Bundle Identifier",
163
- optional: true,
164
- is_string: true)
157
+ optional: true)
165
158
  ]
166
159
  end
167
160
 
@@ -122,12 +122,12 @@ module Fastlane
122
122
  FastlaneCore::ConfigItem.new(key: :no_update,
123
123
  env_name: "FL_NO_UPDATE",
124
124
  description: "Don't update during this run. This is used internally",
125
- is_string: false,
125
+ type: Boolean,
126
126
  default_value: false),
127
127
  FastlaneCore::ConfigItem.new(key: :nightly,
128
128
  env_name: "FL_UPDATE_FASTLANE_NIGHTLY",
129
129
  description: "Opt-in to install and use nightly fastlane builds",
130
- is_string: false,
130
+ type: Boolean,
131
131
  default_value: false,
132
132
  deprecated: "Nightly builds are no longer being made available")
133
133
  ]
@@ -61,10 +61,7 @@ module Fastlane
61
61
  FastlaneCore::ConfigItem.new(key: :icloud_container_identifiers,
62
62
  env_name: "FL_UPDATE_ICLOUD_CONTAINER_IDENTIFIERS_IDENTIFIERS",
63
63
  description: "An Array of unique identifiers for the iCloud containers. Eg. ['iCloud.com.test.testapp']",
64
- is_string: false,
65
- verify_block: proc do |value|
66
- UI.user_error!("The parameter icloud_container_identifiers needs to be an Array.") unless value.kind_of?(Array)
67
- end)
64
+ type: Array)
68
65
  ]
69
66
  end
70
67
 
@@ -98,7 +98,7 @@ module Fastlane
98
98
  description: 'The Display Name of your app',
99
99
  optional: true),
100
100
  FastlaneCore::ConfigItem.new(key: :block,
101
- is_string: false,
101
+ type: :string_callback,
102
102
  description: 'A block to process plist with custom logic',
103
103
  optional: true)
104
104
 
@@ -56,10 +56,7 @@ module Fastlane
56
56
  FastlaneCore::ConfigItem.new(key: :identifiers,
57
57
  env_name: "FL_UPDATE_KEYCHAIN_ACCESS_GROUPS_IDENTIFIERS",
58
58
  description: "An Array of unique identifiers for the keychain access groups. Eg. ['your.keychain.access.groups.identifiers']",
59
- is_string: false,
60
- verify_block: proc do |value|
61
- UI.user_error!("The parameter identifiers need to be an Array.") unless value.kind_of?(Array)
62
- end)
59
+ type: Array)
63
60
  ]
64
61
  end
65
62
 
@@ -50,7 +50,7 @@ module Fastlane
50
50
  description: "Path to plist file",
51
51
  optional: true),
52
52
  FastlaneCore::ConfigItem.new(key: :block,
53
- is_string: false,
53
+ type: :string_callback,
54
54
  description: 'A block to process plist with custom logic')
55
55
 
56
56
  ]
@@ -21,9 +21,8 @@ module Fastlane
21
21
  # download certificate
22
22
  unless File.exist?(params[:certificate])
23
23
  UI.message("Downloading root certificate from (#{ROOT_CERTIFICATE_URL}) to path '#{params[:certificate]}'")
24
- require 'open-uri'
25
24
  File.open(params[:certificate], "w:ASCII-8BIT") do |file|
26
- file.write(open(ROOT_CERTIFICATE_URL, "rb").read)
25
+ file.write(FastlaneCore::Helper.open_uri(ROOT_CERTIFICATE_URL, "rb").read)
27
26
  end
28
27
  end
29
28
 
@@ -118,7 +117,7 @@ module Fastlane
118
117
  env_name: "FL_PROJECT_PROVISIONING_PROFILE_TARGET_FILTER",
119
118
  description: "A filter for the target name. Use a standard regex",
120
119
  optional: true,
121
- is_string: false,
120
+ skip_type_validation: true, # allow Regexp, String
122
121
  verify_block: proc do |value|
123
122
  UI.user_error!("target_filter should be Regexp or String") unless [Regexp, String].any? { |type| value.kind_of?(type) }
124
123
  end),
@@ -130,7 +129,7 @@ module Fastlane
130
129
  env_name: "FL_PROJECT_PROVISIONING_PROFILE_BUILD_CONFIGURATION",
131
130
  description: "A filter for the build configuration name. Use a standard regex. Applied to all configurations if not specified",
132
131
  optional: true,
133
- is_string: false,
132
+ skip_type_validation: true, # allow Regexp, String
134
133
  verify_block: proc do |value|
135
134
  UI.user_error!("build_configuration should be Regexp or String") unless [Regexp, String].any? { |type| value.kind_of?(type) }
136
135
  end),
@@ -58,7 +58,6 @@ module Fastlane
58
58
  description: "The production app secret"),
59
59
  FastlaneCore::ConfigItem.new(key: :detect_provisioning_mode,
60
60
  env_name: "URBAN_AIRSHIP_DETECT_PROVISIONING_MODE",
61
- is_string: false,
62
61
  type: Boolean,
63
62
  optional: true,
64
63
  description: "Automatically detect provisioning mode")