fastlane 2.74.1 → 2.75.0.beta.20180109010003

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bin-proxy +2 -2
  3. data/bin/fastlane +5 -5
  4. data/cert/lib/cert/commands_generator.rb +1 -1
  5. data/cert/lib/cert/runner.rb +14 -14
  6. data/credentials_manager/lib/credentials_manager/account_manager.rb +11 -11
  7. data/credentials_manager/lib/credentials_manager/appfile_config.rb +11 -11
  8. data/credentials_manager/lib/credentials_manager/cli.rb +4 -4
  9. data/deliver/lib/deliver/app_screenshot.rb +19 -2
  10. data/deliver/lib/deliver/commands_generator.rb +2 -2
  11. data/deliver/lib/deliver/loader.rb +2 -2
  12. data/deliver/lib/deliver/options.rb +2 -2
  13. data/deliver/lib/deliver/setup.rb +1 -1
  14. data/deliver/lib/deliver/submit_for_review.rb +1 -1
  15. data/fastlane/lib/fastlane/action.rb +2 -2
  16. data/fastlane/lib/fastlane/actions/actions_helper.rb +5 -5
  17. data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +2 -2
  18. data/fastlane/lib/fastlane/actions/add_git_tag.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/appaloosa.rb +4 -4
  21. data/fastlane/lib/fastlane/actions/appetize.rb +3 -3
  22. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +2 -2
  23. data/fastlane/lib/fastlane/actions/appium.rb +2 -2
  24. data/fastlane/lib/fastlane/actions/appledoc.rb +3 -3
  25. data/fastlane/lib/fastlane/actions/apteligent.rb +2 -2
  26. data/fastlane/lib/fastlane/actions/artifactory.rb +2 -2
  27. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/build_ios_app.rb +1 -1
  29. data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +1 -1
  30. data/fastlane/lib/fastlane/actions/carthage.rb +4 -4
  31. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +4 -4
  32. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +1 -1
  33. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +1 -1
  34. data/fastlane/lib/fastlane/actions/cloc.rb +1 -1
  35. data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/commit_github_file.rb +4 -4
  37. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +7 -7
  38. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/crashlytics.rb +2 -2
  40. data/fastlane/lib/fastlane/actions/debug.rb +2 -2
  41. data/fastlane/lib/fastlane/actions/delete_keychain.rb +1 -1
  42. data/fastlane/lib/fastlane/actions/deploygate.rb +7 -7
  43. data/fastlane/lib/fastlane/actions/docs/cert.md +2 -2
  44. data/fastlane/lib/fastlane/actions/docs/deliver.md +1 -1
  45. data/fastlane/lib/fastlane/actions/docs/frameit.md +2 -2
  46. data/fastlane/lib/fastlane/actions/docs/gym.md +1 -3
  47. data/fastlane/lib/fastlane/actions/docs/match.md +4 -4
  48. data/fastlane/lib/fastlane/actions/docs/pem.md +1 -1
  49. data/fastlane/lib/fastlane/actions/docs/precheck.md +2 -2
  50. data/fastlane/lib/fastlane/actions/docs/produce.md +1 -1
  51. data/fastlane/lib/fastlane/actions/docs/scan.md +0 -2
  52. data/fastlane/lib/fastlane/actions/docs/sigh.md +6 -6
  53. data/fastlane/lib/fastlane/actions/docs/snapshot.md +4 -4
  54. data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -1
  55. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  56. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +1 -1
  57. data/fastlane/lib/fastlane/actions/flock.rb +7 -7
  58. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +1 -1
  59. data/fastlane/lib/fastlane/actions/gcovr.rb +5 -5
  60. data/fastlane/lib/fastlane/actions/get_build_number.rb +2 -2
  61. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +9 -9
  62. data/fastlane/lib/fastlane/actions/get_github_release.rb +2 -2
  63. data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +1 -1
  64. data/fastlane/lib/fastlane/actions/get_version_number.rb +7 -7
  65. data/fastlane/lib/fastlane/actions/github_api.rb +2 -2
  66. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +2 -2
  67. data/fastlane/lib/fastlane/actions/hockey.rb +5 -5
  68. data/fastlane/lib/fastlane/actions/ifttt.rb +4 -4
  69. data/fastlane/lib/fastlane/actions/increment_build_number.rb +3 -3
  70. data/fastlane/lib/fastlane/actions/increment_version_number.rb +4 -4
  71. data/fastlane/lib/fastlane/actions/install_on_device.rb +2 -2
  72. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +2 -2
  73. data/fastlane/lib/fastlane/actions/installr.rb +6 -6
  74. data/fastlane/lib/fastlane/actions/ipa.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  76. data/fastlane/lib/fastlane/actions/lcov.rb +1 -1
  77. data/fastlane/lib/fastlane/actions/mailgun.rb +3 -3
  78. data/fastlane/lib/fastlane/actions/modify_services.rb +1 -1
  79. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  80. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  81. data/fastlane/lib/fastlane/actions/onesignal.rb +1 -1
  82. data/fastlane/lib/fastlane/actions/pod_push.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/podio_item.rb +6 -6
  84. data/fastlane/lib/fastlane/actions/puts.rb +1 -1
  85. data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
  86. data/fastlane/lib/fastlane/actions/recreate_schemes.rb +1 -1
  87. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +1 -1
  88. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/rocket.rb +2 -2
  90. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  91. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  92. data/fastlane/lib/fastlane/actions/scp.rb +2 -2
  93. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  94. data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
  95. data/fastlane/lib/fastlane/actions/set_github_release.rb +4 -4
  96. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +2 -2
  97. data/fastlane/lib/fastlane/actions/set_pod_key.rb +1 -1
  98. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +4 -4
  99. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +6 -6
  100. data/fastlane/lib/fastlane/actions/setup_travis.rb +2 -2
  101. data/fastlane/lib/fastlane/actions/slack.rb +3 -3
  102. data/fastlane/lib/fastlane/actions/slather.rb +2 -2
  103. data/fastlane/lib/fastlane/actions/spm.rb +2 -2
  104. data/fastlane/lib/fastlane/actions/ssh.rb +1 -1
  105. data/fastlane/lib/fastlane/actions/team_id.rb +1 -1
  106. data/fastlane/lib/fastlane/actions/team_name.rb +1 -1
  107. data/fastlane/lib/fastlane/actions/testfairy.rb +7 -7
  108. data/fastlane/lib/fastlane/actions/tryouts.rb +6 -6
  109. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +2 -2
  110. data/fastlane/lib/fastlane/actions/update_fastlane.rb +5 -5
  111. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +10 -10
  112. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  113. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -1
  114. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +1 -1
  115. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -4
  116. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +4 -4
  117. data/fastlane/lib/fastlane/actions/verify_build.rb +6 -6
  118. data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +1 -1
  119. data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +3 -3
  120. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +2 -2
  121. data/fastlane/lib/fastlane/actions/xcode_select.rb +2 -2
  122. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  123. data/fastlane/lib/fastlane/actions/xcov.rb +1 -1
  124. data/fastlane/lib/fastlane/actions/xctool.rb +1 -1
  125. data/fastlane/lib/fastlane/actions/xcversion.rb +1 -1
  126. data/fastlane/lib/fastlane/actions/zip.rb +3 -3
  127. data/fastlane/lib/fastlane/auto_complete.rb +15 -15
  128. data/fastlane/lib/fastlane/cli_tools_distributor.rb +15 -15
  129. data/fastlane/lib/fastlane/command_line_handler.rb +1 -1
  130. data/fastlane/lib/fastlane/commands_generator.rb +26 -26
  131. data/fastlane/lib/fastlane/configuration_helper.rb +2 -2
  132. data/fastlane/lib/fastlane/documentation/actions_list.rb +47 -47
  133. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  134. data/fastlane/lib/fastlane/environment_printer.rb +5 -5
  135. data/fastlane/lib/fastlane/fast_file.rb +5 -5
  136. data/fastlane/lib/fastlane/fastlane_require.rb +2 -2
  137. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +3 -3
  138. data/fastlane/lib/fastlane/helper/podspec_helper.rb +1 -1
  139. data/fastlane/lib/fastlane/helper/sh_helper.rb +2 -2
  140. data/fastlane/lib/fastlane/helper/xcversion_helper.rb +1 -1
  141. data/fastlane/lib/fastlane/lane.rb +6 -6
  142. data/fastlane/lib/fastlane/lane_list.rb +3 -3
  143. data/fastlane/lib/fastlane/lane_manager.rb +7 -7
  144. data/fastlane/lib/fastlane/lane_manager_base.rb +15 -15
  145. data/fastlane/lib/fastlane/markdown_table_formatter.rb +2 -2
  146. data/fastlane/lib/fastlane/new_action.rb +5 -5
  147. data/fastlane/lib/fastlane/one_off.rb +1 -1
  148. data/fastlane/lib/fastlane/plugins/plugin_generator.rb +5 -5
  149. data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +2 -2
  150. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +7 -7
  151. data/fastlane/lib/fastlane/plugins/plugin_search.rb +5 -5
  152. data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +4 -4
  153. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +9 -8
  154. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +37 -2
  155. data/fastlane/lib/fastlane/plugins/template/Gemfile +1 -1
  156. data/fastlane/lib/fastlane/plugins/template/Rakefile +1 -1
  157. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +3 -0
  158. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +4 -0
  159. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  160. data/fastlane/lib/fastlane/runner.rb +9 -9
  161. data/fastlane/lib/fastlane/setup/crashlytics_beta.rb +9 -9
  162. data/fastlane/lib/fastlane/setup/crashlytics_beta_command_line_handler.rb +7 -7
  163. data/fastlane/lib/fastlane/setup/crashlytics_beta_info_collector.rb +19 -19
  164. data/fastlane/lib/fastlane/setup/crashlytics_beta_ui.rb +3 -3
  165. data/fastlane/lib/fastlane/setup/setup_android.rb +4 -4
  166. data/fastlane/lib/fastlane/setup/setup_ios.rb +9 -9
  167. data/fastlane/lib/fastlane/supported_platforms.rb +1 -1
  168. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +10 -6
  169. data/fastlane/lib/fastlane/swift_lane_manager.rb +1 -1
  170. data/fastlane/lib/fastlane/version.rb +1 -1
  171. data/fastlane_core/README.md +0 -26
  172. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +2 -2
  173. data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
  174. data/fastlane_core/lib/fastlane_core/cert_checker.rb +2 -2
  175. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -3
  176. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +4 -4
  177. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +4 -4
  178. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +4 -4
  179. data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +3 -3
  180. data/fastlane_core/lib/fastlane_core/device_manager.rb +2 -4
  181. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +1 -1
  182. data/fastlane_core/lib/fastlane_core/globals.rb +3 -3
  183. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  184. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +1 -1
  185. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +2 -2
  186. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +2 -2
  187. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +1 -1
  188. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +1 -1
  189. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -5
  190. data/fastlane_core/lib/fastlane_core/project.rb +7 -7
  191. data/fastlane_core/lib/fastlane_core/swag.rb +9 -9
  192. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +49 -49
  193. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +18 -18
  194. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +1 -1
  195. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +7 -7
  196. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +11 -11
  197. data/frameit/lib/frameit/commands_generator.rb +2 -2
  198. data/frameit/lib/frameit/config_parser.rb +11 -11
  199. data/frameit/lib/frameit/dependency_checker.rb +7 -7
  200. data/frameit/lib/frameit/editor.rb +41 -41
  201. data/frameit/lib/frameit/frame_downloader.rb +12 -12
  202. data/frameit/lib/frameit/mac_editor.rb +2 -2
  203. data/frameit/lib/frameit/options.rb +1 -1
  204. data/frameit/lib/frameit/runner.rb +7 -7
  205. data/frameit/lib/frameit/screenshot.rb +5 -5
  206. data/frameit/lib/frameit/strings_parser.rb +6 -6
  207. data/frameit/lib/frameit/template_finder.rb +3 -3
  208. data/gym/lib/gym/commands_generator.rb +4 -4
  209. data/gym/lib/gym/detect_values.rb +1 -1
  210. data/gym/lib/gym/error_handler.rb +84 -84
  211. data/gym/lib/gym/generators/build_command_generator.rb +1 -1
  212. data/gym/lib/gym/runner.rb +24 -24
  213. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +2 -2
  214. data/match/lib/assets/READMETemplate.md +3 -3
  215. data/match/lib/match/commands_generator.rb +3 -3
  216. data/match/lib/match/encrypt.rb +10 -10
  217. data/match/lib/match/git_helper.rb +5 -5
  218. data/match/lib/match/nuke.rb +29 -29
  219. data/match/lib/match/runner.rb +13 -13
  220. data/match/lib/match/setup.rb +7 -7
  221. data/match/lib/match/table_printer.rb +6 -6
  222. data/match/lib/match/utils.rb +2 -2
  223. data/pem/lib/pem/commands_generator.rb +1 -1
  224. data/pem/lib/pem/manager.rb +9 -9
  225. data/pem/lib/pem/module.rb +1 -1
  226. data/pilot/lib/pilot/build_manager.rb +8 -8
  227. data/pilot/lib/pilot/commands_generator.rb +1 -1
  228. data/pilot/lib/pilot/manager.rb +1 -1
  229. data/pilot/lib/pilot/options.rb +4 -4
  230. data/pilot/lib/pilot/tester_manager.rb +10 -10
  231. data/precheck/lib/precheck/commands_generator.rb +4 -4
  232. data/precheck/lib/precheck/rule.rb +2 -2
  233. data/precheck/lib/precheck/rule_processor.rb +7 -7
  234. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +2 -2
  235. data/precheck/lib/precheck/rules/curse_words_rule.rb +3 -3
  236. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +3 -3
  237. data/precheck/lib/precheck/runner.rb +7 -7
  238. data/produce/lib/produce/commands_generator.rb +48 -48
  239. data/produce/lib/produce/developer_center.rb +4 -4
  240. data/produce/lib/produce/group.rb +2 -2
  241. data/produce/lib/produce/itunes_connect.rb +4 -4
  242. data/produce/lib/produce/options.rb +3 -3
  243. data/produce/lib/produce/service.rb +1 -1
  244. data/scan/lib/scan/commands_generator.rb +2 -2
  245. data/scan/lib/scan/error_handler.rb +12 -12
  246. data/scan/lib/scan/runner.rb +3 -3
  247. data/scan/lib/scan/slack_poster.rb +2 -2
  248. data/scan/lib/scan/test_command_generator.rb +1 -1
  249. data/screengrab/lib/screengrab/commands_generator.rb +1 -1
  250. data/screengrab/lib/screengrab/dependency_checker.rb +9 -9
  251. data/screengrab/lib/screengrab/options.rb +3 -3
  252. data/screengrab/lib/screengrab/reports_generator.rb +2 -2
  253. data/screengrab/lib/screengrab/runner.rb +32 -32
  254. data/sigh/lib/sigh/commands_generator.rb +18 -18
  255. data/sigh/lib/sigh/download_all.rb +4 -4
  256. data/sigh/lib/sigh/local_manage.rb +27 -27
  257. data/sigh/lib/sigh/manager.rb +1 -1
  258. data/sigh/lib/sigh/repair.rb +6 -6
  259. data/sigh/lib/sigh/resign.rb +7 -7
  260. data/sigh/lib/sigh/runner.rb +26 -26
  261. data/snapshot/lib/snapshot/collector.rb +7 -7
  262. data/snapshot/lib/snapshot/commands_generator.rb +7 -7
  263. data/snapshot/lib/snapshot/dependency_checker.rb +34 -19
  264. data/snapshot/lib/snapshot/detect_values.rb +2 -0
  265. data/snapshot/lib/snapshot/error_handler.rb +1 -1
  266. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +1 -1
  267. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +1 -1
  268. data/snapshot/lib/snapshot/reports_generator.rb +2 -2
  269. data/snapshot/lib/snapshot/reset_simulators.rb +2 -2
  270. data/snapshot/lib/snapshot/runner.rb +14 -14
  271. data/snapshot/lib/snapshot/screenshot_flatten.rb +1 -1
  272. data/snapshot/lib/snapshot/screenshot_rotate.rb +6 -6
  273. data/snapshot/lib/snapshot/setup.rb +16 -16
  274. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  275. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +7 -7
  276. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +4 -4
  277. data/snapshot/lib/snapshot/update.rb +8 -8
  278. data/spaceship/lib/spaceship/base.rb +3 -3
  279. data/spaceship/lib/spaceship/client.rb +17 -17
  280. data/spaceship/lib/spaceship/commands_generator.rb +1 -1
  281. data/spaceship/lib/spaceship/du/du_client.rb +6 -3
  282. data/spaceship/lib/spaceship/globals.rb +1 -1
  283. data/spaceship/lib/spaceship/playground.rb +18 -18
  284. data/spaceship/lib/spaceship/portal/certificate.rb +5 -5
  285. data/spaceship/lib/spaceship/portal/device.rb +2 -2
  286. data/spaceship/lib/spaceship/portal/portal_client.rb +7 -7
  287. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +7 -9
  288. data/spaceship/lib/spaceship/portal/ui/select_team.rb +13 -13
  289. data/spaceship/lib/spaceship/spaceauth_runner.rb +16 -16
  290. data/spaceship/lib/spaceship/test_flight/client.rb +9 -9
  291. data/spaceship/lib/spaceship/tunes/app_details.rb +1 -1
  292. data/spaceship/lib/spaceship/tunes/app_version.rb +7 -7
  293. data/spaceship/lib/spaceship/tunes/app_version_common.rb +1 -1
  294. data/spaceship/lib/spaceship/tunes/application.rb +1 -1
  295. data/spaceship/lib/spaceship/tunes/device_type.rb +2 -2
  296. data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
  297. data/spaceship/lib/spaceship/tunes/tunes_client.rb +54 -54
  298. data/spaceship/lib/spaceship/two_step_client.rb +19 -19
  299. data/spaceship/lib/spaceship/ui.rb +1 -1
  300. data/supply/lib/supply/client.rb +1 -1
  301. data/supply/lib/supply/commands_generator.rb +1 -1
  302. data/supply/lib/supply/options.rb +14 -14
  303. data/supply/lib/supply/uploader.rb +3 -3
  304. metadata +31 -25
  305. data/fastlane/lib/.DS_Store +0 -0
  306. data/fastlane/lib/assets/.DS_Store +0 -0
  307. data/fastlane/lib/fastlane/.DS_Store +0 -0
  308. data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
  309. data/fastlane/lib/fastlane/actions/docs/.DS_Store +0 -0
  310. data/fastlane/lib/fastlane/setup/.DS_Store +0 -0
  311. data/fastlane_core/lib/.DS_Store +0 -0
  312. data/fastlane_core/lib/fastlane_core/.DS_Store +0 -0
