fastlane_hotfix 2.165.1 → 2.187.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +106 -86
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +6 -5
  6. data/cert/lib/cert/runner.rb +8 -8
  7. data/deliver/lib/assets/summary.html.erb +10 -10
  8. data/deliver/lib/deliver/app_screenshot.rb +17 -11
  9. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  10. data/deliver/lib/deliver/commands_generator.rb +4 -3
  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 +123 -21
  16. data/deliver/lib/deliver/module.rb +6 -0
  17. data/deliver/lib/deliver/options.rb +41 -55
  18. data/deliver/lib/deliver/runner.rb +19 -14
  19. data/deliver/lib/deliver/setup.rb +9 -5
  20. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  21. data/deliver/lib/deliver/upload_metadata.rb +32 -21
  22. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  23. data/deliver/lib/deliver/upload_screenshots.rb +14 -76
  24. data/fastlane/lib/fastlane/actions/actions_helper.rb +3 -3
  25. data/fastlane/lib/fastlane/actions/adb.rb +2 -5
  26. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  27. data/fastlane/lib/fastlane/actions/add_git_tag.rb +22 -6
  28. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +17 -17
  29. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
  30. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  31. data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
  32. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  33. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  34. data/fastlane/lib/fastlane/actions/appledoc.rb +46 -46
  35. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  36. data/fastlane/lib/fastlane/actions/artifactory.rb +41 -9
  37. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  38. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
  40. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  41. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
  42. data/fastlane/lib/fastlane/actions/build_app.rb +7 -1
  43. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  44. data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
  45. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  46. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  47. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
  48. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  49. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  50. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  51. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  52. data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
  53. data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
  54. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  55. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  56. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  57. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  58. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  59. data/fastlane/lib/fastlane/actions/create_pull_request.rb +15 -9
  60. data/fastlane/lib/fastlane/actions/create_xcframework.rb +123 -0
  61. data/fastlane/lib/fastlane/actions/danger.rb +13 -12
  62. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  63. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  64. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +27 -28
  65. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +7 -3
  66. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  67. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +20 -3
  68. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +9 -3
  69. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +39 -16
  70. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  71. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +15 -5
  72. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  73. data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -20
  74. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  76. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  77. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  78. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  79. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  80. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  81. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  82. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  84. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  85. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  86. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
  87. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +9 -1
  88. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  90. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  91. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  92. data/fastlane/lib/fastlane/actions/git_commit.rb +12 -10
  93. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  94. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  95. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  96. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  97. data/fastlane/lib/fastlane/actions/github_api.rb +17 -8
  98. data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
  99. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  100. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  101. data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
  102. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  103. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  104. data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
  105. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
  106. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  107. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  108. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  109. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  110. data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
  111. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  112. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +6 -6
  113. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  114. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  115. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  116. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  117. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  118. data/fastlane/lib/fastlane/actions/nexus_upload.rb +3 -2
  119. data/fastlane/lib/fastlane/actions/notarize.rb +98 -54
  120. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  121. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  122. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  123. data/fastlane/lib/fastlane/actions/onesignal.rb +13 -3
  124. data/fastlane/lib/fastlane/actions/pod_push.rb +9 -2
  125. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  126. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  127. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  128. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +14 -3
  129. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  130. data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
  131. data/fastlane/lib/fastlane/actions/register_devices.rb +11 -14
  132. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  133. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  134. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  135. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  136. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  137. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  138. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  139. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  140. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  141. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  142. data/fastlane/lib/fastlane/actions/set_changelog.rb +10 -13
  143. data/fastlane/lib/fastlane/actions/set_github_release.rb +23 -16
  144. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  145. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  146. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  147. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  148. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  149. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  150. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  151. data/fastlane/lib/fastlane/actions/slack.rb +164 -145
  152. data/fastlane/lib/fastlane/actions/slather.rb +5 -21
  153. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  154. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  155. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  156. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  157. data/fastlane/lib/fastlane/actions/spm.rb +8 -2
  158. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  159. data/fastlane/lib/fastlane/actions/swiftlint.rb +21 -19
  160. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
  161. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  162. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  163. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  164. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  165. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  166. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  167. data/fastlane/lib/fastlane/actions/update_fastlane.rb +31 -10
  168. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  169. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  170. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  171. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  172. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
  173. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  174. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  175. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
  176. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
  177. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  178. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +8 -4
  179. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +7 -2
  180. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  181. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  182. data/fastlane/lib/fastlane/actions/xcode_install.rb +8 -5
  183. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  184. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  185. data/fastlane/lib/fastlane/cli_tools_distributor.rb +6 -3
  186. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  187. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  188. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  189. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  190. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  191. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  192. data/fastlane/lib/fastlane/fast_file.rb +19 -7
  193. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  194. data/fastlane/lib/fastlane/features.rb +1 -1
  195. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  196. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  197. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  198. data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
  199. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  200. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  201. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  202. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  203. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  204. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
  205. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  206. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  207. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  208. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +31 -35
  209. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  210. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  211. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  212. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +3 -0
  213. data/fastlane/lib/fastlane/swift_fastlane_function.rb +44 -16
  214. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  215. data/fastlane/lib/fastlane/version.rb +2 -2
  216. data/fastlane/swift/Actions.swift +1 -1
  217. data/fastlane/swift/Appfile.swift +1 -1
  218. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  219. data/fastlane/swift/ControlCommand.swift +1 -1
  220. data/fastlane/swift/Deliverfile.swift +2 -2
  221. data/fastlane/swift/DeliverfileProtocol.swift +23 -23
  222. data/fastlane/swift/Fastfile.swift +1 -1
  223. data/fastlane/swift/Fastlane.swift +7965 -4213
  224. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  225. data/fastlane/swift/Gymfile.swift +2 -2
  226. data/fastlane/swift/GymfileProtocol.swift +15 -3
  227. data/fastlane/swift/LaneFileProtocol.swift +12 -6
  228. data/fastlane/swift/MainProcess.swift +3 -1
  229. data/fastlane/swift/Matchfile.swift +2 -2
  230. data/fastlane/swift/MatchfileProtocol.swift +4 -4
  231. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  232. data/fastlane/swift/Plugins.swift +1 -1
  233. data/fastlane/swift/Precheckfile.swift +2 -2
  234. data/fastlane/swift/PrecheckfileProtocol.swift +8 -4
  235. data/fastlane/swift/RubyCommand.swift +2 -2
  236. data/fastlane/swift/RubyCommandable.swift +1 -1
  237. data/fastlane/swift/Runner.swift +3 -3
  238. data/fastlane/swift/RunnerArgument.swift +1 -1
  239. data/fastlane/swift/Scanfile.swift +2 -2
  240. data/fastlane/swift/ScanfileProtocol.swift +34 -2
  241. data/fastlane/swift/Screengrabfile.swift +2 -2
  242. data/fastlane/swift/ScreengrabfileProtocol.swift +5 -5
  243. data/fastlane/swift/Snapshotfile.swift +2 -2
  244. data/fastlane/swift/SnapshotfileProtocol.swift +19 -3
  245. data/fastlane/swift/SocketClient.swift +4 -3
  246. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  247. data/fastlane/swift/SocketResponse.swift +5 -3
  248. data/fastlane/swift/formatting/Brewfile.lock.json +24 -16
  249. data/fastlane/swift/main.swift +1 -1
  250. data/fastlane/swift/upgrade_manifest.json +1 -1
  251. data/fastlane_core/lib/fastlane_core.rb +22 -20
  252. data/fastlane_core/lib/fastlane_core/build_watcher.rb +89 -12
  253. data/fastlane_core/lib/fastlane_core/cert_checker.rb +12 -7
  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 +78 -14
  261. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +41 -16
  262. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  263. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +20 -15
  264. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  265. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  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 +48 -28
  269. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +3 -1
  270. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
  271. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  272. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +8 -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/frameit/lib/frameit/commands_generator.rb +2 -1
  279. data/frameit/lib/frameit/config_parser.rb +2 -2
  280. data/frameit/lib/frameit/device_types.rb +7 -1
  281. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  282. data/gym/lib/gym/code_signing_mapping.rb +3 -3
  283. data/gym/lib/gym/commands_generator.rb +2 -1
  284. data/gym/lib/gym/error_handler.rb +8 -0
  285. data/gym/lib/gym/generators/build_command_generator.rb +3 -0
  286. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  287. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +21 -15
  288. data/gym/lib/gym/options.rb +19 -3
  289. data/gym/lib/gym/runner.rb +15 -4
  290. data/match/lib/match/change_password.rb +3 -3
  291. data/match/lib/match/commands_generator.rb +2 -1
  292. data/match/lib/match/encryption/interface.rb +1 -1
  293. data/match/lib/match/encryption/openssl.rb +5 -3
  294. data/match/lib/match/importer.rb +9 -10
  295. data/match/lib/match/migrate.rb +2 -3
  296. data/match/lib/match/module.rb +2 -1
  297. data/match/lib/match/nuke.rb +19 -15
  298. data/match/lib/match/options.rb +4 -3
  299. data/match/lib/match/runner.rb +3 -4
  300. data/match/lib/match/spaceship_ensure.rb +3 -0
  301. data/match/lib/match/storage/git_storage.rb +14 -10
  302. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  303. data/match/lib/match/storage/s3_storage.rb +2 -2
  304. data/pem/lib/pem/commands_generator.rb +2 -1
  305. data/pilot/lib/pilot.rb +0 -1
  306. data/pilot/lib/pilot/build_manager.rb +41 -15
  307. data/pilot/lib/pilot/commands_generator.rb +2 -1
  308. data/pilot/lib/pilot/manager.rb +11 -8
  309. data/pilot/lib/pilot/options.rb +18 -9
  310. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  311. data/pilot/lib/pilot/tester_manager.rb +0 -1
  312. data/precheck/lib/precheck/commands_generator.rb +2 -1
  313. data/precheck/lib/precheck/options.rb +9 -3
  314. data/precheck/lib/precheck/rule_processor.rb +1 -1
  315. data/precheck/lib/precheck/runner.rb +14 -9
  316. data/produce/lib/produce/commands_generator.rb +101 -28
  317. data/produce/lib/produce/developer_center.rb +42 -4
  318. data/produce/lib/produce/options.rb +1 -1
  319. data/produce/lib/produce/service.rb +270 -179
  320. data/scan/lib/scan/commands_generator.rb +2 -1
  321. data/scan/lib/scan/detect_values.rb +7 -2
  322. data/scan/lib/scan/module.rb +4 -0
  323. data/scan/lib/scan/options.rb +46 -1
  324. data/scan/lib/scan/runner.rb +88 -3
  325. data/scan/lib/scan/slack_poster.rb +4 -1
  326. data/scan/lib/scan/test_command_generator.rb +13 -8
  327. data/screengrab/lib/screengrab/android_environment.rb +5 -53
  328. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  329. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  330. data/screengrab/lib/screengrab/options.rb +5 -2
  331. data/screengrab/lib/screengrab/runner.rb +111 -108
  332. data/sigh/lib/assets/resign.sh +81 -61
  333. data/sigh/lib/sigh/commands_generator.rb +2 -1
  334. data/sigh/lib/sigh/download_all.rb +4 -8
  335. data/sigh/lib/sigh/options.rb +3 -2
  336. data/sigh/lib/sigh/runner.rb +9 -9
  337. data/snapshot/lib/assets/SnapfileTemplate +3 -2
  338. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  339. data/snapshot/lib/assets/SnapshotHelper.swift +20 -12
  340. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  341. data/snapshot/lib/snapshot/options.rb +22 -2
  342. data/snapshot/lib/snapshot/reports_generator.rb +7 -1
  343. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  344. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  345. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +10 -5
  346. data/snapshot/lib/snapshot/test_command_generator.rb +18 -4
  347. data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -1
  348. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +1 -1
  349. data/snapshot/lib/snapshot/update.rb +1 -1
  350. data/spaceship/README.md +4 -14
  351. data/spaceship/lib/spaceship/base.rb +2 -2
  352. data/spaceship/lib/spaceship/client.rb +47 -29
  353. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  354. data/spaceship/lib/spaceship/connect_api.rb +6 -0
  355. data/spaceship/lib/spaceship/connect_api/api_client.rb +67 -9
  356. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  357. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +39 -6
  358. data/spaceship/lib/spaceship/connect_api/models/app.rb +95 -55
  359. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  360. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  361. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  362. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  363. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  364. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  365. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +26 -10
  366. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +8 -4
  367. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +15 -11
  368. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +18 -9
  369. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +10 -8
  370. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +20 -11
  371. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +7 -5
  372. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +6 -4
  373. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +62 -38
  374. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -14
  375. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +3 -2
  376. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +3 -2
  377. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +6 -4
  378. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +29 -3
  379. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +15 -9
  380. data/spaceship/lib/spaceship/connect_api/models/build.rb +34 -17
  381. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  382. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +3 -2
  383. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +41 -6
  384. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +86 -21
  385. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +12 -8
  386. data/spaceship/lib/spaceship/connect_api/models/device.rb +36 -4
  387. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +6 -4
  388. data/spaceship/lib/spaceship/connect_api/models/profile.rb +18 -8
  389. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +3 -2
  390. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +9 -6
  391. data/spaceship/lib/spaceship/connect_api/models/territory.rb +3 -2
  392. data/spaceship/lib/spaceship/connect_api/models/user.rb +6 -4
  393. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +22 -6
  394. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +99 -2
  395. data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
  396. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +50 -0
  397. data/spaceship/lib/spaceship/connect_api/token.rb +15 -3
  398. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +122 -2
  399. data/spaceship/lib/spaceship/errors.rb +19 -0
  400. data/spaceship/lib/spaceship/playground.rb +2 -2
  401. data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
  402. data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
  403. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  404. data/spaceship/lib/spaceship/tunes/tunes_client.rb +4 -4
  405. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +59 -33
  406. data/spaceship/lib/spaceship/ui.rb +2 -2
  407. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  408. data/supply/lib/supply.rb +1 -1
  409. data/supply/lib/supply/client.rb +5 -3
  410. data/supply/lib/supply/commands_generator.rb +2 -1
  411. data/supply/lib/supply/options.rb +3 -3
  412. data/supply/lib/supply/uploader.rb +6 -4
  413. metadata +125 -93
  414. data/pilot/lib/pilot/features.rb +0 -0
  415. data/pilot/lib/pilot/tester_util.rb +0 -0
