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
@@ -106,7 +106,7 @@ module Gym
106
106
  def build_path
107
107
  unless Gym.cache[:build_path]
108
108
  Gym.cache[:build_path] = Gym.config[:build_path]
109
- FileUtils.mkdir_p Gym.cache[:build_path]
109
+ FileUtils.mkdir_p(Gym.cache[:build_path])
110
110
  end
111
111
  Gym.cache[:build_path]
112
112
  end
@@ -64,11 +64,11 @@ module Gym
64
64
  end
65
65
  end
66
66
 
67
- puts Terminal::Table.new(
68
- title: title.green,
69
- headings: ["Option", "Value"],
70
- rows: FastlaneCore::PrintTable.transform_output(rows.delete_if { |c| c.to_s.empty? })
71
- )
67
+ puts(Terminal::Table.new(
68
+ title: title.green,
69
+ headings: ["Option", "Value"],
70
+ rows: FastlaneCore::PrintTable.transform_output(rows.delete_if { |c| c.to_s.empty? })
71
+ ))
72
72
  end
73
73
 
74
74
  private
@@ -99,7 +99,7 @@ module Gym
99
99
  end)
100
100
 
101
101
  mark_archive_as_built_by_gym(BuildCommandGenerator.archive_path)
102
- UI.success "Successfully stored the archive. You can find it in the Xcode Organizer." unless Gym.config[:archive_path].nil?
102
+ UI.success("Successfully stored the archive. You can find it in the Xcode Organizer.") unless Gym.config[:archive_path].nil?
103
103
  UI.verbose("Stored the archive in: " + BuildCommandGenerator.archive_path)
104
104
  end
105
105
 
@@ -130,15 +130,15 @@ module Gym
130
130
  containing_directory = File.expand_path("..", PackageCommandGenerator.dsym_path)
131
131
 
132
132
  available_dsyms = Dir.glob("#{containing_directory}/*.dSYM")
133
- UI.message "Compressing #{available_dsyms.count} dSYM(s)" unless Gym.config[:silent]
133
+ UI.message("Compressing #{available_dsyms.count} dSYM(s)") unless Gym.config[:silent]
134
134
 
135
135
  output_path = File.expand_path(File.join(Gym.config[:output_directory], Gym.config[:output_name] + ".app.dSYM.zip"))
136
136
  command = "cd '#{containing_directory}' && zip -r '#{output_path}' *.dSYM"
137
137
  Helper.backticks(command, print: !Gym.config[:silent])
138
138
 
139
- puts "" # new line
139
+ puts("") # new line
140
140
 
141
- UI.success "Successfully exported and compressed dSYM file"
141
+ UI.success("Successfully exported and compressed dSYM file")
142
142
  end
143
143
 
144
144
  # Moves over the binary and dsym file to the output directory
@@ -147,26 +147,26 @@ module Gym
147
147
  FileUtils.mv(PackageCommandGenerator.ipa_path, File.expand_path(Gym.config[:output_directory]), force: true)
148
148
  ipa_path = File.expand_path(File.join(Gym.config[:output_directory], File.basename(PackageCommandGenerator.ipa_path)))
149
149
 
150
- UI.success "Successfully exported and signed the ipa file:"
151
- UI.message ipa_path
150
+ UI.success("Successfully exported and signed the ipa file:")
151
+ UI.message(ipa_path)
152
152
  ipa_path
153
153
  end
154
154
 
155
155
  # copys framework from temp folder:
156
156
 
157
157
  def copy_files_from_path(path)
158
- UI.success "Exporting Files:"
158
+ UI.success("Exporting Files:")
159
159
  Dir[path].each do |f|
160
160
  existing_file = File.join(File.expand_path(Gym.config[:output_directory]), File.basename(f))
161
161
  # If the target file already exists in output directory
162
162
  # we have to remove it first, otherwise cp_r fails even with remove_destination
163
163
  # e.g.: there are symlinks in the .framework
164
164
  if File.exist?(existing_file)
165
- UI.important "Removing #{File.basename(f)} from output directory" if FastlaneCore::Globals.verbose?
165
+ UI.important("Removing #{File.basename(f)} from output directory") if FastlaneCore::Globals.verbose?
166
166
  FileUtils.rm_rf(existing_file)
167
167
  end
168
168
  FileUtils.cp_r(f, File.expand_path(Gym.config[:output_directory]), remove_destination: true)