@@ -58,14 +58,14 @@ module Sigh
58
58
  ipa.shellescape # Output path must always be last argument
59
59
  ].join(' ')
60
60
 
61
- puts command.magenta
62
- puts `#{command}`
61
+ puts(command.magenta)
62
+ puts(`#{command}`)
63
63
 
64
64
  if $?.to_i == 0
65
- UI.success "Successfully signed #{ipa}!"
65
+ UI.success("Successfully signed #{ipa}!")
66
66
  true
67
67
  else
68
- UI.error "Something went wrong while code signing #{ipa}"
68
+ UI.error("Something went wrong while code signing #{ipa}")
69
69
  false
70
70
  end
71
71
  end
@@ -84,7 +84,7 @@ module Sigh
84
84
  keychain_path = options.keychain_path || nil
85
85
 
86
86
  if options.provisioning_name
87
- UI.important "The provisioning_name (-n) option is not applicable to resign. You should use provisioning_profile (-p) instead"
87
+ UI.important("The provisioning_name (-n) option is not applicable to resign. You should use provisioning_profile (-p) instead")
88
88
  end
89
89
 
90
90
  return ipa, signing_identity, provisioning_profiles, entitlements, version, display_name, short_version, bundle_version, new_bundle_id, use_app_entitlements, keychain_path
