fastlane 2.74.1 → 2.75.0.beta.20180109010003

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -2,8 +2,8 @@ module Fastlane
2
2
  module Actions
3
3
  class DebugAction < Action
4
4
  def self.run(params)
5
- puts "Lane Context".green
6
- puts Actions.lane_context
5
+ puts("Lane Context".green)
6
+ puts(Actions.lane_context)
7
7
  end
8
8
 
9
9
  def self.description
@@ -19,7 +19,7 @@ module Fastlane
19
19
  end
20
20
 
21
21
  Fastlane::Actions.sh("security default-keychain -s #{original}", log: false) unless original.nil?
22
- Fastlane::Actions.sh "security delete-keychain #{keychain_path.shellescape}", log: false
22
+ Fastlane::Actions.sh("security delete-keychain #{keychain_path.shellescape}", log: false)
23
23
  end
24
24
 
25
25
  def self.details
@@ -18,11 +18,11 @@ module Fastlane
18
18
  require 'faraday_middleware'
19
19
 
20
20
  connection = Faraday.new(url: DEPLOYGATE_URL_BASE, request: { timeout: 120 }) do |builder|
21
- builder.request :multipart
22
- builder.request :json
23
- builder.response :json, content_type: /\bjson$/
24
- builder.use FaradayMiddleware::FollowRedirects
25
- builder.adapter :net_http
21
+ builder.request(:multipart)
22
+ builder.request(:json)
23
+ builder.response(:json, content_type: /\bjson$/)
24
+ builder.use(FaradayMiddleware::FollowRedirects)
25
+ builder.adapter(:net_http)
26
26
  end
27
27
 