@@ -158,90 +158,76 @@ module Fastlane
158
158
  FastlaneCore::ConfigItem.new(key: :buildkite,
159
159
  env_name: "FL_SLATHER_BUILDKITE_ENABLED", # The name of the environment variable
160
160
  description: "Tell slather that it is running on Buildkite",
161
- is_string: false,
162
161
  type: Boolean,
163
162
  optional: true),
164
163
  FastlaneCore::ConfigItem.new(key: :teamcity,
165
164
  env_name: "FL_SLATHER_TEAMCITY_ENABLED", # The name of the environment variable
166
165
  description: "Tell slather that it is running on TeamCity",
167
- is_string: false,
168
166
  type: Boolean,
169
167
  optional: true),
170
168
  FastlaneCore::ConfigItem.new(key: :jenkins,
171
169
  env_name: "FL_SLATHER_JENKINS_ENABLED", # The name of the environment variable
172
170
  description: "Tell slather that it is running on Jenkins",
173
- is_string: false,
174
171
  type: Boolean,
175
172
  optional: true),
176
173
  FastlaneCore::ConfigItem.new(key: :travis,
177
174
  env_name: "FL_SLATHER_TRAVIS_ENABLED", # The name of the environment variable
178
175
  description: "Tell slather that it is running on TravisCI",
179
- is_string: false,
180
176
  type: Boolean,
181
177
  optional: true),
