fastlane_hotfix 2.165.0 → 2.187.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +106 -86
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +6 -5
  6. data/cert/lib/cert/runner.rb +8 -8
  7. data/deliver/lib/assets/summary.html.erb +10 -10
  8. data/deliver/lib/deliver/app_screenshot.rb +17 -11
  9. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  10. data/deliver/lib/deliver/commands_generator.rb +4 -3
  11. data/deliver/lib/deliver/detect_values.rb +5 -3
  12. data/deliver/lib/deliver/download_screenshots.rb +2 -3
  13. data/deliver/lib/deliver/html_generator.rb +2 -2
  14. data/deliver/lib/deliver/languages.rb +1 -1
  15. data/deliver/lib/deliver/loader.rb +123 -21
  16. data/deliver/lib/deliver/module.rb +6 -0
  17. data/deliver/lib/deliver/options.rb +41 -55
  18. data/deliver/lib/deliver/runner.rb +19 -14
  19. data/deliver/lib/deliver/setup.rb +9 -5
  20. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  21. data/deliver/lib/deliver/upload_metadata.rb +32 -21
  22. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  23. data/deliver/lib/deliver/upload_screenshots.rb +14 -76
  24. data/fastlane/lib/fastlane/actions/actions_helper.rb +3 -3
  25. data/fastlane/lib/fastlane/actions/adb.rb +2 -5
  26. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  27. data/fastlane/lib/fastlane/actions/add_git_tag.rb +22 -6
  28. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +17 -17
  29. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
  30. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  31. data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
  32. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  33. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  34. data/fastlane/lib/fastlane/actions/appledoc.rb +46 -46
  35. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  36. data/fastlane/lib/fastlane/actions/artifactory.rb +41 -9
  37. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  38. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
  40. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  41. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
  42. data/fastlane/lib/fastlane/actions/build_app.rb +7 -1
  43. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  44. data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
  45. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  46. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  47. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
  48. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  49. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  50. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  51. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  52. data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
  53. data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
  54. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  55. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  56. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  57. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  58. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  59. data/fastlane/lib/fastlane/actions/create_pull_request.rb +15 -9
  60. data/fastlane/lib/fastlane/actions/create_xcframework.rb +123 -0
  61. data/fastlane/lib/fastlane/actions/danger.rb +13 -12
  62. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  63. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  64. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +27 -28
  65. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +7 -3
  66. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  67. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +20 -3
  68. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +9 -3
  69. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +39 -16
  70. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  71. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +15 -5
  72. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  73. data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -20
  74. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  76. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  77. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  78. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  79. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  80. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  81. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  82. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  84. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  85. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  86. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
  87. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +9 -1
  88. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  90. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  91. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  92. data/fastlane/lib/fastlane/actions/git_commit.rb +12 -10
  93. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  94. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  95. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  96. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  97. data/fastlane/lib/fastlane/actions/github_api.rb +17 -8
  98. data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
  99. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  100. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  101. data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
  102. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  103. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  104. data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
  105. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
  106. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  107. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  108. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  109. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  110. data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
  111. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  112. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +6 -6
  113. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  114. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  115. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  116. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  117. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  118. data/fastlane/lib/fastlane/actions/nexus_upload.rb +3 -2
  119. data/fastlane/lib/fastlane/actions/notarize.rb +98 -54
  120. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  121. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  122. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  123. data/fastlane/lib/fastlane/actions/onesignal.rb +13 -3
  124. data/fastlane/lib/fastlane/actions/pod_push.rb +9 -2
  125. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  126. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  127. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  128. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +14 -3
  129. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  130. data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
  131. data/fastlane/lib/fastlane/actions/register_devices.rb +11 -14
  132. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  133. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  134. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  135. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  136. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  137. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  138. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  139. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  140. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  141. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  142. data/fastlane/lib/fastlane/actions/set_changelog.rb +10 -13
  143. data/fastlane/lib/fastlane/actions/set_github_release.rb +23 -16
  144. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  145. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  146. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  147. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  148. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  149. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  150. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  151. data/fastlane/lib/fastlane/actions/slack.rb +164 -145
  152. data/fastlane/lib/fastlane/actions/slather.rb +5 -21
  153. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  154. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  155. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  156. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  157. data/fastlane/lib/fastlane/actions/spm.rb +8 -2
  158. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  159. data/fastlane/lib/fastlane/actions/swiftlint.rb +21 -19
  160. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
  161. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  162. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  163. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  164. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  165. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  166. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  167. data/fastlane/lib/fastlane/actions/update_fastlane.rb +31 -10
  168. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  169. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  170. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  171. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  172. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
  173. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  174. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  175. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
  176. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
  177. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  178. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +8 -4
  179. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +7 -2
  180. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  181. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  182. data/fastlane/lib/fastlane/actions/xcode_install.rb +8 -5
  183. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  184. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  185. data/fastlane/lib/fastlane/cli_tools_distributor.rb +6 -3
  186. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  187. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  188. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  189. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  190. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  191. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  192. data/fastlane/lib/fastlane/fast_file.rb +19 -7
  193. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  194. data/fastlane/lib/fastlane/features.rb +1 -1
  195. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  196. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  197. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  198. data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
  199. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  200. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  201. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  202. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  203. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  204. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
  205. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  206. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  207. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  208. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +31 -35
  209. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  210. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  211. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  212. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +3 -0
  213. data/fastlane/lib/fastlane/swift_fastlane_function.rb +44 -16
  214. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  215. data/fastlane/lib/fastlane/version.rb +2 -2
  216. data/fastlane/swift/Actions.swift +1 -1
  217. data/fastlane/swift/Appfile.swift +1 -1
  218. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  219. data/fastlane/swift/ControlCommand.swift +1 -1
  220. data/fastlane/swift/Deliverfile.swift +2 -2
  221. data/fastlane/swift/DeliverfileProtocol.swift +23 -23
  222. data/fastlane/swift/Fastfile.swift +1 -1
  223. data/fastlane/swift/Fastlane.swift +7965 -4213
  224. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  225. data/fastlane/swift/Gymfile.swift +2 -2
  226. data/fastlane/swift/GymfileProtocol.swift +15 -3
  227. data/fastlane/swift/LaneFileProtocol.swift +12 -6
  228. data/fastlane/swift/MainProcess.swift +3 -1
  229. data/fastlane/swift/Matchfile.swift +2 -2
  230. data/fastlane/swift/MatchfileProtocol.swift +4 -4
  231. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  232. data/fastlane/swift/Plugins.swift +1 -1
  233. data/fastlane/swift/Precheckfile.swift +2 -2
  234. data/fastlane/swift/PrecheckfileProtocol.swift +8 -4
  235. data/fastlane/swift/RubyCommand.swift +2 -2
  236. data/fastlane/swift/RubyCommandable.swift +1 -1
  237. data/fastlane/swift/Runner.swift +3 -3
  238. data/fastlane/swift/RunnerArgument.swift +1 -1
  239. data/fastlane/swift/Scanfile.swift +2 -2
  240. data/fastlane/swift/ScanfileProtocol.swift +34 -2
  241. data/fastlane/swift/Screengrabfile.swift +2 -2
  242. data/fastlane/swift/ScreengrabfileProtocol.swift +5 -5
  243. data/fastlane/swift/Snapshotfile.swift +2 -2
  244. data/fastlane/swift/SnapshotfileProtocol.swift +19 -3
  245. data/fastlane/swift/SocketClient.swift +4 -3
  246. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  247. data/fastlane/swift/SocketResponse.swift +5 -3
  248. data/fastlane/swift/formatting/Brewfile.lock.json +24 -16
  249. data/fastlane/swift/main.swift +1 -1
  250. data/fastlane/swift/upgrade_manifest.json +1 -1
  251. data/fastlane_core/lib/fastlane_core.rb +22 -20
  252. data/fastlane_core/lib/fastlane_core/build_watcher.rb +89 -12
  253. data/fastlane_core/lib/fastlane_core/cert_checker.rb +12 -7
  254. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  255. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  256. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +6 -1
  257. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +41 -3
  258. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +14 -8
  259. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  260. data/fastlane_core/lib/fastlane_core/helper.rb +78 -14
  261. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +41 -16
  262. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  263. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +20 -15
  264. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  265. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  266. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  267. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  268. data/fastlane_core/lib/fastlane_core/project.rb +48 -28
  269. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +3 -1
  270. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
  271. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  272. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +8 -0
  273. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  274. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  275. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +16 -2
  276. data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
  277. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  278. data/frameit/lib/frameit/commands_generator.rb +2 -1
  279. data/frameit/lib/frameit/config_parser.rb +2 -2
  280. data/frameit/lib/frameit/device_types.rb +7 -1
  281. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  282. data/gym/lib/gym/code_signing_mapping.rb +3 -3
  283. data/gym/lib/gym/commands_generator.rb +2 -1
  284. data/gym/lib/gym/error_handler.rb +8 -0
  285. data/gym/lib/gym/generators/build_command_generator.rb +3 -0
  286. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  287. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +21 -15
  288. data/gym/lib/gym/options.rb +19 -3
  289. data/gym/lib/gym/runner.rb +15 -4
  290. data/match/lib/match/change_password.rb +3 -3
  291. data/match/lib/match/commands_generator.rb +2 -1
  292. data/match/lib/match/encryption/interface.rb +1 -1
  293. data/match/lib/match/encryption/openssl.rb +5 -3
  294. data/match/lib/match/importer.rb +9 -10
  295. data/match/lib/match/migrate.rb +2 -3
  296. data/match/lib/match/module.rb +2 -1
  297. data/match/lib/match/nuke.rb +19 -15
  298. data/match/lib/match/options.rb +4 -3
  299. data/match/lib/match/runner.rb +3 -4
  300. data/match/lib/match/spaceship_ensure.rb +3 -0
  301. data/match/lib/match/storage/git_storage.rb +14 -10
  302. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  303. data/match/lib/match/storage/s3_storage.rb +2 -2
  304. data/pem/lib/pem/commands_generator.rb +2 -1
  305. data/pilot/lib/pilot.rb +0 -1
  306. data/pilot/lib/pilot/build_manager.rb +41 -15
  307. data/pilot/lib/pilot/commands_generator.rb +2 -1
  308. data/pilot/lib/pilot/manager.rb +11 -8
  309. data/pilot/lib/pilot/options.rb +18 -9
  310. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  311. data/pilot/lib/pilot/tester_manager.rb +0 -1
  312. data/precheck/lib/precheck/commands_generator.rb +2 -1
  313. data/precheck/lib/precheck/options.rb +9 -3
  314. data/precheck/lib/precheck/rule_processor.rb +1 -1
  315. data/precheck/lib/precheck/runner.rb +14 -9
  316. data/produce/lib/produce/commands_generator.rb +101 -28
  317. data/produce/lib/produce/developer_center.rb +42 -4
  318. data/produce/lib/produce/options.rb +1 -1
  319. data/produce/lib/produce/service.rb +270 -179
  320. data/scan/lib/scan/commands_generator.rb +2 -1
  321. data/scan/lib/scan/detect_values.rb +7 -2
  322. data/scan/lib/scan/module.rb +4 -0
  323. data/scan/lib/scan/options.rb +46 -1
  324. data/scan/lib/scan/runner.rb +88 -3
  325. data/scan/lib/scan/slack_poster.rb +4 -1
  326. data/scan/lib/scan/test_command_generator.rb +13 -8
  327. data/screengrab/lib/screengrab/android_environment.rb +5 -53
  328. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  329. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  330. data/screengrab/lib/screengrab/options.rb +5 -2
  331. data/screengrab/lib/screengrab/runner.rb +111 -108
  332. data/sigh/lib/assets/resign.sh +81 -61
  333. data/sigh/lib/sigh/commands_generator.rb +2 -1
  334. data/sigh/lib/sigh/download_all.rb +4 -8
  335. data/sigh/lib/sigh/options.rb +3 -2
  336. data/sigh/lib/sigh/runner.rb +9 -9
  337. data/snapshot/lib/assets/SnapfileTemplate +3 -2
  338. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  339. data/snapshot/lib/assets/SnapshotHelper.swift +20 -12
  340. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  341. data/snapshot/lib/snapshot/options.rb +22 -2
  342. data/snapshot/lib/snapshot/reports_generator.rb +7 -1
  343. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  344. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  345. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +10 -5
  346. data/snapshot/lib/snapshot/test_command_generator.rb +18 -4
  347. data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -1
  348. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +1 -1
  349. data/snapshot/lib/snapshot/update.rb +1 -1
  350. data/spaceship/README.md +4 -14
  351. data/spaceship/lib/spaceship/base.rb +2 -2
  352. data/spaceship/lib/spaceship/client.rb +44 -16
  353. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  354. data/spaceship/lib/spaceship/connect_api.rb +6 -0
  355. data/spaceship/lib/spaceship/connect_api/api_client.rb +67 -9
  356. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  357. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +39 -6
  358. data/spaceship/lib/spaceship/connect_api/models/app.rb +95 -55
  359. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  360. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  361. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  362. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  363. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  364. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  365. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +26 -10
  366. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +8 -4
  367. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +15 -11
  368. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +18 -9
  369. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +10 -8
  370. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +20 -11
  371. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +7 -5
  372. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +6 -4
  373. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +62 -38
  374. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -14
  375. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +3 -2
  376. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +3 -2
  377. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +6 -4
  378. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +29 -3
  379. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +15 -9
  380. data/spaceship/lib/spaceship/connect_api/models/build.rb +34 -17
  381. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  382. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +3 -2
  383. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +41 -6
  384. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +86 -21
  385. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +12 -8
  386. data/spaceship/lib/spaceship/connect_api/models/device.rb +36 -4
  387. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +6 -4
  388. data/spaceship/lib/spaceship/connect_api/models/profile.rb +18 -8
  389. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +3 -2
  390. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +9 -6
  391. data/spaceship/lib/spaceship/connect_api/models/territory.rb +3 -2
  392. data/spaceship/lib/spaceship/connect_api/models/user.rb +6 -4
  393. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +22 -6
  394. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +99 -2
  395. data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
  396. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +50 -0
  397. data/spaceship/lib/spaceship/connect_api/token.rb +15 -3
  398. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +122 -2
  399. data/spaceship/lib/spaceship/errors.rb +19 -0
  400. data/spaceship/lib/spaceship/playground.rb +2 -2
  401. data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
  402. data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
  403. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  404. data/spaceship/lib/spaceship/tunes/tunes_client.rb +4 -4
  405. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +59 -33
  406. data/spaceship/lib/spaceship/ui.rb +2 -2
  407. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  408. data/supply/lib/supply.rb +1 -1
  409. data/supply/lib/supply/client.rb +5 -3
  410. data/supply/lib/supply/commands_generator.rb +2 -1
  411. data/supply/lib/supply/options.rb +3 -3
  412. data/supply/lib/supply/uploader.rb +6 -4
  413. metadata +124 -92
  414. data/pilot/lib/pilot/features.rb +0 -0
  415. data/pilot/lib/pilot/tester_util.rb +0 -0