@@ -104,7 +104,7 @@ module Sigh
104
104
 
105
105
  def find_signing_identity(signing_identity)
106
106
  until (signing_identity = sha1_for_signing_identity(signing_identity))
107
- UI.error "Couldn't find signing identity '#{signing_identity}'."
107
+ UI.error("Couldn't find signing identity '#{signing_identity}'.")
108
108
  signing_identity = ask_for_signing_identity
109
109
  end
110
110
 
@@ -160,7 +160,7 @@ module Sigh
160
160
  end
161
161
 
162
162
  def print_available_identities
163
- UI.message "Available identities: \n\t#{installed_identity_descriptions.join("\n\t")}\n"
163
+ UI.message("Available identities: \n\t#{installed_identity_descriptions.join("\n\t")}\n")
164
164
  end
165
165
 
166
166
  def ask_for_signing_identity
@@ -15,27 +15,27 @@ module Sigh
15
15
  hide_keys: [:output_path],
16
16
  title: "Summary for sigh #{Fastlane::VERSION}")
17
17
 
18
- UI.message "Starting login with user '#{Sigh.config[:username]}'"
18
+ UI.message("Starting login with user '#{Sigh.config[:username]}'")
19
19
  Spaceship.login(Sigh.config[:username], nil)
20
20
  Spaceship.select_team