182
178
  FastlaneCore::ConfigItem.new(key: :travis_pro,
183
179
  env_name: "FL_SLATHER_TRAVIS_PRO_ENABLED", # The name of the environment variable
184
180
  description: "Tell slather that it is running on TravisCI Pro",
185
- is_string: false,
186
181
  type: Boolean,
187
182
  optional: true),
188
183
  FastlaneCore::ConfigItem.new(key: :circleci,
189
184
  env_name: "FL_SLATHER_CIRCLECI_ENABLED",
190
185
  description: "Tell slather that it is running on CircleCI",
191
- is_string: false,
192
186
  type: Boolean,
193
187
  optional: true),
194
188
  FastlaneCore::ConfigItem.new(key: :coveralls,
195
189
  env_name: "FL_SLATHER_COVERALLS_ENABLED",
196
190
  description: "Tell slather that it should post data to Coveralls",
197
- is_string: false,
198
191
  type: Boolean,
199
192
  optional: true),
200
193
  FastlaneCore::ConfigItem.new(key: :simple_output,
201
194
  env_name: "FL_SLATHER_SIMPLE_OUTPUT_ENABLED",
202
195
  description: "Tell slather that it should output results to the terminal",
203
- is_string: false,
204
196
  type: Boolean,
205
197
  optional: true),
