fastlane 2.74.0.beta.20180106010004 → 2.74.0.beta.20180107010004

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 (310) hide show
  1. checksums.yaml +4 -4
  2. data/cert/lib/cert.rb +3 -17
  3. data/cert/lib/cert/commands_generator.rb +5 -0
  4. data/cert/lib/cert/module.rb +14 -0
  5. data/cert/lib/cert/options.rb +4 -2
  6. data/cert/lib/cert/runner.rb +7 -0
  7. data/credentials_manager/lib/credentials_manager.rb +3 -9
  8. data/credentials_manager/lib/credentials_manager/account_manager.rb +2 -0
  9. data/credentials_manager/lib/credentials_manager/appfile_config.rb +2 -0
  10. data/credentials_manager/lib/credentials_manager/cli.rb +2 -0
  11. data/deliver/lib/deliver.rb +15 -31
  12. data/deliver/lib/deliver/app_screenshot.rb +2 -0
  13. data/deliver/lib/deliver/commands_generator.rb +6 -1
  14. data/deliver/lib/deliver/detect_values.rb +9 -1
  15. data/deliver/lib/deliver/download_screenshots.rb +2 -0
  16. data/deliver/lib/deliver/generate_summary.rb +4 -0
  17. data/deliver/lib/deliver/html_generator.rb +2 -0
  18. data/deliver/lib/deliver/loader.rb +4 -0
  19. data/deliver/lib/deliver/module.rb +16 -0
  20. data/deliver/lib/deliver/options.rb +5 -2
  21. data/deliver/lib/deliver/runner.rb +14 -1
  22. data/deliver/lib/deliver/setup.rb +6 -2
  23. data/deliver/lib/deliver/submit_for_review.rb +2 -0
  24. data/deliver/lib/deliver/upload_assets.rb +2 -0
  25. data/deliver/lib/deliver/upload_metadata.rb +4 -0
  26. data/deliver/lib/deliver/upload_price_tier.rb +2 -0
  27. data/deliver/lib/deliver/upload_screenshots.rb +6 -0
  28. data/fastlane/lib/fastlane/actions/slack.rb +16 -11
  29. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +3 -0
  30. data/fastlane/lib/fastlane/version.rb +1 -1
  31. data/fastlane_core/lib/fastlane_core.rb +42 -77
  32. data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +2 -0
  33. data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +2 -1
  34. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +4 -0
  35. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +3 -1
  36. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +3 -3
  37. data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +5 -0
  38. data/fastlane_core/lib/fastlane_core/build_watcher.rb +4 -0
  39. data/fastlane_core/lib/fastlane_core/cert_checker.rb +2 -0
  40. data/fastlane_core/lib/fastlane_core/command_executor.rb +4 -0
  41. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +4 -2
  42. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +6 -1
  43. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
  44. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +3 -0
  45. data/fastlane_core/lib/fastlane_core/crash_reporter/crash_report_generator.rb +2 -0
  46. data/fastlane_core/lib/fastlane_core/crash_reporter/crash_reporter.rb +7 -1
  47. data/fastlane_core/lib/fastlane_core/device_manager.rb +6 -0
  48. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +2 -0
  49. data/fastlane_core/lib/fastlane_core/feature/feature.rb +2 -0
  50. data/fastlane_core/lib/fastlane_core/features.rb +2 -0
  51. data/fastlane_core/lib/fastlane_core/helper.rb +5 -1
  52. data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +5 -0
  53. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +3 -1
  54. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +4 -0
  55. data/fastlane_core/lib/fastlane_core/itunes_search_api.rb +2 -0
  56. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -0
  57. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +2 -0
  58. data/fastlane_core/lib/fastlane_core/module.rb +31 -0
  59. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +2 -0
  60. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +4 -0
  61. data/fastlane_core/lib/fastlane_core/print_table.rb +3 -0
  62. data/fastlane_core/lib/fastlane_core/project.rb +3 -0
  63. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +2 -0
  64. data/fastlane_core/lib/fastlane_core/swag.rb +3 -0
  65. data/fastlane_core/lib/fastlane_core/test_parser.rb +7 -0
  66. data/fastlane_core/lib/fastlane_core/tool_collector.rb +2 -0
  67. data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
  68. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +2 -0
  69. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +2 -0
  70. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +2 -0
  71. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +2 -0
  72. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +10 -1
  73. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +4 -1
  74. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +6 -0
  75. data/fastlane_core/lib/fastlane_core/ui/interface.rb +3 -0
  76. data/fastlane_core/lib/fastlane_core/ui/ui.rb +5 -5
  77. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +2 -2
  78. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +5 -3
  79. data/frameit/lib/frameit.rb +0 -40
  80. data/frameit/lib/frameit/commands_generator.rb +7 -0
  81. data/frameit/lib/frameit/config_parser.rb +2 -0
  82. data/frameit/lib/frameit/dependency_checker.rb +2 -0
  83. data/frameit/lib/frameit/editor.rb +9 -0
  84. data/frameit/lib/frameit/frame_downloader.rb +5 -0
  85. data/frameit/lib/frameit/mac_editor.rb +3 -0
  86. data/frameit/lib/frameit/module.rb +40 -0
  87. data/frameit/lib/frameit/offsets.rb +3 -0
  88. data/frameit/lib/frameit/options.rb +4 -0
  89. data/frameit/lib/frameit/runner.rb +5 -1
  90. data/frameit/lib/frameit/screenshot.rb +9 -0
  91. data/frameit/lib/frameit/strings_parser.rb +2 -0
  92. data/frameit/lib/frameit/template_finder.rb +6 -0
  93. data/frameit/lib/frameit/trim_box.rb +2 -0
  94. data/gym/lib/gym.rb +9 -46
  95. data/gym/lib/gym/code_signing_mapping.rb +2 -0
  96. data/gym/lib/gym/commands_generator.rb +6 -3
  97. data/gym/lib/gym/detect_values.rb +4 -1
  98. data/gym/lib/gym/error_handler.rb +3 -0
  99. data/gym/lib/gym/generators/build_command_generator.rb +1 -0
  100. data/gym/lib/gym/generators/package_command_generator.rb +1 -1
  101. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +5 -0
  102. data/gym/lib/gym/manager.rb +4 -0
  103. data/gym/lib/gym/module.rb +36 -0
  104. data/gym/lib/gym/options.rb +3 -2
  105. data/gym/lib/gym/runner.rb +8 -0
  106. data/gym/lib/gym/xcode.rb +2 -0
  107. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +3 -0
  108. data/match/lib/match.rb +12 -37
  109. data/match/lib/match/change_password.rb +4 -0
  110. data/match/lib/match/commands_generator.rb +9 -3
  111. data/match/lib/match/encrypt.rb +4 -0
  112. data/match/lib/match/generator.rb +7 -2
  113. data/match/lib/match/git_helper.rb +5 -0
  114. data/match/lib/match/module.rb +23 -0
  115. data/match/lib/match/nuke.rb +8 -0
  116. data/match/lib/match/options.rb +3 -2
  117. data/match/lib/match/runner.rb +11 -0
  118. data/match/lib/match/setup.rb +2 -0
  119. data/match/lib/match/spaceship_ensure.rb +5 -2
  120. data/match/lib/match/table_printer.rb +6 -0
  121. data/match/lib/match/utils.rb +3 -0
  122. data/pem/lib/pem.rb +3 -20
  123. data/pem/lib/pem/commands_generator.rb +4 -0
  124. data/pem/lib/pem/manager.rb +3 -0
  125. data/pem/lib/pem/module.rb +18 -0
  126. data/pem/lib/pem/options.rb +4 -2
  127. data/pilot/lib/pilot.rb +1 -14
  128. data/pilot/lib/pilot/build_manager.rb +6 -0
  129. data/pilot/lib/pilot/commands_generator.rb +8 -2
  130. data/pilot/lib/pilot/manager.rb +10 -3
  131. data/pilot/lib/pilot/module.rb +9 -0
  132. data/pilot/lib/pilot/options.rb +4 -2
  133. data/pilot/lib/pilot/tester_exporter.rb +6 -3
  134. data/pilot/lib/pilot/tester_importer.rb +3 -1
  135. data/pilot/lib/pilot/tester_manager.rb +6 -5
  136. data/precheck/lib/precheck.rb +2 -22
  137. data/precheck/lib/precheck/commands_generator.rb +8 -1
  138. data/precheck/lib/precheck/module.rb +21 -0
  139. data/precheck/lib/precheck/options.rb +4 -3
  140. data/precheck/lib/precheck/rule.rb +7 -4
  141. data/precheck/lib/precheck/rule_processor.rb +5 -2
  142. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +1 -1
  143. data/precheck/lib/precheck/rules/all.rb +1 -0
  144. data/precheck/lib/precheck/rules/copyright_date_rule.rb +1 -2
  145. data/precheck/lib/precheck/rules/curse_words_rule.rb +2 -1
  146. data/precheck/lib/precheck/rules/custom_text_rule.rb +1 -2
  147. data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +1 -2
  148. data/precheck/lib/precheck/rules/future_functionality_rule.rb +1 -2
  149. data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +1 -2
  150. data/precheck/lib/precheck/rules/other_platforms_rule.rb +1 -2
  151. data/precheck/lib/precheck/rules/placeholder_words_rule.rb +1 -2
  152. data/precheck/lib/precheck/rules/test_words_rule.rb +1 -2
  153. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +3 -1
  154. data/precheck/lib/precheck/runner.rb +6 -4
  155. data/produce/lib/produce.rb +6 -21
  156. data/produce/lib/produce/commands_generator.rb +5 -0
  157. data/produce/lib/produce/developer_center.rb +1 -0
  158. data/produce/lib/produce/group.rb +1 -0
  159. data/produce/lib/produce/itunes_connect.rb +5 -3
  160. data/produce/lib/produce/manager.rb +4 -0
  161. data/produce/lib/produce/merchant.rb +1 -0
  162. data/produce/lib/produce/module.rb +14 -0
  163. data/produce/lib/produce/options.rb +4 -2
  164. data/produce/lib/produce/service.rb +3 -0
  165. data/scan/lib/scan.rb +10 -40
  166. data/scan/lib/scan/commands_generator.rb +6 -2
  167. data/scan/lib/scan/detect_values.rb +4 -0
  168. data/scan/lib/scan/error_handler.rb +2 -0
  169. data/scan/lib/scan/manager.rb +4 -0
  170. data/scan/lib/scan/module.rb +32 -0
  171. data/scan/lib/scan/options.rb +3 -2
  172. data/scan/lib/scan/runner.rb +9 -0
  173. data/scan/lib/scan/slack_poster.rb +2 -0
  174. data/scan/lib/scan/test_command_generator.rb +2 -0
  175. data/scan/lib/scan/test_result_parser.rb +2 -0
  176. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +2 -0
  177. data/screengrab/lib/screengrab.rb +7 -33
  178. data/screengrab/lib/screengrab/android_environment.rb +2 -0
  179. data/screengrab/lib/screengrab/commands_generator.rb +8 -0
  180. data/screengrab/lib/screengrab/dependency_checker.rb +2 -0
  181. data/screengrab/lib/screengrab/module.rb +24 -0
  182. data/screengrab/lib/screengrab/options.rb +3 -2
  183. data/screengrab/lib/screengrab/reports_generator.rb +3 -1
  184. data/screengrab/lib/screengrab/runner.rb +4 -0
  185. data/screengrab/lib/screengrab/setup.rb +2 -0
  186. data/sigh/lib/sigh.rb +4 -19
  187. data/sigh/lib/sigh/commands_generator.rb +5 -0
  188. data/sigh/lib/sigh/download_all.rb +5 -0
  189. data/sigh/lib/sigh/local_manage.rb +5 -0
  190. data/sigh/lib/sigh/manager.rb +3 -2
  191. data/sigh/lib/sigh/module.rb +16 -0
  192. data/sigh/lib/sigh/options.rb +3 -2
  193. data/sigh/lib/sigh/repair.rb +4 -0
  194. data/sigh/lib/sigh/resign.rb +3 -0
  195. data/sigh/lib/sigh/runner.rb +4 -0
  196. data/snapshot/lib/snapshot.rb +19 -61
  197. data/snapshot/lib/snapshot/collector.rb +5 -0
  198. data/snapshot/lib/snapshot/commands_generator.rb +4 -1
  199. data/snapshot/lib/snapshot/dependency_checker.rb +27 -23
  200. data/snapshot/lib/snapshot/detect_values.rb +7 -0
  201. data/snapshot/lib/snapshot/error_handler.rb +2 -0
  202. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +2 -0
  203. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +2 -0
  204. data/snapshot/lib/snapshot/latest_os_version.rb +5 -2
  205. data/snapshot/lib/snapshot/module.rb +44 -0
  206. data/snapshot/lib/snapshot/options.rb +11 -2
  207. data/snapshot/lib/snapshot/reports_generator.rb +4 -2
  208. data/snapshot/lib/snapshot/reset_simulators.rb +3 -0
  209. data/snapshot/lib/snapshot/runner.rb +10 -0
  210. data/snapshot/lib/snapshot/screenshot_flatten.rb +2 -0
  211. data/snapshot/lib/snapshot/screenshot_rotate.rb +4 -1
  212. data/snapshot/lib/snapshot/setup.rb +2 -0
  213. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +0 -1
  214. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +27 -27
  215. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +8 -0
  216. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +4 -1
  217. data/snapshot/lib/snapshot/test_command_generator.rb +2 -1
  218. data/snapshot/lib/snapshot/test_command_generator_base.rb +10 -4
  219. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +3 -1
  220. data/snapshot/lib/snapshot/update.rb +3 -0
  221. data/spaceship/lib/spaceship.rb +14 -36
  222. data/spaceship/lib/spaceship/client.rb +26 -76
  223. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  224. data/spaceship/lib/spaceship/du/du_client.rb +3 -0
  225. data/spaceship/lib/spaceship/du/upload_file.rb +2 -0
  226. data/spaceship/lib/spaceship/errors.rb +67 -0
  227. data/spaceship/lib/spaceship/globals.rb +1 -1
  228. data/spaceship/lib/spaceship/helper/plist_middleware.rb +1 -1
  229. data/spaceship/lib/spaceship/helper/rels_middleware.rb +2 -0
  230. data/spaceship/lib/spaceship/launcher.rb +7 -5
  231. data/spaceship/lib/spaceship/module.rb +4 -0
  232. data/spaceship/lib/spaceship/playground.rb +3 -0
  233. data/spaceship/lib/spaceship/portal/app.rb +3 -0
  234. data/spaceship/lib/spaceship/portal/app_group.rb +2 -0
  235. data/spaceship/lib/spaceship/portal/app_service.rb +38 -290
  236. data/spaceship/lib/spaceship/portal/certificate.rb +3 -1
  237. data/spaceship/lib/spaceship/portal/device.rb +5 -3
  238. data/spaceship/lib/spaceship/portal/invite.rb +2 -0
  239. data/spaceship/lib/spaceship/portal/key.rb +2 -0
  240. data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
  241. data/spaceship/lib/spaceship/portal/merchant.rb +2 -0
  242. data/spaceship/lib/spaceship/portal/passbook.rb +2 -0
  243. data/spaceship/lib/spaceship/portal/person.rb +2 -0
  244. data/spaceship/lib/spaceship/portal/persons.rb +3 -0
  245. data/spaceship/lib/spaceship/portal/portal_base.rb +3 -0
  246. data/spaceship/lib/spaceship/portal/portal_client.rb +37 -23
  247. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +27 -20
  248. data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +2 -0
  249. data/spaceship/lib/spaceship/portal/spaceship.rb +13 -10
  250. data/spaceship/lib/spaceship/portal/ui/select_team.rb +2 -0
  251. data/spaceship/lib/spaceship/portal/website_push.rb +2 -0
  252. data/spaceship/lib/spaceship/spaceauth_runner.rb +4 -2
  253. data/spaceship/lib/spaceship/test_flight.rb +0 -1
  254. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +4 -0
  255. data/spaceship/lib/spaceship/test_flight/base.rb +22 -17
  256. data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +2 -0
  257. data/spaceship/lib/spaceship/test_flight/build.rb +211 -203
  258. data/spaceship/lib/spaceship/test_flight/build_trains.rb +4 -1
  259. data/spaceship/lib/spaceship/test_flight/client.rb +255 -251
  260. data/spaceship/lib/spaceship/test_flight/export_compliance.rb +2 -0
  261. data/spaceship/lib/spaceship/test_flight/group.rb +2 -0
  262. data/spaceship/lib/spaceship/test_flight/test_info.rb +2 -0
  263. data/spaceship/lib/spaceship/test_flight/tester.rb +114 -110
  264. data/spaceship/lib/spaceship/tunes/app_details.rb +5 -1
  265. data/spaceship/lib/spaceship/tunes/app_image.rb +2 -0
  266. data/spaceship/lib/spaceship/tunes/app_ratings.rb +2 -68
  267. data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
  268. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +2 -0
  269. data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -0
  270. data/spaceship/lib/spaceship/tunes/app_trailer.rb +2 -0
  271. data/spaceship/lib/spaceship/tunes/app_version.rb +11 -0
  272. data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +2 -0
  273. data/spaceship/lib/spaceship/tunes/app_version_history.rb +2 -0
  274. data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +2 -0
  275. data/spaceship/lib/spaceship/tunes/app_version_ref.rb +2 -0
  276. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +2 -0
  277. data/spaceship/lib/spaceship/tunes/application.rb +18 -6
  278. data/spaceship/lib/spaceship/tunes/availability.rb +2 -0
  279. data/spaceship/lib/spaceship/tunes/build.rb +2 -0
  280. data/spaceship/lib/spaceship/tunes/build_details.rb +2 -0
  281. data/spaceship/lib/spaceship/tunes/build_train.rb +5 -1
  282. data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
  283. data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
  284. data/spaceship/lib/spaceship/tunes/iap_detail.rb +5 -0
  285. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -0
  286. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +1 -0
  287. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +1 -0
  288. data/spaceship/lib/spaceship/tunes/iap_list.rb +3 -0
  289. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
  290. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +2 -41
  291. data/spaceship/lib/spaceship/tunes/language_converter.rb +2 -0
  292. data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
  293. data/spaceship/lib/spaceship/tunes/member.rb +3 -0
  294. data/spaceship/lib/spaceship/tunes/members.rb +2 -0
  295. data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
  296. data/spaceship/lib/spaceship/tunes/pricing_tier.rb +2 -37
  297. data/spaceship/lib/spaceship/tunes/recovery_device.rb +2 -0
  298. data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +2 -0
  299. data/spaceship/lib/spaceship/tunes/spaceship.rb +2 -0
  300. data/spaceship/lib/spaceship/tunes/territory.rb +2 -0
  301. data/spaceship/lib/spaceship/tunes/transit_app_file.rb +2 -0
  302. data/spaceship/lib/spaceship/tunes/tunes.rb +34 -39
  303. data/spaceship/lib/spaceship/tunes/tunes_base.rb +2 -0
  304. data/spaceship/lib/spaceship/tunes/tunes_client.rb +20 -14
  305. data/spaceship/lib/spaceship/tunes/user_detail.rb +2 -0
  306. data/spaceship/lib/spaceship/tunes/version_set.rb +2 -0
  307. data/spaceship/lib/spaceship/two_step_client.rb +5 -1
  308. data/spaceship/lib/spaceship/ui.rb +7 -7
  309. data/supply/lib/supply/options.rb +2 -2
  310. metadata +31 -6