21
- UI.message "Successfully logged in"
21
+ UI.message("Successfully logged in")
22
22
 
23
23
  profiles = [] if Sigh.config[:skip_fetch_profiles]
24
24
  profiles ||= fetch_profiles # download the profile if it's there
25
25
 
26
26
  if profiles.count > 0
27
- UI.success "Found #{profiles.count} matching profile(s)"
27
+ UI.success("Found #{profiles.count} matching profile(s)")
28
28
  profile = profiles.first
29
29
 
30
30
  if Sigh.config[:force]
31
31
  # Recreating the profile ensures it has all of the requested properties (cert, name, etc.)
32
- UI.important "Recreating the profile"
32
+ UI.important("Recreating the profile")
33
33
  profile.delete!
34
34
  profile = create_profile!
35
35
  end
36
36
  else
37
37
  UI.user_error!("No matching provisioning profile found and can not create a new one because you enabled `readonly`") if Sigh.config[:readonly]
38
- UI.important "No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you"
38
+ UI.important("No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you")
39
39
  ensure_app_exists!
40
40
  profile = create_profile!
41
41
  end
@@ -65,7 +65,7 @@ module Sigh
65
65
 
66
66
  # Fetches a profile matching the user's search requirements
67
67
  def fetch_profiles
68
- UI.message "Fetching profiles..."
68
+ UI.message("Fetching profiles...")
69
69
  results = profile_type.find_by_bundle_id(bundle_id: Sigh.config[:app_identifier],
70
70
  mac: Sigh.config[:platform].to_s == 'macos',
71
71
  sub_platform: Sigh.config[:platform].to_s == 'tvos' ? 'tvOS' : nil)