@@ -27,11 +27,16 @@ module Fastlane
27
27
 
28
28
  def self.get_build_number(params)
29
29
  # Prompts select team if multiple teams and none specified
30
- token = self.api_token(params)
31
- if token
32
- UI.message("Using App Store Connect API token...")
33
- Spaceship::ConnectAPI.token = token
30
+ if (api_token = Spaceship::ConnectAPI::Token.from(hash: params[:api_key], filepath: params[:api_key_path]))
31
+ UI.message("Creating authorization token for App Store Connect API")
32
+ Spaceship::ConnectAPI.token = api_token
33
+ elsif !Spaceship::ConnectAPI.token.nil?
34
+ UI.message("Using existing authorization token for App Store Connect API")
34
35
  else
36
+ # Username is now optional since addition of App Store Connect API Key
37
+ # Force asking for username to prompt user if not already set
38
+ params.fetch(:username, force_ask: true)
39
+
35
40
  UI.message("Login to App Store Connect (#{params[:username]})")
36
41
  Spaceship::ConnectAPI.login(params[:username], use_portal: false, use_tunes: true, tunes_team_id: params[:team_id], team_name: params[:team_name])
37
42
  UI.message("Login successful")
@@ -98,13 +103,6 @@ module Fastlane
98
103
  versions.map(&:to_s).sort_by { |v| Gem::Version.new(v) }