206
198
  FastlaneCore::ConfigItem.new(key: :gutter_json,
207
199
  env_name: "FL_SLATHER_GUTTER_JSON_ENABLED",
208
200
  description: "Tell slather that it should output results as Gutter JSON format",
209
- is_string: false,
210
201
  type: Boolean,
211
202
  optional: true),
212
203
  FastlaneCore::ConfigItem.new(key: :cobertura_xml,
213
204
  env_name: "FL_SLATHER_COBERTURA_XML_ENABLED",
214
205
  description: "Tell slather that it should output results as Cobertura XML format",
215
- is_string: false,
216
206
  type: Boolean,
217
207
  optional: true),
218
208
  FastlaneCore::ConfigItem.new(key: :sonarqube_xml,
219
209
  env_name: "FL_SLATHER_SONARQUBE_XML_ENABLED",
220
210
  description: "Tell slather that it should output results as SonarQube Generic XML format",
221
- is_string: false,
222
211
  type: Boolean,
223
212
  optional: true),
224
213
  FastlaneCore::ConfigItem.new(key: :llvm_cov,
225
214
  env_name: "FL_SLATHER_LLVM_COV_ENABLED",
226
215
  description: "Tell slather that it should output results as llvm-cov show format",
227
- is_string: false,
216
+ type: Boolean,
228
217
  optional: true),