@@ -89,7 +89,7 @@ module Sigh
89
89
 
90
90
  return results if Sigh.config[:skip_certificate_verification]
91
91
 
92
- UI.message "Verifying certificates..."
92
+ UI.message("Verifying certificates...")
93
93
  return results.find_all do |current_profile|
94
94
  installed = false
95
95
 
@@ -132,12 +132,12 @@ module Sigh
132
132
 
133
133
  unless Sigh.config[:skip_fetch_profiles]
134
134
  if Spaceship.provisioning_profile.all.find { |p| p.name == name }
135
- UI.error "The name '#{name}' is already taken, using another one."
135
+ UI.error("The name '#{name}' is already taken, using another one.")
136
136
  name += " #{Time.now.to_i}"
137
137
  end
138
138
  end
139
139
 
140
- UI.important "Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}' for '#{Sigh.config[:platform]}' platform"
140
+ UI.important("Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}' for '#{Sigh.config[:platform]}' platform")
141
141
  profile = profile_type.create!(name: name,
142
142
  bundle_id: bundle_id,
143
143
  certificate: cert,
@@ -223,11 +223,11 @@ module Sigh
223
223
  end
224
224
 
225
225
  if certificates.count > 1 and !Sigh.config[:development]
226
- UI.important "Found more than one code signing identity. Choosing the first one. Check out `fastlane sigh --help` to see all available options."
227
- UI.important "Available Code Signing Identities for current filters:"
226
+ UI.important("Found more than one code signing identity. Choosing the first one. Check out `fastlane sigh --help` to see all available options.")
227
+ UI.important("Available Code Signing Identities for current filters:")
228
228
  certificates.each do |c|
229
229
  str = ["\t- Name:", c.owner_name, "- ID:", c.id + " - Expires", c.expires.strftime("%d/%m/%Y")].join(" ")
230
- UI.message str.green
230
+ UI.message(str.green)
231
231
  end
232
232
  end
233
233
 
@@ -235,7 +235,7 @@ module Sigh
235
235
  filters = ""
236
236
  filters << "Owner Name: '#{Sigh.config[:cert_owner_name]}' " if Sigh.config[:cert_owner_name]
237
237
  filters << "Certificate ID: '#{Sigh.config[:cert_id]}' " if Sigh.config[:cert_id]
238
- UI.important "No certificates for filter: #{filters}" if filters.length > 0
238
+ UI.important("No certificates for filter: #{filters}") if filters.length > 0
239
239
  message = "Could not find a matching code signing identity for type '#{profile_type.to_s.split(':').last}'. "
240
240
  message += "It is recommended to use match to manage code signing for you, more information on https://codesigning.guide."
241
241
  message += "If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert"
@@ -248,7 +248,7 @@ module Sigh
248
248
 
249
249
  # Downloads and stores the provisioning profile
250
250
  def download_profile(profile)
251
- UI.important "Downloading provisioning profile..."
251
+ UI.important("Downloading provisioning profile...")
252
252
  profile_name ||= "#{profile_type.pretty_type}_#{Sigh.config[:app_identifier]}"
253
253
 
254
254
  if Sigh.config[:platform].to_s == 'tvos'
@@ -263,7 +263,7 @@ module Sigh
263
263
  f.write(profile.download)
264
264
  end
265
265
 
266
- UI.success "Successfully downloaded provisioning profile..."
266
+ UI.success("Successfully downloaded provisioning profile...")
267
267
  return output_path
268
268
  end
269
269
 
@@ -275,17 +275,17 @@ module Sigh
275
275
  end
276
276
 
277
277
  def print_produce_command(config)
278
- UI.message ""
279
- UI.message "==========================================".yellow
280
- UI.message "Could not find App ID with bundle identifier '#{config[:app_identifier]}'"
281
- UI.message "You can easily generate a new App ID on the Developer Portal using 'produce':"
282
- UI.message ""
283
- UI.message "fastlane produce -u #{config[:username]} -a #{config[:app_identifier]} --skip_itc".yellow
284
- UI.message ""
285
- UI.message "You will be asked for any missing information, like the full name of your app"
286
- UI.message "If the app should also be created on iTunes Connect, remove the " + "--skip_itc".yellow + " from the command above"
287
- UI.message "==========================================".yellow
288
- UI.message ""
278
+ UI.message("")
279
+ UI.message("==========================================".yellow)
280
+ UI.message("Could not find App ID with bundle identifier '#{config[:app_identifier]}'")
281
+ UI.message("You can easily generate a new App ID on the Developer Portal using 'produce':")
282
+ UI.message("")
283
+ UI.message("fastlane produce -u #{config[:username]} -a #{config[:app_identifier]} --skip_itc".yellow)
284
+ UI.message("")
285
+ UI.message("You will be asked for any missing information, like the full name of your app")
286
+ UI.message("If the app should also be created on iTunes Connect, remove the " + "--skip_itc".yellow + " from the command above")
287
+ UI.message("==========================================".yellow)
288
+ UI.message("")
289
289
  end
290
290
  end
291
291
  end
@@ -30,7 +30,7 @@ module Snapshot
30
30
  end
31
31
 
32
32
  if matches.count != to_store.count
33
- UI.error "Looks like the number of screenshots (#{to_store.count}) doesn't match the number of names (#{matches.count})"
33
+ UI.error("Looks like the number of screenshots (#{to_store.count}) doesn't match the number of names (#{matches.count})")
34
34
  end
35
35
 
36
36
  matches.each_with_index do |current, index|
@@ -65,21 +65,21 @@ module Snapshot
65
65
 
66
66
  def self.copy(from_path, to_path)
67
67
  if FastlaneCore::Globals.verbose?
68
- UI.success "Copying file '#{from_path}' to '#{to_path}'..."
68
+ UI.success("Copying file '#{from_path}' to '#{to_path}'...")
69
69
  else
70
- UI.success "Copying '#{to_path}'..."
70
+ UI.success("Copying '#{to_path}'...")
71
71
  end
72
72
  FileUtils.cp(from_path, to_path)
73
73
  end
74
74
 
75
75
  def self.attachments(containing)
76
- UI.message "Collecting screenshots..."
76
+ UI.message("Collecting screenshots...")
77
77
  plist_path = Dir[File.join(containing, "*.plist")].last # we clean the folder before each run
78
78
  return attachments_in_file(plist_path)
79
79
  end
80
80
 
81
81
  def self.attachments_in_file(plist_path)
82
- UI.verbose "Loading up '#{plist_path}'..."
82
+ UI.verbose("Loading up '#{plist_path}'...")
83
83
  report = Plist.parse_xml(plist_path)
84
84
 
85
85
  to_store = [] # contains the names of all the attachments we want to use
@@ -98,8 +98,8 @@ module Snapshot
98
98
  end
99
99
  end
100
100
 
101
- UI.message "Found #{to_store.count} screenshots..."
102
- UI.verbose "Found #{to_store.join(', ')}"
101
+ UI.message("Found #{to_store.count} screenshots...")
102
+ UI.verbose("Found #{to_store.join(', ')}")
103
103
  return to_store
104
104
  end
105
105
 
@@ -66,11 +66,11 @@ module Snapshot
66
66
  command :reset_simulators do |c|
67
67
  c.syntax = 'fastlane snapshot reset_simulators'
68
68
  c.description = "This will remove all your existing simulators and re-create new ones"
69
- c.option '-i', '--ios_version String', String, 'The comma separated list of iOS Versions you want to use'
70
- c.option '--force', 'Disables confirmation prompts'
69
+ c.option('-i', '--ios_version String', String, 'The comma separated list of iOS Versions you want to use')
70
+ c.option('--force', 'Disables confirmation prompts')
71
71
 
72
72
  c.action do |args, options|
73
- options.default ios_version: Snapshot::LatestOsVersion.ios_version
73
+ options.default(ios_version: Snapshot::LatestOsVersion.ios_version)
74
74
  versions = options.ios_version.split(',') if options.ios_version
75
75
  require 'snapshot/reset_simulators'
76
76
 
@@ -89,17 +89,17 @@ module Snapshot
89
89
  derived_data_path = Snapshot.config[:derived_data_path]
90
90
 
91
91
  if !derived_data_path
92
- Snapshot::UI.user_error! "No derived_data_path"
92
+ Snapshot::UI.user_error!("No derived_data_path")
93
93
  elsif !Dir.exist?(derived_data_path)
94
- Snapshot::UI.important "Path #{derived_data_path} does not exist"
94
+ Snapshot::UI.important("Path #{derived_data_path} does not exist")
95
95
  else
96
96
  FileUtils.rm_rf(derived_data_path)
97
- Snapshot::UI.success "Removed #{derived_data_path}"
97
+ Snapshot::UI.success("Removed #{derived_data_path}")
98
98
  end
99
99
  end
100
100
  end
101
101
 
102
- default_command :run
102
+ default_command(:run)
103
103
 
104
104
  run!
105
105
  end
@@ -6,28 +6,36 @@ module Snapshot
6
6
  class DependencyChecker
7
7
  def self.check_dependencies
8
8
  return if FastlaneCore::Helper.test?
9
+ return unless FastlaneCore::Helper.mac?
9
10
 
10
11
  self.check_xcode_select
11
12
  self.check_simctl
12
13
  end
13
14
 
14
15
  def self.check_xcode_select
15
- unless `xcode-select -v`.include? "xcode-select version"
16
- FastlaneCore::UI.error '#############################################################'
17
- FastlaneCore::UI.error "# You have to install Xcode command line tools to use snapshot"
18
- FastlaneCore::UI.error "# Install the latest version of Xcode from the AppStore"
19
- FastlaneCore::UI.error "# Run xcode-select --install to install the developer tools"
20
- FastlaneCore::UI.error '#############################################################'
16
+ xcode_available = nil
17
+ begin
18
+ xcode_available = `xcode-select -v`.include?("xcode-select version")
19
+ rescue
20
+ xcode_available = true
21
+ end
22
+
23
+ unless xcode_available
24
+ FastlaneCore::UI.error('#############################################################')
25
+ FastlaneCore::UI.error("# You have to install Xcode command line tools to use snapshot")
26
+ FastlaneCore::UI.error("# Install the latest version of Xcode from the AppStore")
27
+ FastlaneCore::UI.error("# Run xcode-select --install to install the developer tools")
28
+ FastlaneCore::UI.error('#############################################################')
21
29
  FastlaneCore::UI.user_error!("Run 'xcode-select --install' and start snapshot again")
22
30
  end
23
31
 
24
32
  if Snapshot::LatestOsVersion.ios_version.to_f < 9 # to_f is bad, but should be good enough
25
- FastlaneCore::UI.error '#############################################################'
26
- FastlaneCore::UI.error "# Your xcode-select Xcode version is below 7.0"
27
- FastlaneCore::UI.error "# To use snapshot 1.0 and above you need at least iOS 9"
28
- FastlaneCore::UI.error "# Set the path to the Xcode version that supports UI Tests"
29
- FastlaneCore::UI.error "# or downgrade to versions older than snapshot 1.0"
30
- FastlaneCore::UI.error '#############################################################'
33
+ FastlaneCore::UI.error('#############################################################')
34
+ FastlaneCore::UI.error("# Your xcode-select Xcode version is below 7.0")
35
+ FastlaneCore::UI.error("# To use snapshot 1.0 and above you need at least iOS 9")
36
+ FastlaneCore::UI.error("# Set the path to the Xcode version that supports UI Tests")
37
+ FastlaneCore::UI.error("# or downgrade to versions older than snapshot 1.0")
38
+ FastlaneCore::UI.error('#############################################################')
31
39
  FastlaneCore::UI.user_error!("Run 'sudo xcode-select -s /Applications/Xcode-beta.app'")
32
40
  end
33
41
  end
@@ -35,18 +43,25 @@ module Snapshot
35
43
  def self.check_simulators
36
44
  FastlaneCore::UI.verbose("Found #{FastlaneCore::Simulator.all.count} simulators.")
37
45
  if FastlaneCore::Simulator.all.count == 0
38
- FastlaneCore::UI.error '#############################################################'
39
- FastlaneCore::UI.error "# You have to add new simulators using Xcode"
40
- FastlaneCore::UI.error "# You can let snapshot create new simulators: 'fastlane snapshot reset_simulators'"
41
- FastlaneCore::UI.error "# Manually: Xcode => Window => Devices"
42
- FastlaneCore::UI.error "# Please run `instruments -s` to verify your xcode path"
43
- FastlaneCore::UI.error '#############################################################'
46
+ FastlaneCore::UI.error('#############################################################')
47
+ FastlaneCore::UI.error("# You have to add new simulators using Xcode")
48
+ FastlaneCore::UI.error("# You can let snapshot create new simulators: 'fastlane snapshot reset_simulators'")
49
+ FastlaneCore::UI.error("# Manually: Xcode => Window => Devices")
50
+ FastlaneCore::UI.error("# Please run `instruments -s` to verify your xcode path")
51
+ FastlaneCore::UI.error('#############################################################')
44
52
  FastlaneCore::UI.user_error!("Create the new simulators and run this script again")
45
53
  end
46
54
  end
47
55
 
48
56
  def self.check_simctl
49
- unless `xcrun simctl`.include? "openurl"
57
+ simctl_available = nil
58
+ begin
59
+ simctl_available = `xcrun simctl`.include?("openurl")
60
+ rescue
61
+ simctl_available = true
62
+ end
63
+
64
+ unless simctl_available
50
65
  FastlaneCore::UI.user_error!("Could not find `xcrun simctl`. Make sure you have the latest version of Xcode and macOS installed.")
51
66
  end
52
67
  end
@@ -1,6 +1,8 @@
1
1
  require 'fastlane_core/project'
2
2
  require 'fastlane_core/device_manager'
3
3
 
4
+ require_relative 'module'
5
+
4
6
  module Snapshot
5
7
  class DetectValues
6
8
  # This is needed as these are more complex default values
@@ -14,7 +14,7 @@ module Snapshot
14
14
 
15
15
  case output
16
16
  when /com\.apple\.CoreSimulator\.SimError/
17
- UI.important "The simulator failed to launch - retrying..."
17
+ UI.important("The simulator failed to launch - retrying...")
18
18
  when /is not configured for Running/
19
19
  UI.user_error!("Scheme is not properly configured, make sure to check out the snapshot README")
20
20
  end
@@ -7,7 +7,7 @@ module Snapshot
7
7
 
8
8
  class HardwareKeyboardFix
9
9
  def self.patch
10
- UI.verbose "Patching simulator to work with secure text fields"
10
+ UI.verbose("Patching simulator to work with secure text fields")
11
11
 
12
12
  Helper.backticks("defaults write com.apple.iphonesimulator ConnectHardwareKeyboard 0", print: FastlaneCore::Globals.verbose?)
13
13
  end
@@ -9,7 +9,7 @@ module Snapshot
9
9
 
10
10
  class SimulatorZoomFix
11
11
  def self.patch
12
- UI.message "Patching simulators '#{config_path}' to scale to 100%"
12
+ UI.message("Patching simulators '#{config_path}' to scale to 100%")
13
13
 
14
14
  FastlaneCore::DeviceManager.simulators.each do |simulator|
15
15
  simulator_name = simulator.name.tr("\s", "-")
@@ -6,7 +6,7 @@ module Snapshot
6
6
  require 'fastimage'
7
7
 
8
8
  def generate
9
- UI.message "Generating HTML Report"
9
+ UI.message("Generating HTML Report")
10
10
 
11
11
  screens_path = Snapshot.config[:output_directory]
12
12
 
@@ -35,7 +35,7 @@ module Snapshot
35
35
  File.write(export_path, html)
36
36
 
37
37
  export_path = File.expand_path(export_path)
38
- UI.success "Successfully created HTML file with an overview of all the screenshots: '#{export_path}'"
38
+ UI.success("Successfully created HTML file with an overview of all the screenshots: '#{export_path}'")
39
39
  system("open '#{export_path}'") unless Snapshot.config[:skip_open_summary]
40
40
  end
41
41
 
@@ -68,7 +68,7 @@ module Snapshot
68
68
 
69
69
  def self.create(device_type, os_versions, os_name = 'iOS')
70
70
  os_versions.each do |os_version|
71
- puts "Creating #{device_type[0]} for #{os_name} version #{os_version[0]}"
71
+ puts("Creating #{device_type[0]} for #{os_name} version #{os_version[0]}")
72
72
  command = "xcrun simctl create '#{device_type[0]}' #{device_type[1]} #{os_version[1]}"
73
73
  UI.command(command) if FastlaneCore::Globals.verbose?
74
74
  `#{command}`
@@ -110,7 +110,7 @@ module Snapshot
110
110
  end
111
111
 
112
112
  if phones.any? && watches.any?
113
- puts "Creating device pair of #{phones.last} and #{watches.last}"
113
+ puts("Creating device pair of #{phones.last} and #{watches.last}")
114
114
  Helper.backticks("xcrun simctl pair #{watches.last} #{phones.last}", print: FastlaneCore::Globals.verbose?)
115
115
  end
116
116
  end
@@ -17,11 +17,11 @@ module Snapshot
17
17
  class Runner
18
18
  def work
19
19
  if File.exist?("./fastlane/snapshot.js") or File.exist?("./snapshot.js")
20
- UI.error "Found old snapshot configuration file 'snapshot.js'"
21
- UI.error "You updated to snapshot 1.0 which now uses UI Automation"
22
- UI.error "Please follow the migration guide: https://github.com/fastlane/fastlane/blob/master/snapshot/MigrationGuide.md"
23
- UI.error "And read the updated documentation: https://docs.fastlane.tools/actions/snapshot/"
24
- sleep 3 # to be sure the user sees this, as compiling clears the screen
20
+ UI.error("Found old snapshot configuration file 'snapshot.js'")
21
+ UI.error("You updated to snapshot 1.0 which now uses UI Automation")
22
+ UI.error("Please follow the migration guide: https://github.com/fastlane/fastlane/blob/master/snapshot/MigrationGuide.md")
23
+ UI.error("And read the updated documentation: https://docs.fastlane.tools/actions/snapshot/")
24
+ sleep(3) # to be sure the user sees this, as compiling clears the screen
25
25
  end
26
26
 
27
27
  Snapshot.config[:output_directory] = File.expand_path(Snapshot.config[:output_directory])
@@ -36,7 +36,7 @@ module Snapshot
36
36
 
37
37
  clear_previous_screenshots if Snapshot.config[:clear_previous_screenshots]
38
38
 
39
- UI.success "Building and running project - this might take some time..."
39
+ UI.success("Building and running project - this might take some time...")
40
40
 
41
41
  launcher_config = SimulatorLauncherConfiguration.new(snapshot_config: Snapshot.config)
42
42
 
@@ -79,16 +79,16 @@ module Snapshot
79
79
  headings: ["Device"] + results.values.first.keys,
80
80
  title: "snapshot results"
81
81
  }