99
104
  end
100
105
 
101
- def self.api_token(params)
102
- params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
103
- api_token ||= Spaceship::ConnectAPI::Token.create(params[:api_key]) if params[:api_key]
104
- api_token ||= Spaceship::ConnectAPI::Token.from_json_file(params[:api_key_path]) if params[:api_key_path]
105
- return api_token
106
- end
107
-
108
106
  #####################################################
109
107
  # @!group Documentation
110
108
  #####################################################
@@ -118,7 +116,7 @@ module Fastlane
118
116
  user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
119
117
  [
120
118
  FastlaneCore::ConfigItem.new(key: :api_key_path,
121
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY_PATH",
119
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
122
120
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
123
121
  optional: true,
124
122
  conflicting_options: [:api_key],
@@ -126,16 +124,18 @@ module Fastlane
126
124
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
127
125
  end),
128
126
  FastlaneCore::ConfigItem.new(key: :api_key,
129
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY",
127
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
130
128
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
131
129
  type: Hash,
130
+ default_value: Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::APP_STORE_CONNECT_API_KEY],
131
+ default_value_dynamic: true,
132
132
  optional: true,
133
133
  sensitive: true,
134
134
  conflicting_options: [:api_key_path]),
135
135
  FastlaneCore::ConfigItem.new(key: :initial_build_number,
136
136
  env_name: "INITIAL_BUILD_NUMBER",
137
137
  description: "sets the build number to given value if no build is in current train",
138
- is_string: false),
138
+ skip_type_validation: true), # as we also allow integers, which we convert to strings anyway
139
139
  FastlaneCore::ConfigItem.new(key: :app_identifier,
140
140
  short_option: "-a",
141
141
  env_name: "FASTLANE_APP_IDENTIFIER",
@@ -147,6 +147,7 @@ module Fastlane
147
147
  short_option: "-u",
148
148
  env_name: "ITUNESCONNECT_USER",
149
149
  description: "Your Apple ID Username",
150
+ optional: true,
150
151
  default_value: user,
151
152
  default_value_dynamic: true),