28
28
  options.update({
@@ -34,7 +34,7 @@ module Fastlane
34
34
 
35
35
  connection.post("/api/users/#{user_name}/apps", options)
36
36
  rescue Faraday::Error::TimeoutError
37
- UI.crash! "Timed out while uploading build. Check https://deploygate.com/ to see if the upload was completed."
37
+ UI.crash!("Timed out while uploading build. Check https://deploygate.com/ to see if the upload was completed.")
38
38
  end
39
39
 
40
40
  def self.run(options)
@@ -45,7 +45,7 @@ module Fastlane
45
45
  user_name = options[:user]
46
46
  binary = options[:ipa] || options[:apk]
47
47
  upload_options = options.values.select do |key, _|
48
- [:message, :distribution_key, :release_note, :disable_notify].include? key
48
+ [:message, :distribution_key, :release_note, :disable_notify].include?(key)
49
49
  end
50
50
 
51
51
  UI.user_error!('missing `ipa` and `apk`. deploygate action needs least one.') unless binary
@@ -56,9 +56,9 @@ Keep in mind, there is no way for _cert_ to download existing certificates + pri
56
56
 
57
57
  Run `fastlane action cert` to get a list of all available environment variables.
58
58
 
59
- ## Use with [_sigh_](https://github.com/fastlane/fastlane/tree/master/sigh)
59
+ ## Use with [_sigh_](https://docs.fastlane.tools/actions/sigh)
60
60
 
61
- _cert_ becomes really interesting when used in [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane) in combination with [_sigh_](https://github.com/fastlane/fastlane/tree/master/sigh).
61
+ _cert_ becomes really interesting when used in [_fastlane_](https://fastlane.tools) in combination with [_sigh_](https://docs.fastlane.tools/actions/sigh).
62
62
 
63
63
  Update your `Fastfile` to contain the following code:
64
64
 
@@ -635,7 +635,7 @@ In this case, default values for keywords, urls, name and release notes are used
635
635
 
636
636
  ## Automatically create screenshots
637
637
 
638
- If you want to integrate _deliver_ with [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot), check out [fastlane](https://fastlane.tools)!
638
+ If you want to integrate _deliver_ with [snapshot](https://docs.fastlane.tools/actions/snapshot), check out [fastlane](https://fastlane.tools)!
639
639
 
640
640
  ## Jenkins integration
641
641
  Detailed instructions about how to set up _deliver_ and _fastlane_ in `Jenkins` can be found in the [fastlane README](https://docs.fastlane.tools/best-practices/continuous-integration/#jenkins-integration).
@@ -150,7 +150,7 @@ The `keyword.strings` and `title.strings` are standard `.strings` file you alrea
150
150
 
151
151
  #### Uploading screenshots to iTC
152
152
 
153
- Use [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) to upload all screenshots to iTunes Connect completely automatically 🚀
153
+ Use [deliver](https://docs.fastlane.tools/actions/deliver) to upload all screenshots to iTunes Connect completely automatically 🚀
154
154
 
155
155
  ### Mac
156
156
 
@@ -189,7 +189,7 @@ Check out the [MindNode example project](https://github.com/fastlane/examples/tr
189
189
  # Tips
190
190
 
191
191
  ## Generate localized screenshots
192
- Check out [_snapshot_](https://github.com/fastlane/fastlane/tree/master/snapshot) to automatically generate screenshots using ```UI Automation```.
192
+ Check out [_snapshot_](https://docs.fastlane.tools/actions/snapshot) to automatically generate screenshots using ```UI Automation```.
193
193
 
194
194
  ## Alternative location to store device_frames
195
195
 
@@ -194,8 +194,6 @@ in case you want to display the error in 3rd party tools such as Slack.
194
194
 
195
195
  You can then easily switch between the beta provider (e.g. `testflight`, `hockey`, `s3` and more).
196
196
 
197
- For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane/tree/master/fastlane).
198
-
199
197
  # How does it work?
200
198
 
201
199
  _gym_ uses the latest APIs to build and sign your application. The 2 main components are
@@ -234,7 +232,7 @@ _gym_ makes use of the new Xcode 7 API which allows us to specify the export opt
234
232
 
235
233
  Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.
236
234
 
237
- Note: the [xcbuild-safe.sh script](https://github.com/fastlane/fastlane/tree/master/gym/lib//img/actions/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.
235
+ Note: the [xcbuild-safe.sh script](https://github.com/fastlane/fastlane/tree/master/gym/lib/img/actions/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.
238
236
 
239
237
  ## Use the 'Provisioning Quicklook plugin'
240
238
  Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
@@ -56,7 +56,7 @@ Before starting to use _match_, make sure to read the [codesigning.guide](https:
56
56
  💥 | Easily reset your existing profiles and certificates if your current account has expired or invalid profiles
57
57
  ♻️ | Automatically renew your provisioning profiles to include all your devices using the `--force` option
58
58
  👥 | Support for multiple Apple accounts and multiple teams
59
- ✨ | Tightly integrated with [fastlane](https://fastlane.tools) to work seamlessly with [gym](https://github.com/fastlane/fastlane/tree/master/gym) and other build tools
59
+ ✨ | Tightly integrated with [fastlane](https://fastlane.tools) to work seamlessly with [gym](https://docs.fastlane.tools/actions/gym) and other build tools
60
60
 
61
61
  For more information about the concept, visit [codesigning.guide](https://codesigning.guide).
62
62
 
@@ -83,7 +83,7 @@ This will create a `Matchfile` in your current directory (or in your `./fastlane
83
83
  Example content (for more advanced setups check out the [fastlane section](#fastlane)):
84
84
 
85
85
  ```ruby-skip-tests
86
- git_url "https://github.com/fastlane/fastlane/tree/master/certificates"
86
+ git_url "https://github.com/fastlane/certs"
87
87
 
88
88
  app_identifier "tools.fastlane.app"
89
89
  username "user@fastlane.tools"
@@ -138,7 +138,7 @@ If you have several targets with different bundle identifiers, supply them as a
138
138
  fastlane match appstore -a tools.fastlane.app,tools.fastlane.app.watchkitapp
139
139
  ```
140
140
 
141
- You can make this even easier using [fastlane](https://github.com/fastlane/fastlane/tree/master/fastlane) by creating a `certificates` lane like this:
141
+ You can make this even easier using [fastlane](https://fastlane.tools) by creating a `certificates` lane like this:
142
142
 
143
143
  ```ruby
144
144
  lane :certificates do
@@ -349,4 +349,4 @@ Because of the potentially dangerous nature of In-House profiles please use _mat
349
349
  - Even if your certificates are leaked, they can't be used to cause any harm without your iTunes Connect login credentials
350
350
  - Use In-House enterprise profile with _match_ with caution
351
351
  - If you use GitHub or Bitbucket we encourage enabling 2 factor authentication for all accounts that have access to the certificates repo
352
- - The complete source code of _match_ is fully open source on [GitHub](https://github.com/fastlane/fastlane/tree/master/match)
352
+ - The complete source code of _match_ is fully open source on [GitHub](https://docs.fastlane.tools/actions/match)
@@ -10,7 +10,7 @@ _pem_ does all that for you, just by simply running _pem_.
10
10
 
11
11
  _pem_ creates new .pem, .cer, and .p12 files to be uploaded to your push server if a valid push notification profile is needed. _pem_ does not cover uploading the file to your server.
12
12
 
13
- To automate iOS Provisioning profiles you can use [match](https://github.com/fastlane/fastlane/tree/master/match).
13
+ To automate iOS Provisioning profiles you can use [match](https://docs.fastlane.tools/actions/match).
14
14
 
15
15
  -------
16
16
 
@@ -70,9 +70,9 @@ custom_text(data: ["chrome", "webos"],
70
70
  level: :warn)
71
71
  ```
72
72
 
73
- ### Use with [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane)
73
+ ### Use with [_fastlane_](https://fastlane.tools)
74
74
 
75
- _precheck_ is fully integrated with [_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver) another [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane) tool.
75
+ _precheck_ is fully integrated with [_deliver_](https://docs.fastlane.tools/actions/deliver) another [_fastlane_](https://fastlane.tools) tool.
76
76
 
77
77
  Update your `Fastfile` to contain the following code:
78
78
 
@@ -224,7 +224,7 @@ apple_id ENV['PRODUCE_APPLE_ID']
224
224
 
225
225
  This will tell _deliver_, which `App ID` to use, since the app is not yet available in the App Store.
226
226
 
227
- You'll still have to fill out the remaining information (like screenshots, app description and pricing). You can use [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) to upload your app metadata using a CLI
227
+ You'll still have to fill out the remaining information (like screenshots, app description and pricing). You can use [deliver](https://docs.fastlane.tools/actions/deliver) to upload your app metadata using a CLI
228
228
 
229
229
  ## How is my password stored?
230
230
 
@@ -141,5 +141,3 @@ lane :test do
141
141
  scan(scheme: "Example")
142
142
  end
143
143
  ```
144
-
145
- For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane/tree/master/fastlane).
@@ -28,7 +28,7 @@ _sigh_ can create, renew, download and repair provisioning profiles (with one co
28
28
  - Support for **multiple Teams**
29
29
  - Support for **Enterprise Profiles**
30
30
 
31
- To automate iOS Push profiles you can use [pem](https://github.com/fastlane/fastlane/tree/master/pem).
31
+ To automate iOS Push profiles you can use [pem](https://docs.fastlane.tools/actions/pem).
32
32
 
33
33
 
34
34
  ### Why not let Xcode do the work?
@@ -44,7 +44,7 @@ See _sigh_ in action:
44
44
 
45
45
  # Usage
46
46
 
47
- **Note**: It is recommended to use [match](https://github.com/fastlane/fastlane/tree/master/match) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
47
+ **Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
48
48
 
49
49
  ```no-highlight
50
50
  fastlane sigh
@@ -107,9 +107,9 @@ For a list of available parameters and commands run
107
107
  fastlane action sigh
108
108
 
109
109
 
110
- ### Use with [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane)
110
+ ### Use with [_fastlane_](https://fastlane.tools)
111
111
 
112
- _sigh_ becomes really interesting when used in [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane) in combination with [_cert_](https://github.com/fastlane/fastlane/tree/master/cert).
112
+ _sigh_ becomes really interesting when used in [_fastlane_](https://fastlane.tools) in combination with [_cert_](https://docs.fastlane.tools/actions/cert).
113
113
 
114
114
  Update your `Fastfile` to contain the following code:
115
115
 
@@ -160,7 +160,7 @@ Or delete all `iOS Team Provisioning Profile` by using a regular expression
160
160
 
161
161
  Run `fastlane action sigh` to get a list of all available environment variables.
162
162
 
163
- If you're using [cert](https://github.com/fastlane/fastlane/tree/master/cert) in combination with [fastlane](https://github.com/fastlane/fastlane/tree/master/fastlane) the signing certificate will automatically be selected for you. (make sure to run _cert_ before _sigh_)
163
+ If you're using [cert](https://docs.fastlane.tools/actions/cert) in combination with [fastlane](https://fastlane.tools) the signing certificate will automatically be selected for you. (make sure to run _cert_ before _sigh_)
164
164
 
165
165
  # How does it work?
166
166
 
@@ -180,7 +180,7 @@ It will show you the `mobileprovision` files like this:
180
180
 
181
181
  ## App Identifier couldn't be found
182
182
 
183
- If you also want to create a new App Identifier on the Apple Developer Portal, check out [produce](https://github.com/fastlane/fastlane/tree/master/produce), which does exactly that.
183
+ If you also want to create a new App Identifier on the Apple Developer Portal, check out [produce](https://docs.fastlane.tools/actions/produce), which does exactly that.
184
184
 
185
185
  ## What happens to my Xcode managed profiles?
186
186
 
@@ -10,7 +10,7 @@
10
10
  </h4>
11
11
  <hr />
12
12
 
13
- _snapshot_ generates localized iOS and tvOS screenshots for different device types and languages for the App Store and can be uploaded using ([_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver)).
13
+ _snapshot_ generates localized iOS and tvOS screenshots for different device types and languages for the App Store and can be uploaded using ([_deliver_](https://docs.fastlane.tools/actions/deliver)).
14
14
 
15
15
  You have to manually create 20 (languages) x 6 (devices) x 5 (screenshots) = **600 screenshots**.
16
16
 
@@ -20,7 +20,7 @@ It's hard to get everything right!
20
20
  - No loading indicators
21
21
  - Same content / screens
22
22
  - [Clean Status Bar](#use-a-clean-status-bar)
23
- - Uploading screenshots ([_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver) is your friend)
23
+ - Uploading screenshots ([_deliver_](https://docs.fastlane.tools/actions/deliver) is your friend)
24
24
 
25
25
  More information about [creating perfect screenshots](https://krausefx.com/blog/creating-perfect-app-store-screenshots-of-your-ios-app).
26
26
 
@@ -44,7 +44,7 @@ _snapshot_ runs completely in the background - you can do something else, while
44
44
  - Take screenshots in multiple device simulators concurrently to cut down execution time (Xcode 9 only)
45
45
  - Configure it once, store the configuration in git
46
46
  - Do something else, while the computer takes the screenshots for you
47
- - Integrates with [_fastlane_](https://fastlane.tools) and [_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver)
47
+ - Integrates with [_fastlane_](https://fastlane.tools) and [_deliver_](https://docs.fastlane.tools/actions/deliver)
48
48
  - Generates a beautiful web page, which shows all screenshots on all devices. This is perfect to send to QA or the marketing team
49
49
  - _snapshot_ automatically waits for network requests to be finished before taking a screenshot (we don't want loading images in the App Store screenshots)
50
50
 
@@ -303,7 +303,7 @@ Radar [23062925](https://openradar.appspot.com/radar?id=5056366381105152) has be
303
303
 
304
304
  ## Frame the screenshots
305
305
 
306
- If you want to add frames around the screenshots and even put a title on top, check out [frameit](https://github.com/fastlane/fastlane/tree/master/frameit).
306
+ If you want to add frames around the screenshots and even put a title on top, check out [frameit](https://docs.fastlane.tools/actions/frameit).
307
307
 
308
308
  ## Available language codes
309
309
  ```ruby
@@ -70,7 +70,7 @@ module Fastlane
70
70
  end
71
71
 
72
72
  if download_url
73
- result = self.download download_url
73
+ result = self.download(download_url)
74
74
  path = write_dsym(result, app.bundle_id, train_number, build.build_version, output_directory)
75
75
  UI.success("🔑 Successfully downloaded dSYM file for #{train_number} - #{build.build_version} to '#{path}'")
76
76
 
@@ -31,7 +31,7 @@ module Fastlane
31
31
  #####################################################
32
32
 
33
33
  def self.is_supported?(platform)
34
- [:ios, :mac].include? platform
34
+ [:ios, :mac].include?(platform)
35
35
  end
36
36
 
37
37
  def self.description
@@ -9,7 +9,7 @@ module Fastlane
9
9
 
10
10
  if params[:extensions]
11
11
  params[:extensions].each do |extension|
12
- extension.delete!('.') if extension.include? "."
12
+ extension.delete!('.') if extension.include?(".")
13
13
  extensions << extension
14
14
  end
15
15
  end
@@ -16,16 +16,16 @@ module Fastlane
16
16
  response = Net::HTTP.start(
17
17
  uri.host, uri.port, use_ssl: uri.scheme == 'https'
18
18
  ) do |http|
19
- request = Net::HTTP::Post.new uri.path
19
+ request = Net::HTTP::Post.new(uri.path)
20
20
  request.content_type = 'application/json'
21
21
  request.body = JSON.generate("text" => message)
22
- http.request request
22
+ http.request(request)
23
23
  end
24
- if response.kind_of? Net::HTTPSuccess
25
- UI.success 'Message sent to Flock.'
24
+ if response.kind_of?(Net::HTTPSuccess)
25
+ UI.success('Message sent to Flock.')
26
26
  else
27
- UI.error "HTTP request to '#{uri}' with message '#{message}' failed with a #{response.code} response."
28
- UI.user_error! 'Error sending message to Flock. Please verify the Flock webhook token.'
27
+ UI.error("HTTP request to '#{uri}' with message '#{message}' failed with a #{response.code} response.")
28
+ UI.user_error!('Error sending message to Flock. Please verify the Flock webhook token.')
29
29
  end
30
30
  end
31
31
 
@@ -55,7 +55,7 @@ module Fastlane
55
55
  optional: true,
56
56
  default_value: BASE_URL,
57
57
  verify_block: proc do |value|
58
- UI.user_error! 'Invalid https URL' unless value.start_with? 'https://'
58
+ UI.user_error!('Invalid https URL') unless value.start_with?('https://')
59
59
  end)
60
60
  ]
61
61
  end
@@ -55,7 +55,7 @@ module Fastlane
55
55
  end
56
56
 
57
57
  def self.is_supported?(platform)
58
- [:ios, :mac].include? platform
58
+ [:ios, :mac].include?(platform)
59
59
  end
60
60
  end
61
61
  end
@@ -60,11 +60,11 @@ module Fastlane
60
60
  gcovr_args = nil
61
61
 
62
62
  # Allows for a whole variety of configurations
63
- if params.kind_of? Hash
63
+ if params.kind_of?(Hash)
64
64
  params_hash = params
65
65
 
66
66
  # Check if an output path was given
67
- if params_hash.key? :output
67
+ if params_hash.key?(:output)
68
68
  create_output_dir_if_not_exists(params_hash[:output])
69
69
  end
70
70
 
@@ -80,15 +80,15 @@ module Fastlane
80
80
  command = "gcovr #{gcovr_args}"
81
81
  UI.success("Generating code coverage.")
82
82
  UI.verbose(command)
83
- Actions.sh command
83
+ Actions.sh(command)
84
84
  end
85
85
 
86
86
  def self.create_output_dir_if_not_exists(output_path)
87
87
  output_dir = File.dirname(output_path)
88
88
 
89
89
  # If the output directory doesn't exist, create it
90
- unless Dir.exist? output_dir
91
- FileUtils.mkpath output_dir
90
+ unless Dir.exist?(output_dir)
91
+ FileUtils.mkpath(output_dir)
92
92
  end
93
93
  end
94
94
 
@@ -59,7 +59,7 @@ module Fastlane
59
59
  description: "optional, you must specify the path to your main Xcode project if it is not in the project root directory",
60
60
  optional: true,
61
61
  verify_block: proc do |value|
62
- UI.user_error!("Please pass the path to the project, not the workspace") if value.end_with? ".xcworkspace"
62
+ UI.user_error!("Please pass the path to the project, not the workspace") if value.end_with?(".xcworkspace")
63
63
  UI.user_error!("Could not find Xcode project") if !File.exist?(value) and !Helper.is_test?
64
64
  end)
65
65
  ]
@@ -76,7 +76,7 @@ module Fastlane
76
76
  end
77
77
 
78
78
  def self.is_supported?(platform)
79
- [:ios, :mac].include? platform
79
+ [:ios, :mac].include?(platform)
80
80
  end
81
81
 
82
82
  def self.example_code
@@ -6,28 +6,28 @@ module Fastlane
6
6
 
7
7
  class GetBuildNumberRepositoryAction < Action
8
8
  def self.is_svn?
9
- Actions.sh 'svn info'
9
+ Actions.sh('svn info')
10
10
  return true
11
11
  rescue
12
12
  return false
13
13
  end
14
14
 
15
15
  def self.is_git?
16
- Actions.sh 'git rev-parse HEAD'
16
+ Actions.sh('git rev-parse HEAD')
17
17
  return true
18
18
  rescue
19
19
  return false
20
20
  end
21
21
 
22
22
  def self.is_git_svn?
23
- Actions.sh 'git svn info'
23
+ Actions.sh('git svn info')
24
24
  return true
25
25
  rescue
26
26
  return false
27
27
  end
28
28
 
29
29
  def self.is_hg?
30
- Actions.sh 'hg status'
30
+ Actions.sh('hg status')
31
31
  return true
32
32
  rescue
33
33
  return false
@@ -35,16 +35,16 @@ module Fastlane
35
35
 
36
36
  def self.command(use_hg_revision_number)
37
37
  if is_svn?
38
- UI.message "Detected repo: svn"
38
+ UI.message("Detected repo: svn")
39
39
  return 'svn info | grep Revision | egrep -o "[0-9]+"'
40
40
  elsif is_git_svn?
41
- UI.message "Detected repo: git-svn"
41
+ UI.message("Detected repo: git-svn")
42
42
  return 'git svn info | grep Revision | egrep -o "[0-9]+"'
43
43
  elsif is_git?
44
- UI.message "Detected repo: git"
44
+ UI.message("Detected repo: git")
45
45
  return 'git rev-parse --short HEAD'
46
46
  elsif is_hg?
47
- UI.message "Detected repo: hg"
47
+ UI.message("Detected repo: hg")
48
48
  if use_hg_revision_number
49
49
  return 'hg parent --template {rev}'
50
50
  else
@@ -103,7 +103,7 @@ module Fastlane
103
103
  end
104
104
 
105
105
  def self.is_supported?(platform)
106
- [:ios, :mac].include? platform
106
+ [:ios, :mac].include?(platform)
107
107
  end
108
108
 
109
109
  def self.example_code