229
218
  FastlaneCore::ConfigItem.new(key: :json,
230
219
  env_name: "FL_SLATHER_JSON_ENABLED",
231
220
  description: "Tell slather that it should output results as static JSON report",
232
- is_string: false,
233
221
  type: Boolean,
234
222
  optional: true),
235
223
  FastlaneCore::ConfigItem.new(key: :html,
236
224
  env_name: "FL_SLATHER_HTML_ENABLED",
237
225
  description: "Tell slather that it should output results as static HTML pages",
238
- is_string: false,
239
226
  type: Boolean,
240
227
  optional: true),
241
228
  FastlaneCore::ConfigItem.new(key: :show,
242
229
  env_name: "FL_SLATHER_SHOW_ENABLED",
243
230
  description: "Tell slather that it should open static html pages automatically",
244
- is_string: false,
245
231
  type: Boolean,
246
232
  default_value: false),
247
233
  FastlaneCore::ConfigItem.new(key: :source_directory,
@@ -260,20 +246,18 @@ module Fastlane
260
246
  FastlaneCore::ConfigItem.new(key: :verbose,
261
247
  env_name: "FL_SLATHER_VERBOSE",
262
248
  description: "Tell slather to enable verbose mode",
263
- is_string: false,
264
249
  type: Boolean,
265
250
  optional: true),
266
251
  FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
267
252
  env_name: "FL_SLATHER_USE_BUNDLE_EXEC",
268
253
  description: "Use bundle exec to execute slather. Make sure it is in the Gemfile",
269
- is_string: false,
270
254
  type: Boolean,
271
255
  default_value: false),