152
153
  FastlaneCore::ConfigItem.new(key: :team_id,
@@ -154,7 +155,7 @@ module Fastlane
154
155
  env_name: "APPSTORE_BUILD_NUMBER_LIVE_TEAM_ID",
155
156
  description: "The ID of your App Store Connect team if you're in multiple teams",
156
157
  optional: true,
157
- is_string: false, # as we also allow integers, which we convert to strings anyway
158
+ skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
158
159
  code_gen_sensitive: true,
159
160
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
160
161
  default_value_dynamic: true,
@@ -166,7 +167,7 @@ module Fastlane
166
167
  env_name: "APPSTORE_BUILD_NUMBER_LIVE",
167
168
  description: "Query the live version (ready-for-sale)",
168
169
  optional: true,
169
- is_string: false,
170
+ type: Boolean,
170
171
  default_value: true),
171
172
  FastlaneCore::ConfigItem.new(key: :version,
172
173
  env_name: "LATEST_VERSION",
@@ -177,7 +178,6 @@ module Fastlane
177
178
  env_name: "APPSTORE_PLATFORM",
178
179
  description: "The platform to use (optional)",
179
180
  optional: true,
180
- is_string: true,
181
181
  default_value: "ios",
182
182
  verify_block: proc do |value|
183
183
  UI.user_error!("The platform can only be ios, appletvos, or osx") unless %('ios', 'appletvos', 'osx').include?(value)
@@ -1,4 +1,5 @@
1
1
  require 'base64'
2
+ require 'spaceship'
2
3
 
3
4
  module Fastlane
4
5
  module Actions
@@ -29,7 +30,7 @@ module Fastlane
29
30
  key = {
30
31
  key_id: key_id,
31
32
  issuer_id: issuer_id,
32
- key: key_content || File.binread(key_filepath),
33
+ key: key_content || File.binread(File.expand_path(key_filepath)),
33
34
  is_key_content_base64: is_key_content_base64,
34
35
  duration: duration,
35
36
  in_house: in_house
@@ -37,6 +38,10 @@ module Fastlane
37
38
 
38
39
  Actions.lane_context.set_sensitive(SharedValues::APP_STORE_CONNECT_API_KEY, key)
39
40
 
41
+ # Creates Spaceship API Key session
42
+ # User does not need to pass the token into any actions because of this
43
+ Spaceship::ConnectAPI.token = Spaceship::ConnectAPI::Token.create(**key) if options[:set_spaceship_token]
44
+
40
45
  return key
41
46
  end
42
47
 
@@ -58,7 +63,7 @@ module Fastlane
58
63
  optional: true,
59
64
  conflicting_options: [:key_content],
60
65
  verify_block: proc do |value|
61
- UI.user_error!("Couldn't find key p8 file at path '#{value}'") unless File.exist?(value)
66
+ UI.user_error!("Couldn't find key p8 file at path '#{value}'") unless File.exist?(File.expand_path(value))
62
67
  end),
63
68
  FastlaneCore::ConfigItem.new(key: :key_content,
64
69
  env_name: "APP_STORE_CONNECT_API_KEY_KEY",
@@ -75,12 +80,21 @@ module Fastlane
75
80
  env_name: "APP_STORE_CONNECT_API_KEY_DURATION",
76
81
  description: "The token session duration",
77
82
  optional: true,
78
- type: Integer),
83
+ default_value: Spaceship::ConnectAPI::Token::MAX_TOKEN_DURATION,
84
+ type: Integer,
85
+ verify_block: proc do |value|
86
+ UI.user_error!("The duration can't be more than 1200 (20 minutes) and the value entered was '#{value}'") unless value <= 1200
87
+ end),
79
88
  FastlaneCore::ConfigItem.new(key: :in_house,
80
89
  env_name: "APP_STORE_CONNECT_API_KEY_IN_HOUSE",
81
- description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot not determine this on its own (yet)",
82
- optional: true,
83
- type: Boolean)
90
+ description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot determine this on its own (yet)",
91
+ type: Boolean,
92
+ default_value: false),
93
+ FastlaneCore::ConfigItem.new(key: :set_spaceship_token,
94
+ env_name: "APP_STORE_CONNECT_API_KEY_SET_SPACESHIP_TOKEN",
95
+ description: "Authorizes all Spaceship::ConnectAPI requests by automatically setting Spaceship::ConnectAPI.token",
96
+ type: Boolean,
97
+ default_value: true)
84
98
  ]