169
- UI.message "\t ▸ #{File.basename(f)}"
169
+ UI.message("\t ▸ #{File.basename(f)}")
170
170
  end
171
171
  end
172
172
 
@@ -177,8 +177,8 @@ module Gym
177
177
  UI.crash!("Couldn't find application in '#{BuildCommandGenerator.archive_path}'") unless File.exist?(app_path)
178
178
  FileUtils.cp_r(app_path, File.expand_path(Gym.config[:output_directory]), remove_destination: true)
179
179
  app_path = File.join(Gym.config[:output_directory], File.basename(app_path))
180
- UI.success "Successfully exported the .app file:"
181
- UI.message app_path
180
+ UI.success("Successfully exported the .app file:")
181
+ UI.message(app_path)
182
182
  app_path
183
183
  end
184
184
 
@@ -188,8 +188,8 @@ module Gym
188
188
  FileUtils.mv(PackageCommandGenerator.manifest_path, File.expand_path(Gym.config[:output_directory]), force: true)
189
189
  manifest_path = File.join(File.expand_path(Gym.config[:output_directory]), File.basename(PackageCommandGenerator.manifest_path))
190
190
 
191
- UI.success "Successfully exported the manifest.plist file:"
192
- UI.message manifest_path
191
+ UI.success("Successfully exported the manifest.plist file:")
192
+ UI.message(manifest_path)
193
193
  manifest_path
194
194
  end
195
195
  end
@@ -200,8 +200,8 @@ module Gym
200
200
  FileUtils.mv(PackageCommandGenerator.app_thinning_path, File.expand_path(Gym.config[:output_directory]), force: true)
201
201
  app_thinning_path = File.join(File.expand_path(Gym.config[:output_directory]), File.basename(PackageCommandGenerator.app_thinning_path))
202
202
 
203
- UI.success "Successfully exported the app-thinning.plist file:"
204
- UI.message app_thinning_path
203
+ UI.success("Successfully exported the app-thinning.plist file:")
204
+ UI.message(app_thinning_path)
205
205
  app_thinning_path
206
206
  end
207
207
  end
@@ -212,8 +212,8 @@ module Gym
212
212
  FileUtils.mv(PackageCommandGenerator.app_thinning_size_report_path, File.expand_path(Gym.config[:output_directory]), force: true)
213
213
  app_thinning_size_report_path = File.join(File.expand_path(Gym.config[:output_directory]), File.basename(PackageCommandGenerator.app_thinning_size_report_path))
214
214
 
215
- UI.success "Successfully exported the App Thinning Size Report.txt file:"
216
- UI.message app_thinning_size_report_path
215
+ UI.success("Successfully exported the App Thinning Size Report.txt file:")
216
+ UI.message(app_thinning_size_report_path)
217
217
  app_thinning_size_report_path
218
218
  end
219
219
  end
@@ -224,8 +224,8 @@ module Gym
224
224
  FileUtils.mv(PackageCommandGenerator.apps_path, File.expand_path(Gym.config[:output_directory]), force: true)
225
225
  apps_path = File.join(File.expand_path(Gym.config[:output_directory]), File.basename(PackageCommandGenerator.apps_path))
226
226
 
227
- UI.success "Successfully exported Apps folder:"
228
- UI.message apps_path
227
+ UI.success("Successfully exported Apps folder:")
228
+ UI.message(apps_path)
229
229
  apps_path
230
230
  end
231
231
  end
@@ -15,11 +15,11 @@ module Gym
15
15
  # This is a workaround for this bug
16
16
  # https://github.com/CocoaPods/CocoaPods/issues/4178
17
17
  def generic_archive_fix
18
- UI.verbose "Looking For Orphaned WatchKit2 Applications"
18
+ UI.verbose("Looking For Orphaned WatchKit2 Applications")
19
19
 
20
20
  Dir.glob("#{BuildCommandGenerator.archive_path}/Products/Applications/*.app").each do |app_path|
21
21
  if is_watchkit_app?(app_path)
22
- UI.verbose "Removing Orphaned WatchKit2 Application #{app_path}"
22
+ UI.verbose("Removing Orphaned WatchKit2 Application #{app_path}")
23
23
  FileUtils.rm_rf(app_path)
24
24
  end
25
25
  end
@@ -1,4 +1,4 @@
1
- ## [fastlane match](https://github.com/fastlane/fastlane/tree/master/match#readme)
1
+ ## [fastlane match](https://docs.fastlane.tools/actions/match)
2
2
 