272
256
  FastlaneCore::ConfigItem.new(key: :binary_basename,
273
257
  env_name: "FL_SLATHER_BINARY_BASENAME",
274
258
  description: "Basename of the binary file, this should match the name of your bundle excluding its extension (i.e. YourApp [for YourApp.app bundle])",
275
- is_string: false,
276
- default_value: false),
259
+ type: Array,
260
+ optional: true),
277
261
  FastlaneCore::ConfigItem.new(key: :binary_file,
278
262
  env_name: "FL_SLATHER_BINARY_FILE",
279
263
  description: "Binary file name to be used for code coverage",
@@ -287,13 +271,13 @@ module Fastlane
287
271
  FastlaneCore::ConfigItem.new(key: :source_files,
288
272
  env_name: "FL_SLATHER_SOURCE_FILES",
289
273
  description: "A Dir.glob compatible pattern used to limit the lookup to specific source files. Ignored in gcov mode",
290
- is_string: false,
274
+ skip_type_validation: true, # skipping validation for backwards compatibility with Boolean type
291
275
  default_value: false,
292
276
  optional: true),
293
277
  FastlaneCore::ConfigItem.new(key: :decimals,
294
278
  env_name: "FL_SLATHER_DECIMALS",
295
279
  description: "The amount of decimals to use for % coverage reporting",
296
- is_string: false,
280
+ skip_type_validation: true, # allow Integer, String
297
281
  default_value: false,
298
282
  optional: true)
299
283
  ]
@@ -60,12 +60,12 @@ module Fastlane
60
60
  def self.available_options
61
61
  [
62
62
  FastlaneCore::ConfigItem.new(key: :project_configuration_path,
63
- env_name: "FL_SONAR_RUNNER_PROPERTIES_PATH",
64
- description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-scanner binary
65
- optional: true,
66
- verify_block: proc do |value|
67
- UI.user_error!("Couldn't find file at path '#{value}'") unless value.nil? || File.exist?(value)
68
- end),
63
+ env_name: "FL_SONAR_RUNNER_PROPERTIES_PATH",
64
+ description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-scanner binary
65
+ optional: true,
66
+ verify_block: proc do |value|
67
+ UI.user_error!("Couldn't find file at path '#{value}'") unless value.nil? || File.exist?(value)
68
+ end),
69
69
  FastlaneCore::ConfigItem.new(key: :project_key,
70
70
  env_name: "FL_SONAR_RUNNER_PROJECT_KEY",
71
71
  description: "The key sonar uses to identify the project, e.g. `name.gretzki.awesomeApp`. Must either be specified here or inside the sonar project configuration file",
@@ -102,38 +102,31 @@ module Fastlane
102
102
  env_name: "FL_SONAR_LOGIN",
103
103
  description: "Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e)",
104
104
  optional: true,
105
- is_string: true,
106
105
  sensitive: true),