85
99
  end
86
100
 
@@ -95,7 +109,7 @@ module Fastlane
95
109
  end
96
110
 
97
111
  def self.is_supported?(platform)
98
- true
112
+ [:ios, :mac, :tvos].include?(platform)
99
113
  end
100
114
 
101
115
  def self.details
@@ -10,7 +10,7 @@ module Fastlane
10
10
  binary_url = get_binary_link(binary, api_key, store_id, params[:group_ids])
11
11
  return if binary_url.nil?
12
12
  screenshots_url = get_screenshots_links(api_key, store_id, params[:screenshots], params[:locale], params[:device])
13
- upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description])
13
+ upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description], params[:changelog])
14
14
  end
15
15
 
16
16
  def self.get_binary_link(binary, api_key, store_id, group_ids)
@@ -101,7 +101,7 @@ module Fastlane
101
101
  end.compact
102
102
  end
103
103
 
104
- def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description)
104
+ def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description, changelog)
105
105
  screenshots = all_screenshots_links(screenshots)
106
106
  uri = URI("#{APPALOOSA_SERVER}/#{store_id}/mobile_application_updates/upload")
107
107
  http = Net::HTTP.new(uri.host, uri.port)
@@ -111,6 +111,7 @@ module Fastlane
111
111
  api_key: api_key,