3
3
  This repository contains all your certificates and provisioning profiles needed to build and sign your applications. They are encrypted using OpenSSL via a passphrase.
4
4
 
@@ -40,7 +40,7 @@ fastlane match development
40
40
  fastlane match enterprise
41
41
  ```
42
42
 
43
- For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match#readme)
43
+ For more information open [fastlane match git repo](https://docs.fastlane.tools/actions/match)
44
44
 
45
45
  ### Content
46
46
 
@@ -54,4 +54,4 @@ This directory contains all provisioning profiles
54
54
 
55
55
  ------------------------------------
56
56
 
57
- For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match#readme)
57
+ For more information open [fastlane match git repo](https://docs.fastlane.tools/actions/match)
@@ -96,7 +96,7 @@ module Match
96
96
  params.load_configuration_file("Matchfile")
97
97
 
98
98
  Match::ChangePassword.update(params: params)
99
- UI.success "Successfully changed the password. Make sure to update the password on all your clients and servers"
99
+ UI.success("Successfully changed the password. Make sure to update the password on all your clients and servers")
100
100
  end
101
101
  end
102
102
 
@@ -113,7 +113,7 @@ module Match
113
113
  params[:shallow_clone],
114
114
  branch: params[:git_branch],
115
115
  clone_branch_directly: params[:clone_branch_directly])
116
- UI.success "Repo is at: '#{decrypted_repo}'"
116
+ UI.success("Repo is at: '#{decrypted_repo}'")
117
117
  end
118
118
  end
119
119
 
@@ -141,7 +141,7 @@ module Match
141
141
  end
142
142
  end
143
143
 
144
- default_command :run
144
+ default_command(:run)
145
145
 
146
146
  run!
147
147
  end
@@ -20,13 +20,13 @@ module Match
20
20
 
21
21
  unless password
22
22
  if !UI.interactive?
23
- UI.error "Neither the MATCH_PASSWORD environment variable nor the local keychain contained a password."
24
- UI.error "Bailing out instead of asking for a password, since this is non-interactive mode."
23
+ UI.error("Neither the MATCH_PASSWORD environment variable nor the local keychain contained a password.")
24
+ UI.error("Bailing out instead of asking for a password, since this is non-interactive mode.")
25
25
  UI.user_error!("Try setting the MATCH_PASSWORD environment variable, or temporarily enable interactive mode to store a password.")
26
26
  else
27
- UI.important "Enter the passphrase that should be used to encrypt/decrypt your certificates"
28
- UI.important "This passphrase is specific per repository and will be stored in your local keychain"
29
- UI.important "Make sure to remember the password, as you'll need it when you run match on a different machine"
27
+ UI.important("Enter the passphrase that should be used to encrypt/decrypt your certificates")
28
+ UI.important("This passphrase is specific per repository and will be stored in your local keychain")
29
+ UI.important("Make sure to remember the password, as you'll need it when you run match on a different machine")
30
30
  password = ChangePassword.ask_password(confirm: true)
31
31
  store_password(git_url, password)
32
32
  end
@@ -49,9 +49,9 @@ module Match
49
49
  crypt(path: current,
50
50
  password: password(git_url),
51
51
  encrypt: true)
52
- UI.success "🔒 Encrypted '#{File.basename(current)}'" if FastlaneCore::Globals.verbose?
52
+ UI.success("🔒 Encrypted '#{File.basename(current)}'") if FastlaneCore::Globals.verbose?
53
53
  end
54
- UI.success "🔒 Successfully encrypted certificates repo"
54
+ UI.success("🔒 Successfully encrypted certificates repo")
55
55
  end
56
56
 
57
57
  def decrypt_repo(path: nil, git_url: nil, manual_password: nil)
@@ -61,15 +61,15 @@ module Match
61
61
  password: manual_password || password(git_url),
62
62
  encrypt: false)
63
63
  rescue
64
- UI.error "Couldn't decrypt the repo, please make sure you enter the right password!"
64
+ UI.error("Couldn't decrypt the repo, please make sure you enter the right password!")
65
65
  UI.user_error!("Invalid password passed via 'MATCH_PASSWORD'") if ENV["MATCH_PASSWORD"]
66
66
  clear_password(git_url)
67
67
  decrypt_repo(path: path, git_url: git_url)
68
68
  return
69
69
  end
70
- UI.success "🔓 Decrypted '#{File.basename(current)}'" if FastlaneCore::Globals.verbose?
70
+ UI.success("🔓 Decrypted '#{File.basename(current)}'") if FastlaneCore::Globals.verbose?
71
71
  end
72
- UI.success "🔓 Successfully decrypted certificates repo"
72
+ UI.success("🔓 Successfully decrypted certificates repo")
73
73
  end
74
74
 
75
75
  private
@@ -32,7 +32,7 @@ module Match
32
32
  command += " -b #{branch.shellescape} --single-branch"
33
33
  end
34
34
 
35
- UI.message "Cloning remote git repo..."
35
+ UI.message("Cloning remote git repo...")
36
36
 
37
37
  if branch && !clone_branch_directly
38
38
  UI.message("If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.")
@@ -60,7 +60,7 @@ module Match
60
60
  checkout_branch(branch) unless branch == "master"
61
61
 
62
62
  if !Helper.test? and GitHelper.match_version(@dir).nil? and manual_password.nil? and File.exist?(File.join(@dir, "README.md"))
63
- UI.important "Migrating to new match..."
63
+ UI.important("Migrating to new match...")
64
64
  ChangePassword.update(params: { git_url: git_url,
65
65
  git_branch: branch,
66
66
  shallow_clone: shallow_clone },
@@ -128,7 +128,7 @@ module Match
128
128
  commands << "git commit -m #{message.shellescape}"
129
129
  commands << "GIT_TERMINAL_PROMPT=0 git push origin #{branch.shellescape}"
130
130
 
131
- UI.message "Pushing changes to remote git repo..."
131
+ UI.message("Pushing changes to remote git repo...")
132
132
 
133
133
  commands.each do |command|
134
134
  FastlaneCore::CommandExecutor.execute(command: command,
@@ -165,7 +165,7 @@ module Match
165
165
  commands << "git reset --hard"
166
166
  end
167
167
 
168
- UI.message "Checking out branch #{branch}..."
168
+ UI.message("Checking out branch #{branch}...")
169
169
 
170
170
  Dir.chdir(@dir) do
171
171
  commands.each do |command|
@@ -196,7 +196,7 @@ module Match
196
196
 
197
197
  return if commands.empty?
198
198
 
199
- UI.message "Add git user config to local git repo..."
199
+ UI.message("Add git user config to local git repo...")
200
200
  Dir.chdir(@dir) do
201
201
  commands.each do |command|
202
202
  FastlaneCore::CommandExecutor.execute(command: command,
@@ -42,27 +42,27 @@ module Match
42
42
 
43
43
  if (self.certs + self.profiles + self.files).count > 0
44
44
  unless params[:skip_confirmation]
45
- UI.error "---"
46
- UI.error "Are you sure you want to completely delete and revoke all the"
47
- UI.error "certificates and provisioning profiles listed above? (y/n)"
48
- UI.error "Warning: By nuking distribution, both App Store and Ad Hoc profiles will be deleted" if type == "distribution"
49
- UI.error "Warning: The :app_identifier value will be ignored - this will delete all profiles for all your apps!" if had_app_identifier
50
- UI.error "---"
45
+ UI.error("---")
46
+ UI.error("Are you sure you want to completely delete and revoke all the")
47
+ UI.error("certificates and provisioning profiles listed above? (y/n)")
48
+ UI.error("Warning: By nuking distribution, both App Store and Ad Hoc profiles will be deleted") if type == "distribution"
49
+ UI.error("Warning: The :app_identifier value will be ignored - this will delete all profiles for all your apps!") if had_app_identifier
50
+ UI.error("---")
51
51
  end
52
52
  if params[:skip_confirmation] || UI.confirm("Do you really want to nuke everything listed above?")
53
53
  nuke_it_now!
54
- UI.success "Successfully cleaned your account ♻️"
54
+ UI.success("Successfully cleaned your account ♻️")
55
55
  else
56
- UI.success "Cancelled nuking #thanks 🏠 👨 ‍👩 ‍👧"
56
+ UI.success("Cancelled nuking #thanks 🏠 👨 ‍👩 ‍👧")
57
57
  end
58
58
  else
59
- UI.success "No relevant certificates or provisioning profiles found, nothing to nuke here :)"
59
+ UI.success("No relevant certificates or provisioning profiles found, nothing to nuke here :)")
60
60
  end
61
61
  end
62
62
 
63
63
  # Collect all the certs/profiles
64
64
  def prepare_list
65
- UI.message "Fetching certificates and profiles..."
65
+ UI.message("Fetching certificates and profiles...")
66
66
  cert_type = Match.cert_type_sym(type)
67
67
 
68
68
  prov_types = []
@@ -93,15 +93,15 @@ module Match
93
93
 
94
94
  # Print tables to ask the user
95
95
  def print_tables
96
- puts ""
96
+ puts("")
97
97
  if self.certs.count > 0
98
98
  rows = self.certs.collect { |c| [c.name, c.id, c.class.to_s.split("::").last, c.expires.strftime("%Y-%m-%d")] }
99
- puts Terminal::Table.new({
99
+ puts(Terminal::Table.new({
100
100
  title: "Certificates that are going to be revoked".green,
101
101
  headings: ["Name", "ID", "Type", "Expires"],
102
102
  rows: FastlaneCore::PrintTable.transform_output(rows)
103
- })
104
- puts ""
103
+ }))
104
+ puts("")
105
105
  end
106
106
 
107
107
  if self.profiles.count > 0
@@ -110,12 +110,12 @@ module Match
110
110
 
111
111
  [p.name, p.id, status, p.type, p.expires.strftime("%Y-%m-%d")]
112
112
  end
113
- puts Terminal::Table.new({
113
+ puts(Terminal::Table.new({
114
114
  title: "Provisioning Profiles that are going to be revoked".green,
115
115
  headings: ["Name", "ID", "Status", "Type", "Expires"],
116
116
  rows: FastlaneCore::PrintTable.transform_output(rows)
117
- })
118
- puts ""
117
+ }))
118
+ puts("")
119
119
  end
120
120
 
121
121
  if self.files.count > 0
@@ -127,36 +127,36 @@ module Match
127
127
 
128
128
  [file_type, components[2]]
129
129
  end
130
- puts Terminal::Table.new({
130
+ puts(Terminal::Table.new({
131
131
  title: "Files that are going to be deleted".green,
132
132
  headings: ["Type", "File Name"],
133
133
  rows: rows
134
- })
135
- puts ""
134
+ }))
135
+ puts("")
136
136
  end
137
137
  end
138
138
 
139
139
  def nuke_it_now!
140
- UI.header "Deleting #{self.profiles.count} provisioning profiles..." unless self.profiles.count == 0
140
+ UI.header("Deleting #{self.profiles.count} provisioning profiles...") unless self.profiles.count == 0
141
141
  self.profiles.each do |profile|
142
- UI.message "Deleting profile '#{profile.name}' (#{profile.id})..."
142
+ UI.message("Deleting profile '#{profile.name}' (#{profile.id})...")
143
143
  begin
144
144
  profile.delete!
145
145
  rescue => ex
146
146
  UI.message(ex.to_s)
147
147
  end
148
- UI.success "Successfully deleted profile"
148
+ UI.success("Successfully deleted profile")
149
149
  end
150
150
 
151
- UI.header "Revoking #{self.certs.count} certificates..." unless self.certs.count == 0
151
+ UI.header("Revoking #{self.certs.count} certificates...") unless self.certs.count == 0
152
152
  self.certs.each do |cert|
153
- UI.message "Revoking certificate '#{cert.name}' (#{cert.id})..."
153
+ UI.message("Revoking certificate '#{cert.name}' (#{cert.id})...")
154
154
  begin
155
155
  cert.revoke!
156
156
  rescue => ex
157
157
  UI.message(ex.to_s)
158
158
  end
159
- UI.success "Successfully deleted certificate"
159
+ UI.success("Successfully deleted certificate")
160
160
  end
161
161
 
162
162
  if self.files.count > 0
@@ -171,10 +171,10 @@ module Match
171
171
  private
172
172
 
173
173
  def delete_files!
174
- UI.header "Deleting #{self.files.count} files from the git repo..."
174
+ UI.header("Deleting #{self.files.count} files from the git repo...")
175
175
 
176
176
  self.files.each do |file|
177
- UI.message "Deleting file '#{File.basename(file)}'..."
177
+ UI.message("Deleting file '#{File.basename(file)}'...")
178
178
 
179
179
  # Check if the profile is installed on the local machine
180
180
  if file.end_with?("mobileprovision")
@@ -185,7 +185,7 @@ module Match
185
185
  end
186
186
 
187
187
  File.delete(file)
188
- UI.success "Successfully deleted file"
188
+ UI.success("Successfully deleted file")
189
189
  end
190
190
  end
191
191
 
@@ -77,7 +77,7 @@ module Match
77
77
  TablePrinter.print_summary(app_identifier: app_identifier, type: params[:type], platform: params[:platform])
78
78
  end
79
79
 
80
- UI.success "All required keys, certificates and provisioning profiles are installed 🙌".green
80
+ UI.success("All required keys, certificates and provisioning profiles are installed 🙌".green)
81
81
  rescue Spaceship::Client::UnexpectedResponse, Spaceship::Client::InvalidUserCredentialsError, Spaceship::Client::NoUserCredentialsError => ex
82
82
  UI.error("An error occurred while verifying your certificates and profiles with the Apple Developer Portal.")
83
83
  UI.error("If you already have your certificates stored in git, you can run `fastlane match` in readonly mode")
@@ -95,7 +95,7 @@ module Match
95
95
  keys = Dir[File.join(params[:workspace], "certs", cert_type.to_s, "*.p12")]
96
96
 
97
97
  if certs.count == 0 or keys.count == 0
98
- UI.important "Couldn't find a valid code signing identity in the git repo for #{cert_type}... creating one for you now"
98
+ UI.important("Couldn't find a valid code signing identity in the git repo for #{cert_type}... creating one for you now")
99
99
  UI.crash!("No code signing identity found and can not create a new one because you enabled `readonly`") if params[:readonly]
100
100
  cert_path = Generator.generate_certificate(params, cert_type)
101
101
  private_key_path = cert_path.gsub(".cer", ".p12")
@@ -104,10 +104,10 @@ module Match
104
104
  self.files_to_commmit << private_key_path
105
105
  else
106
106
  cert_path = certs.last
107
- UI.message "Installing certificate..."
107
+ UI.message("Installing certificate...")
108
108
 
109
109
  if FastlaneCore::CertChecker.installed?(cert_path)
110
- UI.verbose "Certificate '#{File.basename(cert_path)}' is already installed on this machine"
110
+ UI.verbose("Certificate '#{File.basename(cert_path)}' is already installed on this machine")
111
111
  else
112
112
  Utils.import(cert_path, params[:keychain_name], password: params[:keychain_password])
113
113
  end
@@ -145,20 +145,20 @@ module Match
145
145
  else
146
146
  # App Store provisioning profiles don't contain device identifiers and
147
147
  # thus shouldn't be renewed if the device count has changed.
148
- UI.important "Warning: `force_for_new_devices` is set but is ignored for App Store provisioning profiles."
149
- UI.important "You can safely stop specifying `force_for_new_devices` when running Match for type 'appstore'."
148
+ UI.important("Warning: `force_for_new_devices` is set but is ignored for App Store provisioning profiles.")
149
+ UI.important("You can safely stop specifying `force_for_new_devices` when running Match for type 'appstore'.")
150
150
  end
151
151
  end
152
152
 
153
153
  if profile.nil? or params[:force]
154
154
  if params[:readonly]
155
- all_profiles = Dir.entries(base_dir).reject { |f| f.start_with? "." }
156
- UI.error "No matching provisioning profiles found for '#{profile_name}'"
157
- UI.error "A new one cannot be created because you enabled `readonly`"
158
- UI.error "Provisioning profiles in your repo for type `#{prov_type}`:"
159
- all_profiles.each { |p| UI.error "- '#{p}'" }
160
- UI.error "If you are certain that a profile should exist, double-check the recent changes to your match repository"
161
- UI.user_error! "No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information."
155
+ all_profiles = Dir.entries(base_dir).reject { |f| f.start_with?(".") }
156
+ UI.error("No matching provisioning profiles found for '#{profile_name}'")
157
+ UI.error("A new one cannot be created because you enabled `readonly`")
158
+ UI.error("Provisioning profiles in your repo for type `#{prov_type}`:")
159
+ all_profiles.each { |p| UI.error("- '#{p}'") }
160
+ UI.error("If you are certain that a profile should exist, double-check the recent changes to your match repository")
161
+ UI.user_error!("No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information.")
162
162
  end
163
163
  profile = Generator.generate_provisioning_profile(params: params,
164
164
  prov_type: prov_type,