@@ -1,5 +1,7 @@
1
- require 'fastlane_core'
2
- require 'credentials_manager'
1
+ require 'fastlane_core/configuration/config_item'
2
+ require 'fastlane_core/device_manager'
3
+ require 'credentials_manager/appfile_config'
4
+ require_relative 'module'
3
5
 
4
6
  module Snapshot
5
7
  class Options
@@ -137,6 +139,13 @@ module Snapshot
137
139
  description: "Should the project be cleaned before building it?",
138
140
  is_string: false,
139
141
  default_value: false),
142
+ FastlaneCore::ConfigItem.new(key: :test_without_building,
143
+ short_option: "-T",
144
+ env_name: "SNAPSHOT_TEST_WITHOUT_BUILDING",
145
+ description: "Test without building, requires a derived data path",
146
+ is_string: false,
147
+ type: Boolean,
148
+ optional: true),
140
149
  FastlaneCore::ConfigItem.new(key: :configuration,
141
150
  short_option: "-q",
142
151
  env_name: "SNAPSHOT_CONFIGURATION",
@@ -1,8 +1,10 @@
1
- require 'erb'
2
- require 'fastimage'
1
+ require_relative 'module'
3
2
 
4
3
  module Snapshot
5
4
  class ReportsGenerator
5
+ require 'erb'
6
+ require 'fastimage'
7
+
6
8
  def generate
7
9
  UI.message "Generating HTML Report"
8
10
 
@@ -1,3 +1,6 @@
1
+ require 'fastlane_core/device_manager'
2
+ require_relative 'module'
3
+
1
4
  module Snapshot
2
5
  class ResetSimulators
3
6
  def self.clear_everything!(ios_versions, force = false)
@@ -2,6 +2,16 @@ require 'shellwords'
2
2
  require 'plist'
3
3
  require 'os'
4
4
  require 'thread'
5
+ require 'terminal-table'
6
+
7
+ require 'fastlane_core/print_table'
8
+ require_relative 'module'
9
+ require_relative 'update'
10
+ require_relative 'test_command_generator'
11
+ require_relative 'reports_generator'
12
+ require_relative 'simulator_launchers/simulator_launcher'
13
+ require_relative 'simulator_launchers/simulator_launcher_xcode_8'
14
+ require_relative 'simulator_launchers/launcher_configuration'
5
15
 
6
16
  module Snapshot
7
17
  class Runner
@@ -1,3 +1,5 @@
1
+ require_relative 'module'
2
+
1
3
  module Snapshot
2
4
  # This class takes care of removing the alpha channel of the generated screenshots
3
5
  class ScreenshotFlatten
@@ -1,8 +1,11 @@
1
- require 'shellwords'
1
+ require_relative 'module'
2
2
 
3
3
  module Snapshot
4
4
  # This class takes care of rotating images
5
5
  class ScreenshotRotate
6
+ require 'shellwords'
7
+ require 'pty'
8
+
6
9
  # @param (String) The path in which the screenshots are located in
7
10
  def run(path)
8
11
  UI.verbose "Rotating the screenshots (if necessary)"
@@ -1,3 +1,5 @@
1
+ require_relative 'module'
2
+
1
3
  module Snapshot
2
4
  class Setup
3
5
  # This method will take care of creating a Snapfile and other necessary files
@@ -1,4 +1,3 @@
1
-
2
1
  module Snapshot
3
2
  class SimulatorLauncherConfiguration
4
3
  # both
@@ -1,6 +1,32 @@
1
- require 'snapshot/simulator_launchers/simulator_launcher_base'
1
+ require 'fastlane_core/test_parser'
2
+ require_relative 'simulator_launcher_base'
2
3
 
3
4
  module Snapshot
5
+ class CPUInspector
6
+ def self.hwprefs_available?
7
+ `which hwprefs` != ''
8
+ end
9
+
10
+ def self.cpu_count
11
+ @cpu_count ||=
12
+ case RUBY_PLATFORM
13
+ when /darwin9/
14
+ `hwprefs cpu_count`.to_i
15
+ when /darwin10/
16
+ (hwprefs_available? ? `hwprefs thread_count` : `sysctl -n hw.physicalcpu_max`).to_i
17
+ when /linux/
18
+ UI.user_error!("We detected that you are running snapshot on Linux, but snapshot is only supported on macOS")
19
+ when /freebsd/
20
+ UI.user_error!("We detected that you are running snapshot on FreeBSD, but snapshot is only supported on macOS")
21
+ else
22
+ if RbConfig::CONFIG['host_os'] =~ /darwin/
23
+ (hwprefs_available? ? `hwprefs thread_count` : `sysctl -n hw.physicalcpu_max`).to_i
24
+ else
25
+ UI.crash!("Cannot find the machine's processor count.")
26
+ end
27
+ end
28
+ end
29
+ end
4
30
  class SimulatorLauncher < SimulatorLauncherBase
5
31
  # With Xcode 9's ability to run tests on multiple concurrent simulators,
6
32
  # this method sets the maximum number of simulators to run simultaneously
@@ -177,30 +203,4 @@ module Snapshot
177
203
  return File.join(containing, file_name)
178
204
  end
179
205
  end
180
-
181
- class CPUInspector
182
- def self.hwprefs_available?
183
- `which hwprefs` != ''
184
- end
185
-
186
- def self.cpu_count
187
- @cpu_count ||=
188
- case RUBY_PLATFORM
189
- when /darwin9/
190
- `hwprefs cpu_count`.to_i
191
- when /darwin10/
192
- (hwprefs_available? ? `hwprefs thread_count` : `sysctl -n hw.physicalcpu_max`).to_i
193
- when /linux/
194
- UI.user_error!("We detected that you are running snapshot on Linux, but snapshot is only supported on macOS")
195
- when /freebsd/
196
- UI.user_error!("We detected that you are running snapshot on FreeBSD, but snapshot is only supported on macOS")
197
- else
198
- if RbConfig::CONFIG['host_os'] =~ /darwin/
199
- (hwprefs_available? ? `hwprefs thread_count` : `sysctl -n hw.physicalcpu_max`).to_i
200
- else
201
- UI.crash!("Cannot find the machine's processor count.")
202
- end
203
- end
204
- end
205
- end
206
206
  end
@@ -1,3 +1,11 @@
1
+ require 'plist'
2
+
3
+ require_relative '../module'
4
+ require_relative '../test_command_generator'
5
+ require_relative '../collector'
6
+ require_relative '../fixes/hardware_keyboard_fix'
7
+ require_relative '../fixes/simulator_zoom_fix'
8
+
1
9
  module Snapshot
2
10
  class SimulatorLauncherBase
3
11
  attr_accessor :collected_errors
@@ -1,4 +1,7 @@
1
- require 'snapshot/simulator_launchers/simulator_launcher_base'
1
+ require_relative 'simulator_launcher_base'
2
+ require_relative '../error_handler'
3
+ require_relative '../collector'
4
+ require_relative '../test_command_generator_xcode_8'
2
5
 
3
6
  module Snapshot
4
7
  class SimulatorLauncherXcode8 < SimulatorLauncherBase
@@ -1,4 +1,5 @@
1
- require 'snapshot/test_command_generator_base'
1
+ require_relative 'test_command_generator_base'
2
+ require_relative 'latest_os_version'
2
3
 
3
4
  module Snapshot
4
5
  # Responsible for building the fully working xcodebuild command
@@ -1,3 +1,6 @@
1
+ require 'fastlane_core/device_manager'
2
+ require_relative 'module'
3
+
1
4
  module Snapshot
2
5
  class TestCommandGeneratorBase
3
6
  class << self
@@ -36,10 +39,13 @@ module Snapshot
36
39
 
37
40
  def actions
38
41
  actions = []
39
- actions << :clean if Snapshot.config[:clean]
40
- actions << :build # https://github.com/fastlane/snapshot/issues/246
41
- actions << :test
42
-
42
+ if Snapshot.config[:test_without_building]
43
+ actions << "test-without-building"
44
+ else
45
+ actions << :clean if Snapshot.config[:clean]
46
+ actions << :build # https://github.com/fastlane/snapshot/issues/246
47
+ actions << :test
48
+ end
43
49
  return actions
44
50
  end
45
51
 
@@ -1,4 +1,6 @@
1
- require 'snapshot/test_command_generator_base'
1
+ require_relative 'test_command_generator_base'
2
+ require_relative 'module'
3
+ require_relative 'latest_os_version'
2
4
 
3
5
  module Snapshot
4
6
  # Responsible for building the fully working xcodebuild command
@@ -1,3 +1,6 @@
1
+ require_relative 'module'
2
+ require_relative 'runner'
3
+
1
4
  module Snapshot
2
5
  # Migrate helper files
3
6
  class Update
@@ -1,42 +1,20 @@
1
- require 'spaceship/globals'
2
- require 'spaceship/base'
3
- require 'spaceship/client'
4
- require 'spaceship/provider'
5
- require 'spaceship/launcher'
6
-
7
- # For basic user inputs
8
- require 'highline/import'
1
+ require_relative 'spaceship/globals'
2
+ require_relative 'spaceship/base'
3
+ require_relative 'spaceship/client'
4
+ require_relative 'spaceship/provider'
5
+ require_relative 'spaceship/launcher'
9
6
 
10
7
  # Dev Portal
11
- require 'spaceship/portal/portal'
12
- require 'spaceship/portal/spaceship'
8
+ require_relative 'spaceship/portal/portal'
9
+ require_relative 'spaceship/portal/spaceship'
13
10
 
14
11
  # iTunes Connect
15
- require 'spaceship/tunes/tunes'
16
- require 'spaceship/tunes/spaceship'
17
- require 'spaceship/test_flight'
18
-
19
- # To support legacy code
20
- module Spaceship
21
- ROOT = Pathname.new(File.expand_path('../..', __FILE__))
22
-
23
- # Dev Portal
24
- Certificate = Spaceship::Portal::Certificate
25
- ProvisioningProfile = Spaceship::Portal::ProvisioningProfile
26
- Device = Spaceship::Portal::Device
27
- App = Spaceship::Portal::App
28
- AppGroup = Spaceship::Portal::AppGroup
29
- Passbook = Spaceship::Portal::Passbook
30
- WebsitePush = Spaceship::Portal::WebsitePush
31
- AppService = Spaceship::Portal::AppService
32
- Merchant = Spaceship::Portal::Merchant
12
+ require_relative 'spaceship/tunes/tunes'
13
+ require_relative 'spaceship/tunes/spaceship'
14
+ require_relative 'spaceship/test_flight'
33
15
 
34
- # iTunes Connect
35
- AppVersion = Spaceship::Tunes::AppVersion
36
- AppSubmission = Spaceship::Tunes::AppSubmission
37
- Application = Spaceship::Tunes::Application
38
- Members = Spaceship::Tunes::Members
39
- Persons = Spaceship::Portal::Persons
16
+ require_relative 'spaceship/module'
40
17
 
41
- DESCRIPTION = "Ruby library to access the Apple Dev Center and iTunes Connect".freeze
42
- end
18
+ # Support for legacy wrappers
19
+ require_relative 'spaceship/portal/legacy_wrapper'
20
+ require_relative 'spaceship/tunes/legacy_wrapper'
@@ -1,16 +1,21 @@
1
1
  require 'faraday' # HTTP Client
2
2
  require 'faraday-cookie_jar'
3
3
  require 'faraday_middleware'
4
- require 'fastlane/version'
5
4
  require 'logger'
6
- require 'spaceship/babosa_fix'
7
- require 'spaceship/helper/net_http_generic_request'
8
- require 'spaceship/helper/plist_middleware'
9
- require 'spaceship/helper/rels_middleware'
10
- require 'spaceship/ui'
11
5
  require 'tmpdir'
12
6
  require 'cgi'
13
7
 
8
+ require 'fastlane/version'
9
+ require_relative 'babosa_fix'
10
+ require_relative 'helper/net_http_generic_request'
11
+ require_relative 'helper/plist_middleware'
12
+ require_relative 'helper/rels_middleware'
13
+ require_relative 'ui'
14
+ require_relative 'errors'
15
+ require_relative 'tunes/errors'
16
+ require_relative 'globals'
17
+ require_relative 'provider'
18
+
14
19
  Faraday::Utils.default_params_encoder = Faraday::FlatParamsEncoder
15
20
 
16
21
  module Spaceship
@@ -37,71 +42,16 @@ module Spaceship
37
42
 
38
43
  attr_accessor :available_providers
39
44
 
40
- # Base class for errors that want to present their message as
41
- # preferred error info for fastlane error handling. See:
42
- # fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb
43
- class BasicPreferredInfoError < StandardError
44
- TITLE = 'The request could not be completed because:'.freeze
45
-
46
- def preferred_error_info
47
- message ? [TITLE, message] : nil
48
- end
49
- end
50
-
51
- # Invalid user credentials were provided
52
- class InvalidUserCredentialsError < BasicPreferredInfoError; end
53
-
54
- # Raised when no user credentials were passed at all
55
- class NoUserCredentialsError < BasicPreferredInfoError; end
56
-
57
- class ProgramLicenseAgreementUpdated < BasicPreferredInfoError
58
- def show_github_issues
59
- false
60
- end
61
- end
62
-
63
- # User doesn't have enough permission for given action
64
- class InsufficientPermissions < BasicPreferredInfoError
65
- TITLE = 'Insufficient permissions for your Apple ID:'.freeze
66
-
67
- def preferred_error_info
68
- message ? [TITLE, message] : nil
69
- end
70
-
71
- # We don't want to show similar GitHub issues, as the error message
72
- # should be pretty clear
73
- def show_github_issues
74
- false
75
- end
76
- end
77
-
78
- class UnexpectedResponse < StandardError
79
- attr_reader :error_info
80
-
81
- def initialize(error_info = nil)
82
- super(error_info)
83
- @error_info = error_info
84
- end
85
-
86
- def preferred_error_info
87
- return nil unless @error_info.kind_of?(Hash) && @error_info['resultString']
88
-
89
- [
90
- "Apple provided the following error info:",
91
- @error_info['resultString'],
92
- @error_info['userString']
93
- ].compact.uniq # sometimes 'resultString' and 'userString' are the same value
94
- end
95
- end
96
-
97
- # Raised when 302 is received from portal request
98
- class AppleTimeoutError < BasicPreferredInfoError; end
99
-
100
- # Raised when 401 is received from portal request
101
- class UnauthorizedAccessError < BasicPreferredInfoError; end
102
-
103
- # Raised when 500 is received from iTunes Connect
104
- class InternalServerError < BasicPreferredInfoError; end
45
+ # legacy support
46
+ BasicPreferredInfoError = Spaceship::BasicPreferredInfoError
47
+ InvalidUserCredentialsError = Spaceship::InvalidUserCredentialsError
48
+ NoUserCredentialsError = Spaceship::NoUserCredentialsError
49
+ ProgramLicenseAgreementUpdated = Spaceship::ProgramLicenseAgreementUpdated
50
+ InsufficientPermissions = Spaceship::InsufficientPermissions
51
+ UnexpectedResponse = Spaceship::UnexpectedResponse
52
+ AppleTimeoutError = Spaceship::AppleTimeoutError
53
+ UnauthorizedAccessError = Spaceship::UnauthorizedAccessError
54
+ InternalServerError = Spaceship::InternalServerError
105
55
 
106
56
  # Authenticates with Apple's web services. This method has to be called once
107
57
  # to generate a valid session. The session will automatically be used from then
@@ -219,7 +169,7 @@ module Spaceship
219
169
 
220
170
  unless result
221
171
  error_string = "Could not set team ID to '#{team_id}', only found the following available teams:\n\n#{available_teams.map { |team| "- #{team[:team_id]} (#{team[:team_name]})" }.join("\n")}\n"
222
- raise TunesClient::ITunesConnectError.new, error_string
172
+ raise Tunes::Error.new, error_string
223
173
  end
224
174
 
225
175
  response = request(:post) do |req|
@@ -388,7 +338,7 @@ module Spaceship
388
338
  # @return (Spaceship::Client) The client the login method was called for
389
339
  def login(user = nil, password = nil)
390
340
  if user.to_s.empty? or password.to_s.empty?
391
- require 'credentials_manager'
341
+ require 'credentials_manager/account_manager'
392
342
 
393
343
  keychain_entry = CredentialsManager::AccountManager.new(user: user, password: password)
394
344
  user ||= keychain_entry.user
@@ -513,7 +463,7 @@ module Spaceship
513
463
  raise "Looks like your Apple ID is not enabled for iTunes Connect, make sure to be able to login online"
514
464
  else
515
465
  info = [response.body, response['Set-Cookie']]
516
- raise TunesClient::ITunesConnectError.new, info.join("\n")
466
+ raise Tunes::Error.new, info.join("\n")
517
467
  end
518
468
  end
519
469
  end
@@ -576,7 +526,7 @@ module Spaceship
576
526
  tries -= 1
577
527
  unless tries.zero?
578
528
  logger.warn("Timeout received: '#{ex.message}'. Retrying after 3 seconds (remaining: #{tries})...")
579
- sleep 3 unless defined? SpecHelper
529
+ sleep 3 unless Object.const_defined?("SpecHelper")
580
530
  retry
581
531
  end
582
532
  raise ex # re-raise the exception
@@ -591,7 +541,7 @@ module Spaceship
591
541
  end
592
542
 
593
543
  do_login(self.user, @password)
594
- sleep 3 unless defined? SpecHelper
544
+ sleep 3 unless Object.const_defined?("SpecHelper")
595
545
  retry
596
546
  end
597
547
  raise ex # re-raise the exception