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
1
  require 'openssl'
2
2
 
3
+ require_relative 'app'
4
+
3
5
  module Spaceship
4
6
  module Portal
5
7
  # Represents a certificate from the Apple Developer Portal.
@@ -287,7 +289,7 @@ module Spaceship
287
289
 
288
290
  # look up the app_id by the bundle_id
289
291
  if bundle_id
290
- app = Spaceship::App.set_client(client).find(bundle_id)
292
+ app = Spaceship::Portal::App.set_client(client).find(bundle_id)
291
293
  raise "Could not find app with bundle id '#{bundle_id}'" unless app
292
294
  app_id = app.app_id
293
295
  end
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  # Represents a device from the Apple Developer Portal
@@ -97,11 +99,11 @@ module Spaceship
97
99
  # @return (Array) Returns all devices matching the provided profile_type
98
100
  def all_for_profile_type(profile_type)
99
101
  if profile_type.include? "tvOS"
100
- Spaceship::Device.all_apple_tvs
102
+ Spaceship::Portal::Device.all_apple_tvs
101
103
  elsif profile_type.include? "Mac"
102
- Spaceship::Device.all_macs
104
+ Spaceship::Portal::Device.all_macs
103
105
  else
104
- Spaceship::Device.all_ios_profile_devices
106
+ Spaceship::Portal::Device.all_ios_profile_devices
105
107
  end
106
108
  end
107
109
 
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  class Invite < PortalBase
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  class Key < PortalBase
@@ -0,0 +1,21 @@
1
+ require_relative 'certificate'
2
+ require_relative 'provisioning_profile'
3
+ require_relative 'device'
4
+ require_relative 'app'
5
+ require_relative 'app_group'
6
+ require_relative 'passbook'
7
+ require_relative 'website_push'
8
+ require_relative 'app_service'
9
+ require_relative 'merchant'
10
+
11
+ module Spaceship
12
+ Certificate = Spaceship::Portal::Certificate
13
+ ProvisioningProfile = Spaceship::Portal::ProvisioningProfile
14
+ Device = Spaceship::Portal::Device
15
+ App = Spaceship::Portal::App
16
+ AppGroup = Spaceship::Portal::AppGroup
17
+ Passbook = Spaceship::Portal::Passbook
18
+ WebsitePush = Spaceship::Portal::WebsitePush
19
+ AppService = Spaceship::Portal::AppService
20
+ Merchant = Spaceship::Portal::Merchant
21
+ end
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  # Represents a Merchant ID from the Developer Portal
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  # Represents an Passbook ID from the Developer Portal
@@ -1,3 +1,5 @@
1
+ require_relative 'portal_base'
2
+
1
3
  module Spaceship
2
4
  module Portal
3
5
  class Person < PortalBase
@@ -1,3 +1,6 @@
1
+ require_relative 'person'
2
+ require_relative 'invite'
3
+
1
4
  module Spaceship
2
5
  module Portal
3
6
  class Persons < PortalBase
@@ -1,7 +1,10 @@
1
+ require_relative '../base'
2
+
1
3
  module Spaceship
2
4
  class PortalBase < Spaceship::Base
3
5
  class << self
4
6
  def client