112
112
  mobile_application_update: {
113
113
  description: description,
114
+ changelog: changelog,
114
115
  binary_path: binary_path,
115
116
  screenshot1: screenshots[0],
116
117
  screenshot2: screenshots[1],
@@ -218,6 +219,10 @@ module Fastlane
218
219
  FastlaneCore::ConfigItem.new(key: :description,
219
220
  env_name: 'FL_APPALOOSA_DESCRIPTION',
220
221
  description: 'Your app description',
222
+ optional: true),
223
+ FastlaneCore::ConfigItem.new(key: :changelog,
224
+ env_name: 'FL_APPALOOSA_CHANGELOG',
225
+ description: 'Your app changelog',
221
226
  optional: true)
222
227
  ]
223
228
  end
@@ -31,6 +31,10 @@ module Fastlane
31
31
 
32
32
  params[:note] = options[:note] if options[:note].to_s.length > 0
33
33
 
34
+ if options[:timeout]
35
+ params[:timeout] = options[:timeout]
36
+ end
37
+
34
38
  uri = URI.parse(appetize_url(options))
35
39
  req = create_request(uri, params)
36
40
  req.basic_auth(options[:api_token], nil)
@@ -105,7 +109,6 @@ module Fastlane
105
109
  FastlaneCore::ConfigItem.new(key: :api_host,
106
110
  env_name: "APPETIZE_API_HOST",
107
111
  description: "Appetize API host",
108
- is_string: true,
109
112
  default_value: 'api.appetize.io',
110
113
  verify_block: proc do |value|
111
114
  UI.user_error!("API host should not contain the scheme e.g. `https`") if value.start_with?('https')
@@ -114,29 +117,24 @@ module Fastlane
114
117
  env_name: "APPETIZE_API_TOKEN",
115
118
  sensitive: true,
116
119
  description: "Appetize.io API Token",
117
- is_string: true,
118
120
  verify_block: proc do |value|
119
121
  UI.user_error!("No API Token for Appetize.io given, pass using `api_token: 'token'`") unless value.to_s.length > 0
120
122
  end),
121
123
  FastlaneCore::ConfigItem.new(key: :url,
122
124
  env_name: "APPETIZE_URL",
123
125
  description: "URL from which the ipa file can be fetched. Alternative to :path",
124
- is_string: true,
125
126
  optional: true),
126
127
  FastlaneCore::ConfigItem.new(key: :platform,
127
128
  env_name: "APPETIZE_PLATFORM",
128
129
  description: "Platform. Either `ios` or `android`",
129
- is_string: true,
130
130
  default_value: 'ios'),
131
131
  FastlaneCore::ConfigItem.new(key: :path,
132
132
  env_name: "APPETIZE_FILE_PATH",
133
133
  description: "Path to zipped build on the local filesystem. Either this or `url` must be specified",
134
- is_string: true,
135
134
  optional: true),
