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

Sign up to get free protection for your applications and to get access to all the features.
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