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
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