136
135
  FastlaneCore::ConfigItem.new(key: :public_key,
137
136
  env_name: "APPETIZE_PUBLICKEY",
138
137
  description: "If not provided, a new app will be created. If provided, the existing build will be overwritten",
139
- is_string: true,
140
138
  optional: true,
141
139
  verify_block: proc do |value|
142
140
  if value.start_with?("private_")
@@ -146,8 +144,15 @@ module Fastlane
146
144
  FastlaneCore::ConfigItem.new(key: :note,
147
145
  env_name: "APPETIZE_NOTE",
148
146
  description: "Notes you wish to add to the uploaded app",
149
- is_string: true,
150
- optional: true)
147
+ optional: true),
148
+ FastlaneCore::ConfigItem.new(key: :timeout,
149
+ env_name: "APPETIZE_TIMEOUT",
150
+ description: "The number of seconds to wait until automatically ending the session due to user inactivity. Must be 30, 60, 90, 120, 180, 300, 600, 1800, 3600 or 7200. Default is 120",
151
+ type: Integer,
152
+ optional: true,
153
+ verify_block: proc do |value|
154
+ UI.user_error!("The value provided doesn't match any of the supported options.") unless [30, 60, 90, 120, 180, 300, 600, 1800, 3600, 7200].include?(value)
155
+ end)
151
156
  ]
152
157
  end
153
158
 