107
106
  FastlaneCore::ConfigItem.new(key: :sonar_url,
108
107
  env_name: "FL_SONAR_URL",
109
108
  description: "Pass the url of the Sonar server",
110
- optional: true,
111
- is_string: true),
109
+ optional: true),
112
110
  FastlaneCore::ConfigItem.new(key: :sonar_organization,
113
111
  env_name: "FL_SONAR_ORGANIZATION",
114
112
  description: "Key of the organization on SonarCloud",
115
- optional: true,
116
- is_string: true),
113
+ optional: true),
117
114
  FastlaneCore::ConfigItem.new(key: :branch_name,
118
115
  env_name: "FL_SONAR_RUNNER_BRANCH_NAME",
119
116
  description: "Pass the branch name which is getting scanned",
120
- optional: true,
121
- is_string: true),
117
+ optional: true),
122
118
  FastlaneCore::ConfigItem.new(key: :pull_request_branch,
123
119
  env_name: "FL_SONAR_RUNNER_PULL_REQUEST_BRANCH",
124
120
  description: "The name of the branch that contains the changes to be merged",
125
- optional: true,
126
- is_string: true),
121
+ optional: true),
127
122
  FastlaneCore::ConfigItem.new(key: :pull_request_base,
128
123
  env_name: "FL_SONAR_RUNNER_PULL_REQUEST_BASE",
129
124
  description: "The long-lived branch into which the PR will be merged",
130
- optional: true,
131
- is_string: true),
125
+ optional: true),
132
126
  FastlaneCore::ConfigItem.new(key: :pull_request_key,
133
127
  env_name: "FL_SONAR_RUNNER_PULL_REQUEST_KEY",
134
128
  description: "Unique identifier of your PR. Must correspond to the key of the PR in GitHub or TFS",
135
- optional: true,
136
- is_string: true)
129
+ optional: true)
137
130
  ]
138
131
  end
139
132
 
@@ -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,
@@ -11,6 +11,7 @@ module Fastlane
11
11
  cmd << "--disable-sandbox" if params[:disable_sandbox]
12
12
  cmd << "--verbose" if params[:verbose]
13
13
  cmd << params[:command] if package_commands.include?(params[:command])
14
+ cmd << "--enable-code-coverage" if params[:enable_code_coverage] && (params[:command] == 'generate-xcodeproj' || params[:command] == 'test')
14
15
  if params[:xcconfig]
15
16
  cmd << "--xcconfig-overrides #{params[:xcconfig]}"
16
17
  end
@@ -44,6 +45,11 @@ module Fastlane
44
45
  verify_block: proc do |value|
45
46
  UI.user_error!("Please pass a valid command. Use one of the following: #{available_commands.join(', ')}") unless available_commands.include?(value)
46
47
  end),
48
+ FastlaneCore::ConfigItem.new(key: :enable_code_coverage,
49
+ env_name: "FL_SPM_ENABLE_CODE_COVERAGE",
50
+ description: "Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command",
51
+ type: Boolean,
52
+ optional: true),
47
53
  FastlaneCore::ConfigItem.new(key: :build_path,
48
54
  env_name: "FL_SPM_BUILD_PATH",
49
55
  description: "Specify build/cache directory [default: ./.build]",
@@ -68,7 +74,7 @@ module Fastlane
68
74
  env_name: "FL_SPM_DISABLE_SANDBOX",
69
75
  description: "Disable using the sandbox when executing subprocesses",
70
76
  optional: true,
71
- is_string: false,
77
+ type: Boolean,
72
78
  default_value: false),
73
79
  FastlaneCore::ConfigItem.new(key: :xcpretty_output,
74
80
  env_name: "FL_SPM_XCPRETTY_OUTPUT",
@@ -86,7 +92,7 @@ module Fastlane
86
92
  short_option: "-v",
87
93
  env_name: "FL_SPM_VERBOSE",
88
94
  description: "Increase verbosity of informational output",
89
- is_string: false,
95
+ type: Boolean,
90
96
  default_value: false)
91
97
  ]
92
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
- description: "Choose output reporter. Available: xcode, json, csv, checkstyle, junit, html, \
143
- emoji, sonarqube, markdown, github-actions-logging",
144
- is_string: true,
150
+ description: "Choose output reporter. Available: xcode, json, csv, checkstyle, codeclimate, \
151
+ junit, html, emoji, sonarqube, markdown, github-actions-logging",
145
152
  optional: true,
146
153
  verify_block: proc do |value|
147
- available = ['xcode', 'json', 'csv', 'checkstyle', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
148
- UI.user_error!("Available values are '#{available.join("', '")}'") unless available.include?(value)
154
+ available = ['xcode', 'json', 'csv', 'checkstyle', 'codeclimate', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
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)