7
+ require_relative 'spaceship'
5
8
  (
6
9
  @client or
7
10
  Spaceship::Portal.client or
@@ -1,3 +1,15 @@
1
+ require_relative '../client'
2
+
3
+ require_relative 'app'
4
+ require_relative 'app_group'
5
+ require_relative 'device'
6
+ require_relative 'merchant'
7
+ require_relative 'passbook'
8
+ require_relative 'provisioning_profile'
9
+ require_relative 'certificate'
10
+ require_relative 'website_push'
11
+ require_relative 'persons'
12
+
1
13
  module Spaceship
2
14
  # rubocop:disable Metrics/ClassLength
3
15
  class PortalClient < Spaceship::Client
@@ -5,6 +17,8 @@ module Spaceship
5
17
  # @!group Init and Login
6
18
  #####################################################
7
19
 
20
+ PROTOCOL_VERSION = Spaceship::Client::PROTOCOL_VERSION
21
+
8
22
  def self.hostname
9
23
  "https://developer.apple.com/services-account/#{PROTOCOL_VERSION}/"
10
24
  end
@@ -107,7 +121,7 @@ module Spaceship
107
121
  end
108
122
 
109
123
  def update_service_for_app(app, service)
110
- ensure_csrf(Spaceship::App)
124
+ ensure_csrf(Spaceship::Portal::App)
111
125
 
112
126
  request(:post, service.service_uri, {
113
127
  teamId: team_id,
@@ -120,7 +134,7 @@ module Spaceship
120
134
  end
121
135
 
122
136
  def associate_groups_with_app(app, groups)
123
- ensure_csrf(Spaceship::AppGroup)
137
+ ensure_csrf(Spaceship::Portal::AppGroup)
124
138
 
125
139
  request(:post, 'account/ios/identifiers/assignApplicationGroupToAppId.action', {
126
140
  teamId: team_id,
@@ -133,7 +147,7 @@ module Spaceship
133
147
  end
134
148
 
135
149
  def associate_merchants_with_app(app, merchants, mac)
136
- ensure_csrf(Spaceship::Merchant)
150
+ ensure_csrf(Spaceship::Portal::Merchant)
137
151
 
138
152
  request(:post, "account/#{platform_slug(mac)}/identifiers/assignOMCToAppId.action", {
139
153
  teamId: team_id,
@@ -160,7 +174,7 @@ module Spaceship
160
174
  # We moved the ensure_csrf to the top of this method
161
175
  # as we got some users with issues around creating new apps
162
176
  # https://github.com/fastlane/fastlane/issues/5813
163
- ensure_csrf(Spaceship::App)
177
+ ensure_csrf(Spaceship::Portal::App)
164
178
 
165
179
  ident_params = case type.to_sym
166
180
  when :explicit
@@ -191,7 +205,7 @@ module Spaceship
191
205
  end
192
206
 
193
207
  def delete_app!(app_id, mac: false)
194
- ensure_csrf(Spaceship::App)
208
+ ensure_csrf(Spaceship::Portal::App)
195
209
 
196
210
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/deleteAppId.action", {
197
211
  teamId: team_id,
@@ -201,7 +215,7 @@ module Spaceship
201
215
  end
202
216
 
203
217
  def update_app_name!(app_id, name, mac: false)
204
- ensure_csrf(Spaceship::App)
218
+ ensure_csrf(Spaceship::Portal::App)
205
219
 
206
220
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/updateAppIdName.action", {
207
221
  teamId: team_id,
@@ -228,7 +242,7 @@ module Spaceship
228
242
  end
229
243
 
230
244
  def create_passbook!(name, bundle_id)
231
- ensure_csrf(Spaceship::Passbook)
245
+ ensure_csrf(Spaceship::Portal::Passbook)
232
246
 
233
247
  r = request(:post, "account/ios/identifiers/addPassTypeId.action", {
234
248
  name: name,
@@ -239,7 +253,7 @@ module Spaceship
239
253
  end
240
254
 
241
255
  def delete_passbook!(passbook_id)
242
- ensure_csrf(Spaceship::Passbook)
256
+ ensure_csrf(Spaceship::Portal::Passbook)
243
257
 
244
258
  r = request(:post, "account/ios/identifiers/deletePassTypeId.action", {
245
259
  teamId: team_id,
@@ -265,7 +279,7 @@ module Spaceship
265
279
  end
266
280
 
267
281
  def create_website_push!(name, bundle_id, mac: false)
268
- ensure_csrf(Spaceship::WebsitePush)
282
+ ensure_csrf(Spaceship::Portal::WebsitePush)
269
283
 
270
284
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/addWebsitePushId.action", {
271
285
  name: name,
@@ -276,7 +290,7 @@ module Spaceship
276
290
  end
277
291
 
278
292
  def delete_website_push!(website_id, mac: false)
279
- ensure_csrf(Spaceship::WebsitePush)
293
+ ensure_csrf(Spaceship::Portal::WebsitePush)
280
294
 
281
295
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/deleteWebsitePushId.action", {
282
296
  teamId: team_id,
@@ -302,7 +316,7 @@ module Spaceship
302
316
  end
303
317
 
304
318
  def create_merchant!(name, bundle_id, mac: false)
305
- ensure_csrf(Spaceship::Merchant)
319
+ ensure_csrf(Spaceship::Portal::Merchant)
306
320
 
307
321
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/addOMC.action", {
308
322
  name: name,
@@ -313,7 +327,7 @@ module Spaceship
313
327
  end
314
328
 
315
329
  def delete_merchant!(merchant_id, mac: false)
316
- ensure_csrf(Spaceship::Merchant)
330
+ ensure_csrf(Spaceship::Portal::Merchant)
317
331
 
318
332
  r = request(:post, "account/#{platform_slug(mac)}/identifiers/deleteOMC.action", {
319
333
  teamId: team_id,
@@ -339,7 +353,7 @@ module Spaceship
339
353
  end
340
354
 
341
355
  def create_app_group!(name, group_id)
342
- ensure_csrf(Spaceship::AppGroup)
356
+ ensure_csrf(Spaceship::Portal::AppGroup)
343
357
 
344
358
  r = request(:post, 'account/ios/identifiers/addApplicationGroup.action', {
345
359
  name: valid_name_for(name),
@@ -350,7 +364,7 @@ module Spaceship
350
364
  end
351
365
 
352
366
  def delete_app_group!(app_group_id)
353
- ensure_csrf(Spaceship::AppGroup)
367
+ ensure_csrf(Spaceship::Portal::AppGroup)
354
368
 
355
369
  r = request(:post, 'account/ios/identifiers/deleteApplicationGroup.action', {
356
370
  teamId: team_id,
@@ -441,7 +455,7 @@ module Spaceship
441
455
  })
442
456
  result = parse_response(r, 'devices')
443
457
 
444
- csrf_cache[Spaceship::Device] = self.csrf_tokens
458
+ csrf_cache[Spaceship::Portal::Device] = self.csrf_tokens
445
459
 
446
460
  result
447
461
  end
@@ -462,7 +476,7 @@ module Spaceship
462
476
  end
463
477
 
464
478
  def create_device!(device_name, device_id, mac: false)
465
- ensure_csrf(Spaceship::Device)
479
+ ensure_csrf(Spaceship::Portal::Device)
466
480
 
467
481
  req = request(:post, "account/#{platform_slug(mac)}/device/addDevices.action", {
468
482
  teamId: team_id,
@@ -509,7 +523,7 @@ module Spaceship
509
523
  end
510
524
 
511
525
  def create_certificate!(type, csr, app_id = nil, mac = false)
512
- ensure_csrf(Spaceship::Certificate)
526
+ ensure_csrf(Spaceship::Portal::Certificate)
513
527
 
514
528
  r = request(:post, "account/#{platform_slug(mac)}/certificate/submitCertificateRequest.action", {
515
529
  teamId: team_id,
@@ -537,7 +551,7 @@ module Spaceship
537
551
  end
538
552
 
539
553
  def revoke_certificate!(certificate_id, type, mac: false)
540
- ensure_csrf(Spaceship::Certificate)
554
+ ensure_csrf(Spaceship::Portal::Certificate)
541
555
 
542
556
  r = request(:post, "account/#{platform_slug(mac)}/certificate/revokeCertificate.action", {
543
557
  teamId: team_id,
@@ -564,7 +578,7 @@ module Spaceship
564
578
 
565
579
  result = parse_response(req, 'provisioningProfiles')
566
580
 
567
- csrf_cache[Spaceship::ProvisioningProfile] = self.csrf_tokens
581
+ csrf_cache[Spaceship::Portal::ProvisioningProfile] = self.csrf_tokens
568
582
 
569
583
  result
570
584
  end
@@ -587,7 +601,7 @@ module Spaceship
587
601
 
588
602
  result = parse_response(req, 'provisioningProfiles')
589
603
 
590
- csrf_cache[Spaceship::ProvisioningProfile] = self.csrf_tokens
604
+ csrf_cache[Spaceship::Portal::ProvisioningProfile] = self.csrf_tokens
591
605
 
592
606
  result
593
607
  end
@@ -601,7 +615,7 @@ module Spaceship
601
615
  end
602
616
 
603
617
  def create_provisioning_profile!(name, distribution_method, app_id, certificate_ids, device_ids, mac: false, sub_platform: nil, template_name: nil)
604
- ensure_csrf(Spaceship::ProvisioningProfile) do
618
+ ensure_csrf(Spaceship::Portal::ProvisioningProfile) do
605
619
  fetch_csrf_token_for_provisioning
606
620
  end
607
621
 
@@ -623,7 +637,7 @@ module Spaceship
623
637
  end
624
638
 
625
639
  def download_provisioning_profile(profile_id, mac: false)
626
- ensure_csrf(Spaceship::ProvisioningProfile) do
640
+ ensure_csrf(Spaceship::Portal::ProvisioningProfile) do
627
641
  fetch_csrf_token_for_provisioning
628
642
  end
629
643
 
@@ -640,7 +654,7 @@ module Spaceship
640
654
  end
641
655
 
642
656
  def delete_provisioning_profile!(profile_id, mac: false)
643
- ensure_csrf(Spaceship::ProvisioningProfile) do
657
+ ensure_csrf(Spaceship::Portal::ProvisioningProfile) do
644
658
  fetch_csrf_token_for_provisioning
645
659
  end
646
660
 
@@ -1,3 +1,8 @@
1
+ require_relative 'app'
2
+ require_relative 'device'
3
+ require_relative 'certificate'
4
+ require_relative 'provisioning_profile_template'
5
+
1
6
  module Spaceship
2
7
  module Portal
3
8
  # Represents a provisioning profile of the Apple Dev Portal
@@ -81,7 +86,7 @@ module Spaceship
81
86
  # @return (App) The app this profile is for
82
87
  #
83
88
  # @example Example Value
84
- # <Spaceship::App
89
+ # <Spaceship::Portal::App
85
90
  # @app_id="2UMR2S6PAA"
86
91
  # @name="App Name"
87
92
  # @platform="ios"
@@ -98,7 +103,7 @@ module Spaceship
98
103
  # @return (Array) A list of certificates used for this profile
99
104
  # @example Example Value
100
105
  # [
101
- # <Spaceship::Certificate::Production
106
+ # <Spaceship::Portal::Certificate::Production
102
107
  # @status=nil
103
108
  # @id="XC5PH8D4AA"
104
109
  # @name="iOS Distribution"
@@ -118,7 +123,7 @@ module Spaceship
118
123
  # This will always be [] for AppStore profiles
119
124
  #
120
125
  # @example Example Value
121
- # <Spaceship::Device
126
+ # <Spaceship::Portal::Device
122
127
  # @id="WXQ7V239BE"
123
128
  # @name="Grahams iPhone 4s"
124
129
  # @udid="ba0ac7d70f7a14c6fa02ef0e02f4fe9c5178e2f7"
@@ -188,6 +193,7 @@ module Spaceship
188
193
  # Create a new object based on a hash.
189
194
  # This is used to create a new object based on the server response.
190
195
  def factory(attrs)
196
+ # rubocop:disable Lint/MissingRequireStatement
191
197
  # available values of `distributionMethod` at this point: ['adhoc', 'store', 'limited', 'direct']
192
198
  klass = case attrs['distributionMethod']
193
199
  when 'limited'
@@ -201,6 +207,7 @@ module Spaceship
201
207
  else
202
208
  raise "Can't find class '#{attrs['distributionMethod']}'"
203
209
  end
210
+ # rubocop:enable Lint/MissingRequireStatement
204
211
 
205
212
  # Parse the dates
206
213
  # rubocop:disable Style/RescueModifier
@@ -252,9 +259,9 @@ module Spaceship
252
259
  # @return (ProvisioningProfile): The profile that was just created
253
260
  def create!(name: nil, bundle_id: nil, certificate: nil, devices: [], mac: false, sub_platform: nil, template_name: nil)
254
261
  raise "Missing required parameter 'bundle_id'" if bundle_id.to_s.empty?
255
- raise "Missing required parameter 'certificate'. e.g. use `Spaceship::Certificate::Production.all.first`" if certificate.to_s.empty?
262
+ raise "Missing required parameter 'certificate'. e.g. use `Spaceship::Portal::Certificate::Production.all.first`" if certificate.to_s.empty?
256
263
 
257
- app = Spaceship::App.find(bundle_id, mac: mac)
264
+ app = Spaceship::Portal::App.find(bundle_id, mac: mac)
258
265
  raise "Could not find app with bundle id '#{bundle_id}'" unless app
259
266
 
260
267
  raise "Invalid sub_platform #{sub_platform}, valid values are tvOS" if !sub_platform.nil? and sub_platform != 'tvOS'
@@ -262,7 +269,7 @@ module Spaceship
262
269
  # Fill in sensible default values
263
270
  name ||= [bundle_id, self.pretty_type].join(' ')
264
271
 
265
- if self == AppStore || self == InHouse || self == Direct
272
+ if self == AppStore || self == InHouse || self == Direct # rubocop:disable Lint/MissingRequireStatement
266
273
  # Distribution Profiles MUST NOT have devices
267
274
  devices = []
268
275
  end
@@ -274,14 +281,14 @@ module Spaceship
274
281
  certificate_parameter = certificate_parameter.first if certificate_parameter.count == 1
275
282
 
276
283
  if devices.nil? or devices.count == 0
277
- if self == Development or self == AdHoc
284
+ if self == Development or self == AdHoc # rubocop:disable Lint/MissingRequireStatement
278
285
  # For Development and AdHoc we usually want all compatible devices by default
279
286
  if mac
280
- devices = Spaceship::Device.all_macs
287
+ devices = Spaceship::Portal::Device.all_macs
281
288
  elsif sub_platform == 'tvOS'
282
- devices = Spaceship::Device.all_apple_tvs
289
+ devices = Spaceship::Portal::Device.all_apple_tvs
283
290
  else
284
- devices = Spaceship::Device.all_ios_profile_devices
291
+ devices = Spaceship::Portal::Device.all_ios_profile_devices
285
292
  end
286
293
  end
287
294
  end
@@ -326,8 +333,8 @@ module Spaceship
326
333
  # a details request (see `profile_details`). This is an expensive operation
327
334
  # which we can't do for every single provisioning profile
328
335
  # Instead we'll treat App Store profiles the same way as Ad Hoc profiles
329
- # Spaceship::ProvisioningProfile::AdHoc.all will return the same array as
330
- # Spaceship::ProvisioningProfile::AppStore.all, containing only AppStore
336
+ # Spaceship::Portal::ProvisioningProfile::AdHoc.all will return the same array as
337
+ # Spaceship::Portal::ProvisioningProfile::AppStore.all, containing only AppStore
331
338
  # profiles. To determine if it's an Ad Hoc profile, you can use the
332
339
  # is_adhoc? method on the profile.
333
340
  klass = self
@@ -438,19 +445,19 @@ module Spaceship
438
445
  unless certificate_valid?
439
446
  if mac?
440
447
  if self.kind_of? Development
441
- self.certificates = [Spaceship::Certificate::MacDevelopment.all.first]
448
+ self.certificates = [Spaceship::Portal::Certificate::MacDevelopment.all.first]
442
449
  elsif self.kind_of? Direct
443
- self.certificates = [Spaceship::Certificate::DeveloperIDApplication.all.first]
450
+ self.certificates = [Spaceship::Portal::Certificate::DeveloperIDApplication.all.first]
444
451
  else
445
- self.certificates = [Spaceship::Certificate::MacAppDistribution.all.first]
452
+ self.certificates = [Spaceship::Portal::Certificate::MacAppDistribution.all.first]
446
453
  end
447
454
  else
448
455
  if self.kind_of? Development
449
- self.certificates = [Spaceship::Certificate::Development.all.first]
456
+ self.certificates = [Spaceship::Portal::Certificate::Development.all.first]
450
457
  elsif self.kind_of? InHouse
451
- self.certificates = [Spaceship::Certificate::InHouse.all.first]
458
+ self.certificates = [Spaceship::Portal::Certificate::InHouse.all.first]
452
459
  else
453
- self.certificates = [Spaceship::Certificate::Production.all.first]
460
+ self.certificates = [Spaceship::Portal::Certificate::Production.all.first]
454
461
  end
455
462
  end
456
463
  end
@@ -470,7 +477,7 @@ module Spaceship
470
477
  end
471
478
 
472
479
  # We need to fetch the provisioning profile again, as the ID changes
473
- profile = Spaceship::ProvisioningProfile.all(mac: mac?).find do |p|
480
+ profile = Spaceship::Portal::ProvisioningProfile.all(mac: mac?).find do |p|
474
481
  p.name == self.name # we can use the name as it's valid
475
482
  end
476
483
 
@@ -482,7 +489,7 @@ module Spaceship
482
489
  def certificate_valid?
483
490
  return false if (certificates || []).count == 0
484
491
  certificates.each do |c|
485
- if Spaceship::Certificate.all(mac: mac?).collect(&:id).include?(c.id)
492
+ if Spaceship::Portal::Certificate.all(mac: mac?).collect(&:id).include?(c.id)
486
493
  return true
487
494
  end
488
495
  end