@@ -50,7 +50,6 @@ module Fastlane
50
50
  FastlaneCore::ConfigItem.new(key: :public_key,
51
51
  env_name: "APPETIZE_PUBLICKEY",
52
52
  description: "Public key of the app you wish to update",
53
- is_string: true,
54
53
  sensitive: true,
55
54
  default_value: Actions.lane_context[SharedValues::APPETIZE_PUBLIC_KEY],
56
55
  default_value_dynamic: true,
@@ -63,18 +62,15 @@ module Fastlane
63
62
  FastlaneCore::ConfigItem.new(key: :base_url,
64
63
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_BASE",
65
64
  description: "Base URL of Appetize service",
66
- is_string: true,
67
65
  default_value: "https://appetize.io/embed",
68
66
  optional: true),
69
67
  FastlaneCore::ConfigItem.new(key: :device,
70
68
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_DEVICE",
71
69
  description: "Device type: iphone4s, iphone5s, iphone6, iphone6plus, ipadair, iphone6s, iphone6splus, ipadair2, nexus5, nexus7 or nexus9",
72
- is_string: true,
73
70
  default_value: "iphone5s"),
74
71
  FastlaneCore::ConfigItem.new(key: :scale,
75
72
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_SCALE",
76
73
  description: "Scale of the simulator",
77
- is_string: true,
78
74
  optional: true,
79
75
  verify_block: proc do |value|
80
76
  available = ["25", "50", "75", "100"]
@@ -83,7 +79,6 @@ module Fastlane
83
79
  FastlaneCore::ConfigItem.new(key: :orientation,
84
80
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_ORIENTATION",
85
81
  description: "Device orientation",
86
- is_string: true,
87
82
  default_value: "portrait",
88
83
  verify_block: proc do |value|
89
84
  available = ["portrait", "landscape"]
@@ -92,12 +87,10 @@ module Fastlane
92
87
  FastlaneCore::ConfigItem.new(key: :language,
93
88
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_LANGUAGE",
94
89
  description: "Device language in ISO 639-1 language code, e.g. 'de'",
95
- is_string: true,
96
90
  optional: true),
97
91
  FastlaneCore::ConfigItem.new(key: :color,
98
92
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_COLOR",
99
93
  description: "Color of the device",
100
- is_string: true,
101
94
  default_value: "black",
102
95
  verify_block: proc do |value|
103
96
  available = ["black", "white", "silver", "gray"]
@@ -106,22 +99,18 @@ module Fastlane
106
99
  FastlaneCore::ConfigItem.new(key: :launch_url,
107
100
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_LAUNCH_URL",
108
101
  description: "Specify a deep link to open when your app is launched",
109
- is_string: true,
110
102
  optional: true),
111
103
  FastlaneCore::ConfigItem.new(key: :os_version,
112
104
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_OS_VERSION",
113
105
  description: "The operating system version on which to run your app, e.g. 10.3, 8.0",
114
- is_string: true,
115
106
  optional: true),
116
107
  FastlaneCore::ConfigItem.new(key: :params,
117
108
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_PARAMS",
118
109
  description: "Specify params value to be passed to Appetize",
119
- is_string: true,
120
110
  optional: true),
121
111
  FastlaneCore::ConfigItem.new(key: :proxy,
122
112
  env_name: "APPETIZE_VIEWING_URL_GENERATOR_PROXY",
123
113
  description: "Specify a HTTP proxy to be passed to Appetize",
124
- is_string: true,
125
114
  optional: true)
126
115
  ]
127
116
  end
@@ -105,71 +105,46 @@ module Fastlane
105
105
 
106
106
  def self.available_options
107
107
  [
108
- FastlaneCore::ConfigItem.new(
109
- key: :platform,
110
- env_name: 'FL_APPIUM_PLATFORM',
111
- description: 'Appium platform name',
112
- is_string: true
113
- ),
114
- FastlaneCore::ConfigItem.new(
115
- key: :spec_path,
116
- env_name: 'FL_APPIUM_SPEC_PATH',
117
- description: 'Path to Appium spec directory',
118
- is_string: true
119
- ),
120
- FastlaneCore::ConfigItem.new(
121
- key: :app_path,
122
- env_name: 'FL_APPIUM_APP_FILE_PATH',
123
- description: 'Path to Appium target app file',
124
- is_string: true
125
- ),
126
- FastlaneCore::ConfigItem.new(
127
- key: :invoke_appium_server,
128
- env_name: 'FL_APPIUM_INVOKE_APPIUM_SERVER',
129
- description: 'Use local Appium server with invoke automatically',
130
- is_string: false,
131
- default_value: true,
132
- optional: true
133
- ),
134
- FastlaneCore::ConfigItem.new(
135
- key: :host,
136
- env_name: 'FL_APPIUM_HOST',
137
- description: 'Hostname of Appium server',
138
- is_string: true,
139
- default_value: '0.0.0.0',
140
- optional: true
141
- ),
142
- FastlaneCore::ConfigItem.new(
143
- key: :port,
144
- env_name: 'FL_APPIUM_PORT',
145
- description: 'HTTP port of Appium server',
146
- is_string: false,
147
- default_value: 4723,
148
- optional: true
149
- ),
150
- FastlaneCore::ConfigItem.new(
151
- key: :appium_path,
152
- env_name: 'FL_APPIUM_EXECUTABLE_PATH',
153
- description: 'Path to Appium executable',
154
- is_string: true,
155
- optional: true
156
- ),
157
- FastlaneCore::ConfigItem.new(
158
- key: :caps,
159
- env_name: 'FL_APPIUM_CAPS',
160
- description: 'Hash of caps for Appium::Driver',
161
- is_string: false,
162
- type: Hash,
163
- optional: true
164
- ),
165
- FastlaneCore::ConfigItem.new(
166
- key: :appium_lib,
167
- env_name: 'FL_APPIUM_LIB',
168
- description: 'Hash of appium_lib for Appium::Driver',
169
- is_string: false,
170
- type: Hash,
171
- optional: true
172
- )
108
+ FastlaneCore::ConfigItem.new(key: :platform,
109
+ env_name: 'FL_APPIUM_PLATFORM',
110
+ description: 'Appium platform name'),
111
+ FastlaneCore::ConfigItem.new(key: :spec_path,
112
+ env_name: 'FL_APPIUM_SPEC_PATH',
113
+ description: 'Path to Appium spec directory'),
114
+ FastlaneCore::ConfigItem.new(key: :app_path,
115
+ env_name: 'FL_APPIUM_APP_FILE_PATH',
116
+ description: 'Path to Appium target app file'),
117
+ FastlaneCore::ConfigItem.new(key: :invoke_appium_server,
118
+ env_name: 'FL_APPIUM_INVOKE_APPIUM_SERVER',
119
+ description: 'Use local Appium server with invoke automatically',
120
+ type: Boolean,
121
+ default_value: true,
122
+ optional: true),
123
+ FastlaneCore::ConfigItem.new(key: :host,
124
+ env_name: 'FL_APPIUM_HOST',
125
+ description: 'Hostname of Appium server',
126
+ default_value: '0.0.0.0',
127
+ optional: true),
128
+ FastlaneCore::ConfigItem.new(key: :port,
129
+ env_name: 'FL_APPIUM_PORT',
130
+ description: 'HTTP port of Appium server',
131
+ type: Integer,
132
+ default_value: 4723,
133
+ optional: true),
134
+ FastlaneCore::ConfigItem.new(key: :appium_path,
135
+ env_name: 'FL_APPIUM_EXECUTABLE_PATH',
136
+ description: 'Path to Appium executable',
137
+ optional: true),
138
+ FastlaneCore::ConfigItem.new(key: :caps,
139
+ env_name: 'FL_APPIUM_CAPS',
140
+ description: 'Hash of caps for Appium::Driver',
141
+ type: Hash,
142
+ optional: true),
143
+ FastlaneCore::ConfigItem.new(key: :appium_lib,
144
+ env_name: 'FL_APPIUM_LIB',
145
+ description: 'Hash of appium_lib for Appium::Driver',
146
+ type: Hash,
147
+ optional: true)
173
148
  ]
174
149
  end
175
150