82
- puts ""
83
- puts Terminal::Table.new(params)
84
- puts ""
82
+ puts("")
83
+ puts(Terminal::Table.new(params))
84
+ puts("")
85
85
  end
86
86
 
87
87
  def clear_previous_screenshots
88
- UI.important "Clearing previously generated screenshots"
88
+ UI.important("Clearing previously generated screenshots")
89
89
  path = File.join(Snapshot.config[:output_directory], "*", "*.png")
90
90
  Dir[path].each do |current|
91
- UI.verbose "Deleting #{current}"
91
+ UI.verbose("Deleting #{current}")
92
92
  File.delete(current)
93
93
  end
94
94
  end
@@ -119,15 +119,15 @@ module Snapshot
119
119
  def verify_helper_is_current
120
120
  return if Snapshot.config[:skip_helper_version_check]
121
121
  current_version = version_of_bundled_helper
122
- UI.verbose "Checking that helper files contain #{current_version}"
122
+ UI.verbose("Checking that helper files contain #{current_version}")
123
123
 
124
124
  helper_files = Update.find_helper
125
125
  helper_files.each do |path|
126
126
  content = File.read(path)
127
127
 
128
128
  unless content.include?(current_version)
129
- UI.error "Your '#{path}' is outdated, please run `fastlane snapshot update`"
130
- UI.error "to update your Helper file"
129
+ UI.error("Your '#{path}' is outdated, please run `fastlane snapshot update`")
130
+ UI.error("to update your Helper file")
131
131
  UI.user_error!("Please update your Snapshot Helper file using `fastlane snapshot update`")
132
132
  end
133
133
  end