fastlane 2.173.0 → 2.194.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +105 -85
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +4 -3
  6. data/cert/lib/cert/runner.rb +7 -7
  7. data/deliver/lib/assets/summary.html.erb +10 -10
  8. data/deliver/lib/deliver/app_screenshot.rb +8 -3
  9. data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
  10. data/deliver/lib/deliver/commands_generator.rb +3 -2
  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 +1 -1
  16. data/deliver/lib/deliver/module.rb +6 -0
  17. data/deliver/lib/deliver/options.rb +48 -56
  18. data/deliver/lib/deliver/runner.rb +28 -15
  19. data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
  20. data/deliver/lib/deliver/setup.rb +1 -2
  21. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  22. data/deliver/lib/deliver/sync_screenshots.rb +200 -0
  23. data/deliver/lib/deliver/upload_metadata.rb +26 -11
  24. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  25. data/deliver/lib/deliver/upload_screenshots.rb +13 -12
  26. data/fastlane/lib/assets/completions/completion.bash +4 -1
  27. data/fastlane/lib/assets/completions/completion.zsh +6 -5
  28. data/{spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp → fastlane/lib/fastlane/actions/.notarize.rb.swp} +0 -0
  29. data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
  30. data/fastlane/lib/fastlane/actions/adb.rb +2 -5
  31. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  32. data/fastlane/lib/fastlane/actions/add_git_tag.rb +4 -4
  33. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +18 -18
  34. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
  35. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  36. data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
  37. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  38. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  39. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  40. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  41. data/fastlane/lib/fastlane/actions/artifactory.rb +5 -6
  42. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  43. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  44. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
  45. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  46. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
  47. data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
  48. data/fastlane/lib/fastlane/actions/bundle_install.rb +21 -11
  49. data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
  50. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  51. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  52. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
  53. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  54. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -2
  55. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  56. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  57. data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
  58. data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
  59. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  60. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  61. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  62. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  63. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  64. data/fastlane/lib/fastlane/actions/create_pull_request.rb +0 -9
  65. data/fastlane/lib/fastlane/actions/create_xcframework.rb +102 -17
  66. data/fastlane/lib/fastlane/actions/danger.rb +13 -12
  67. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  68. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  69. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +29 -30
  70. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -3
  71. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  72. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +19 -2
  73. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
  74. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +37 -18
  75. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  76. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +10 -4
  77. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
  78. data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -19
  79. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  80. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  81. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  82. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  83. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  84. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  85. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  86. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  87. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  88. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  89. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  90. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  91. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
  92. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +10 -2
  93. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  94. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  95. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  96. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  97. data/fastlane/lib/fastlane/actions/git_commit.rb +6 -8
  98. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  99. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  100. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  101. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  102. data/fastlane/lib/fastlane/actions/github_api.rb +4 -6
  103. data/fastlane/lib/fastlane/actions/gradle.rb +13 -21
  104. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  105. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  106. data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
  107. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  108. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  109. data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
  110. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
  111. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  112. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  113. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  114. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  115. data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
  116. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  117. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +7 -7
  118. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  119. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  120. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  121. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  122. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  123. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  124. data/fastlane/lib/fastlane/actions/notarize.rb +181 -52
  125. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  126. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  127. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  128. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  129. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  130. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  131. data/fastlane/lib/fastlane/actions/push_git_tags.rb +2 -2
  132. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +6 -3
  133. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  134. data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
  135. data/fastlane/lib/fastlane/actions/register_devices.rb +10 -14
  136. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  137. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  138. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  139. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  140. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  141. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  142. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  143. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  144. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  145. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  146. data/fastlane/lib/fastlane/actions/set_changelog.rb +11 -14
  147. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  148. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  149. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  150. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  151. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  152. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  153. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  154. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  155. data/fastlane/lib/fastlane/actions/slack.rb +161 -141
  156. data/fastlane/lib/fastlane/actions/slather.rb +9 -19
  157. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  158. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  159. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  160. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  161. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  162. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  163. data/fastlane/lib/fastlane/actions/swiftlint.rb +18 -16
  164. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +7 -2
  165. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  166. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  167. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  168. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  169. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  170. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  171. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  172. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  173. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  174. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  175. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  176. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
  177. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  178. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  179. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  180. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
  181. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  182. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
  183. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +10 -3
  184. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  185. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  186. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  187. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  188. data/fastlane/lib/fastlane/actions/zip.rb +86 -21
  189. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  190. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  191. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  192. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  193. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +12 -6
  194. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  195. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  196. data/fastlane/lib/fastlane/fast_file.rb +19 -7
  197. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  198. data/fastlane/lib/fastlane/features.rb +3 -0
  199. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  200. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  201. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  202. data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
  203. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  204. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  205. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  206. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  207. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  208. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
  209. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  210. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  211. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  212. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
  213. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  214. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  215. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  216. data/fastlane/lib/fastlane/swift_fastlane_function.rb +43 -15
  217. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  218. data/fastlane/lib/fastlane/version.rb +2 -2
  219. data/fastlane/swift/Actions.swift +1 -1
  220. data/fastlane/swift/Appfile.swift +1 -1
  221. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  222. data/fastlane/swift/ControlCommand.swift +1 -1
  223. data/fastlane/swift/Deliverfile.swift +1 -1
  224. data/fastlane/swift/DeliverfileProtocol.swift +27 -23
  225. data/fastlane/swift/Fastlane.swift +7993 -4352
  226. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  227. data/fastlane/swift/Gymfile.swift +1 -1
  228. data/fastlane/swift/GymfileProtocol.swift +1 -1
  229. data/fastlane/swift/LaneFileProtocol.swift +10 -4
  230. data/fastlane/swift/MainProcess.swift +1 -1
  231. data/fastlane/swift/Matchfile.swift +1 -1
  232. data/fastlane/swift/MatchfileProtocol.swift +3 -3
  233. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  234. data/fastlane/swift/Plugins.swift +1 -1
  235. data/fastlane/swift/Precheckfile.swift +1 -1
  236. data/fastlane/swift/PrecheckfileProtocol.swift +4 -4
  237. data/fastlane/swift/RubyCommand.swift +2 -2
  238. data/fastlane/swift/RubyCommandable.swift +1 -1
  239. data/fastlane/swift/Runner.swift +2 -2
  240. data/fastlane/swift/RunnerArgument.swift +1 -1
  241. data/fastlane/swift/Scanfile.swift +1 -1
  242. data/fastlane/swift/ScanfileProtocol.swift +17 -1
  243. data/fastlane/swift/Screengrabfile.swift +1 -1
  244. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  245. data/fastlane/swift/Snapshotfile.swift +1 -1
  246. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  247. data/fastlane/swift/SocketClient.swift +3 -2
  248. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  249. data/fastlane/swift/SocketResponse.swift +5 -3
  250. data/fastlane/swift/formatting/Brewfile.lock.json +37 -21
  251. data/fastlane/swift/main.swift +1 -1
  252. data/fastlane/swift/upgrade_manifest.json +1 -1
  253. data/fastlane_core/lib/fastlane_core/build_watcher.rb +113 -17
  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 +66 -10
  261. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  262. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +14 -8
  263. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +12 -5
  264. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  265. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +5 -0
  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 +30 -23
  269. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
  270. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  271. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
  272. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +41 -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/fastlane_core/lib/fastlane_core.rb +22 -20
  279. data/frameit/lib/frameit/commands_generator.rb +2 -1
  280. data/frameit/lib/frameit/config_parser.rb +2 -2
  281. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  282. data/gym/lib/gym/code_signing_mapping.rb +2 -2
  283. data/gym/lib/gym/commands_generator.rb +2 -1
  284. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  285. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +19 -13
  286. data/gym/lib/gym/runner.rb +15 -4
  287. data/match/lib/match/change_password.rb +3 -3
  288. data/match/lib/match/commands_generator.rb +2 -1
  289. data/match/lib/match/encryption/interface.rb +1 -1
  290. data/match/lib/match/encryption/openssl.rb +2 -2
  291. data/match/lib/match/importer.rb +9 -10
  292. data/match/lib/match/migrate.rb +2 -3
  293. data/match/lib/match/module.rb +1 -0
  294. data/match/lib/match/nuke.rb +10 -10
  295. data/match/lib/match/options.rb +5 -4
  296. data/match/lib/match/runner.rb +12 -12
  297. data/match/lib/match/spaceship_ensure.rb +3 -0
  298. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  299. data/match/lib/match/storage/s3_storage.rb +2 -2
  300. data/pem/lib/pem/commands_generator.rb +2 -1
  301. data/pilot/lib/pilot/build_manager.rb +45 -15
  302. data/pilot/lib/pilot/commands_generator.rb +2 -1
  303. data/pilot/lib/pilot/manager.rb +14 -9
  304. data/pilot/lib/pilot/options.rb +39 -11
  305. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  306. data/pilot/lib/pilot/tester_manager.rb +0 -1
  307. data/pilot/lib/pilot.rb +0 -1
  308. data/precheck/lib/precheck/commands_generator.rb +2 -1
  309. data/precheck/lib/precheck/module.rb +2 -0
  310. data/precheck/lib/precheck/options.rb +7 -6
  311. data/precheck/lib/precheck/runner.rb +13 -8
  312. data/produce/lib/produce/commands_generator.rb +129 -28
  313. data/produce/lib/produce/developer_center.rb +42 -4
  314. data/produce/lib/produce/options.rb +1 -1
  315. data/produce/lib/produce/service.rb +285 -179
  316. data/scan/lib/scan/commands_generator.rb +2 -1
  317. data/scan/lib/scan/detect_values.rb +26 -14
  318. data/scan/lib/scan/module.rb +1 -0
  319. data/scan/lib/scan/options.rb +32 -6
  320. data/scan/lib/scan/runner.rb +81 -1
  321. data/scan/lib/scan/test_command_generator.rb +37 -12
  322. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
  323. data/screengrab/lib/screengrab/android_environment.rb +5 -53
  324. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  325. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  326. data/screengrab/lib/screengrab/options.rb +5 -2
  327. data/screengrab/lib/screengrab/runner.rb +110 -109
  328. data/sigh/lib/assets/resign.sh +81 -61
  329. data/sigh/lib/sigh/commands_generator.rb +2 -1
  330. data/sigh/lib/sigh/download_all.rb +4 -8
  331. data/sigh/lib/sigh/options.rb +6 -4
  332. data/sigh/lib/sigh/runner.rb +8 -8
  333. data/snapshot/lib/assets/SnapfileTemplate +3 -2
  334. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  335. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  336. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  337. data/snapshot/lib/snapshot/options.rb +5 -0
  338. data/snapshot/lib/snapshot/reports_generator.rb +7 -1
  339. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  340. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  341. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +12 -6
  342. data/snapshot/lib/snapshot/test_command_generator.rb +17 -3
  343. data/spaceship/README.md +4 -14
  344. data/spaceship/lib/spaceship/base.rb +2 -2
  345. data/spaceship/lib/spaceship/client.rb +37 -20
  346. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  347. data/spaceship/lib/spaceship/connect_api/api_client.rb +80 -8
  348. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  349. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +36 -4
  350. data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -2
  351. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
  352. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
  353. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
  354. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  355. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
  356. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
  357. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +8 -1
  358. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
  359. data/spaceship/lib/spaceship/connect_api/models/build.rb +14 -1
  360. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +8 -0
  361. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +32 -0
  362. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +84 -21
  363. data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
  364. data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
  365. data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
  366. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +37 -3
  367. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +104 -2
  368. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
  369. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +72 -5
  370. data/spaceship/lib/spaceship/connect_api/token.rb +19 -4
  371. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
  372. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +19 -2
  373. data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
  374. data/spaceship/lib/spaceship/connect_api/users/users.rb +58 -3
  375. data/spaceship/lib/spaceship/connect_api.rb +1 -0
  376. data/spaceship/lib/spaceship/playground.rb +2 -2
  377. data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
  378. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  379. data/spaceship/lib/spaceship/tunes/tunes_client.rb +5 -2
  380. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
  381. data/spaceship/lib/spaceship/ui.rb +2 -2
  382. data/supply/lib/supply/client.rb +45 -4
  383. data/supply/lib/supply/commands_generator.rb +2 -1
  384. data/supply/lib/supply/options.rb +14 -2
  385. data/supply/lib/supply/uploader.rb +13 -9
  386. metadata +119 -98
  387. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  388. data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
  389. data/pilot/lib/pilot/features.rb +0 -0
  390. data/pilot/lib/pilot/tester_util.rb +0 -0
  391. data/spaceship/lib/spaceship/.DS_Store +0 -0
@@ -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::DEFAULT_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
 
@@ -125,63 +125,63 @@ module Fastlane
125
125
  def self.available_options
126
126
  [
127
127
  # PATHS
128
- FastlaneCore::ConfigItem.new(key: :input, env_name: "FL_APPLEDOC_INPUT", description: "Path(s) to source file directories or individual source files. Accepts a single path or an array of paths", is_string: false),
129
- FastlaneCore::ConfigItem.new(key: :output, env_name: "FL_APPLEDOC_OUTPUT", description: "Output path", is_string: true, optional: true),
130
- FastlaneCore::ConfigItem.new(key: :templates, env_name: "FL_APPLEDOC_TEMPLATES", description: "Template files path", is_string: true, optional: true),
131
- FastlaneCore::ConfigItem.new(key: :docset_install_path, env_name: "FL_APPLEDOC_DOCSET_INSTALL_PATH", description: "DocSet installation path", is_string: true, optional: true),
132
- FastlaneCore::ConfigItem.new(key: :include, env_name: "FL_APPLEDOC_INCLUDE", description: "Include static doc(s) at path", is_string: true, optional: true),
133
- FastlaneCore::ConfigItem.new(key: :ignore, env_name: "FL_APPLEDOC_IGNORE", description: "Ignore given path", is_string: false, optional: true),
134
- FastlaneCore::ConfigItem.new(key: :exclude_output, env_name: "FL_APPLEDOC_EXCLUDE_OUTPUT", description: "Exclude given path from output", is_string: false, optional: true),
135
- FastlaneCore::ConfigItem.new(key: :index_desc, env_name: "FL_APPLEDOC_INDEX_DESC", description: "File including main index description", is_string: true, optional: true),
128
+ FastlaneCore::ConfigItem.new(key: :input, env_name: "FL_APPLEDOC_INPUT", description: "Path(s) to source file directories or individual source files. Accepts a single path or an array of paths", type: Array),
129
+ FastlaneCore::ConfigItem.new(key: :output, env_name: "FL_APPLEDOC_OUTPUT", description: "Output path", optional: true),
130
+ FastlaneCore::ConfigItem.new(key: :templates, env_name: "FL_APPLEDOC_TEMPLATES", description: "Template files path", optional: true),
131
+ FastlaneCore::ConfigItem.new(key: :docset_install_path, env_name: "FL_APPLEDOC_DOCSET_INSTALL_PATH", description: "DocSet installation path", optional: true),
132
+ FastlaneCore::ConfigItem.new(key: :include, env_name: "FL_APPLEDOC_INCLUDE", description: "Include static doc(s) at path", optional: true),
133
+ FastlaneCore::ConfigItem.new(key: :ignore, env_name: "FL_APPLEDOC_IGNORE", description: "Ignore given path", type: Array, optional: true),
134
+ FastlaneCore::ConfigItem.new(key: :exclude_output, env_name: "FL_APPLEDOC_EXCLUDE_OUTPUT", description: "Exclude given path from output", type: Array, optional: true),
135
+ FastlaneCore::ConfigItem.new(key: :index_desc, env_name: "FL_APPLEDOC_INDEX_DESC", description: "File including main index description", optional: true),
136
136
 
137
137
  # PROJECT INFO
138
- FastlaneCore::ConfigItem.new(key: :project_name, env_name: "FL_APPLEDOC_PROJECT_NAME", description: "Project name", is_string: true),
139
- FastlaneCore::ConfigItem.new(key: :project_version, env_name: "FL_APPLEDOC_PROJECT_VERSION", description: "Project version", is_string: true, optional: true),
140
- FastlaneCore::ConfigItem.new(key: :project_company, env_name: "FL_APPLEDOC_PROJECT_COMPANY", description: "Project company", is_string: true),
141
- FastlaneCore::ConfigItem.new(key: :company_id, env_name: "FL_APPLEDOC_COMPANY_ID", description: "Company UTI (i.e. reverse DNS name)", is_string: true, optional: true),
138
+ FastlaneCore::ConfigItem.new(key: :project_name, env_name: "FL_APPLEDOC_PROJECT_NAME", description: "Project name"),
139
+ FastlaneCore::ConfigItem.new(key: :project_version, env_name: "FL_APPLEDOC_PROJECT_VERSION", description: "Project version", optional: true),
140
+ FastlaneCore::ConfigItem.new(key: :project_company, env_name: "FL_APPLEDOC_PROJECT_COMPANY", description: "Project company"),
141
+ FastlaneCore::ConfigItem.new(key: :company_id, env_name: "FL_APPLEDOC_COMPANY_ID", description: "Company UTI (i.e. reverse DNS name)", optional: true),
142
142
 
143
143
  # OUTPUT GENERATION
144
- FastlaneCore::ConfigItem.new(key: :create_html, env_name: "FL_APPLEDOC_CREATE_HTML", description: "Create HTML", is_string: false, default_value: false),
145
- FastlaneCore::ConfigItem.new(key: :create_docset, env_name: "FL_APPLEDOC_CREATE_DOCSET", description: "Create documentation set", is_string: false, default_value: false),
146
- FastlaneCore::ConfigItem.new(key: :install_docset, env_name: "FL_APPLEDOC_INSTALL_DOCSET", description: "Install documentation set to Xcode", is_string: false, default_value: false),
147
- FastlaneCore::ConfigItem.new(key: :publish_docset, env_name: "FL_APPLEDOC_PUBLISH_DOCSET", description: "Prepare DocSet for publishing", is_string: false, default_value: false),
148
- FastlaneCore::ConfigItem.new(key: :no_create_docset, env_name: "FL_APPLEDOC_NO_CREATE_DOCSET", description: "Create HTML and skip creating a DocSet", is_string: false, default_value: false),
149
- FastlaneCore::ConfigItem.new(key: :html_anchors, env_name: "FL_APPLEDOC_HTML_ANCHORS", description: "The html anchor format to use in DocSet HTML", is_string: true, optional: true),
150
- FastlaneCore::ConfigItem.new(key: :clean_output, env_name: "FL_APPLEDOC_CLEAN_OUTPUT", description: "Remove contents of output path before starting", is_string: false, default_value: false),
144
+ FastlaneCore::ConfigItem.new(key: :create_html, env_name: "FL_APPLEDOC_CREATE_HTML", description: "Create HTML", type: Boolean, default_value: false),
145
+ FastlaneCore::ConfigItem.new(key: :create_docset, env_name: "FL_APPLEDOC_CREATE_DOCSET", description: "Create documentation set", type: Boolean, default_value: false),
146
+ FastlaneCore::ConfigItem.new(key: :install_docset, env_name: "FL_APPLEDOC_INSTALL_DOCSET", description: "Install documentation set to Xcode", type: Boolean, default_value: false),
147
+ FastlaneCore::ConfigItem.new(key: :publish_docset, env_name: "FL_APPLEDOC_PUBLISH_DOCSET", description: "Prepare DocSet for publishing", type: Boolean, default_value: false),
148
+ FastlaneCore::ConfigItem.new(key: :no_create_docset, env_name: "FL_APPLEDOC_NO_CREATE_DOCSET", description: "Create HTML and skip creating a DocSet", type: Boolean, default_value: false),
149
+ FastlaneCore::ConfigItem.new(key: :html_anchors, env_name: "FL_APPLEDOC_HTML_ANCHORS", description: "The html anchor format to use in DocSet HTML", optional: true),
150
+ FastlaneCore::ConfigItem.new(key: :clean_output, env_name: "FL_APPLEDOC_CLEAN_OUTPUT", description: "Remove contents of output path before starting", type: Boolean, default_value: false),
151
151
 
152
152
  # DOCUMENTATION SET INFO
153
- FastlaneCore::ConfigItem.new(key: :docset_bundle_id, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_ID", description: "DocSet bundle identifier", is_string: true, optional: true),
154
- FastlaneCore::ConfigItem.new(key: :docset_bundle_name, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_NAME", description: "DocSet bundle name", is_string: true, optional: true),
155
- FastlaneCore::ConfigItem.new(key: :docset_desc, env_name: "FL_APPLEDOC_DOCSET_DESC", description: "DocSet description", is_string: true, optional: true),
156
- FastlaneCore::ConfigItem.new(key: :docset_copyright, env_name: "FL_APPLEDOC_DOCSET_COPYRIGHT", description: "DocSet copyright message", is_string: true, optional: true),
157
- FastlaneCore::ConfigItem.new(key: :docset_feed_name, env_name: "FL_APPLEDOC_DOCSET_FEED_NAME", description: "DocSet feed name", is_string: true, optional: true),
158
- FastlaneCore::ConfigItem.new(key: :docset_feed_url, env_name: "FL_APPLEDOC_DOCSET_FEED_URL", description: "DocSet feed URL", is_string: true, optional: true),
159
- FastlaneCore::ConfigItem.new(key: :docset_feed_formats, env_name: "FL_APPLEDOC_DOCSET_FEED_FORMATS", description: "DocSet feed formats. Separated by a comma [atom,xml]", is_string: true, optional: true),
160
- FastlaneCore::ConfigItem.new(key: :docset_package_url, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_URL", description: "DocSet package (.xar) URL", is_string: true, optional: true),
161
- FastlaneCore::ConfigItem.new(key: :docset_fallback_url, env_name: "FL_APPLEDOC_DOCSET_FALLBACK_URL", description: "DocSet fallback URL", is_string: true, optional: true),
162
- FastlaneCore::ConfigItem.new(key: :docset_publisher_id, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_ID", description: "DocSet publisher identifier", is_string: true, optional: true),
163
- FastlaneCore::ConfigItem.new(key: :docset_publisher_name, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_NAME", description: "DocSet publisher name", is_string: true, optional: true),
164
- FastlaneCore::ConfigItem.new(key: :docset_min_xcode_version, env_name: "FL_APPLEDOC_DOCSET_MIN_XCODE_VERSION", description: "DocSet min. Xcode version", is_string: true, optional: true),
165
- FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform family", is_string: true, optional: true),
166
- FastlaneCore::ConfigItem.new(key: :docset_cert_issuer, env_name: "FL_APPLEDOC_DOCSET_CERT_ISSUER", description: "DocSet certificate issuer", is_string: true, optional: true),
167
- FastlaneCore::ConfigItem.new(key: :docset_cert_signer, env_name: "FL_APPLEDOC_DOCSET_CERT_SIGNER", description: "DocSet certificate signer", is_string: true, optional: true),
168
- FastlaneCore::ConfigItem.new(key: :docset_bundle_filename, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_FILENAME", description: "DocSet bundle filename", is_string: true, optional: true),
169
- FastlaneCore::ConfigItem.new(key: :docset_atom_filename, env_name: "FL_APPLEDOC_DOCSET_ATOM_FILENAME", description: "DocSet atom feed filename", is_string: true, optional: true),
170
- FastlaneCore::ConfigItem.new(key: :docset_xml_filename, env_name: "FL_APPLEDOC_DOCSET_XML_FILENAME", description: "DocSet xml feed filename", is_string: true, optional: true),
171
- FastlaneCore::ConfigItem.new(key: :docset_package_filename, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_FILENAME", description: "DocSet package (.xar,.tgz) filename", is_string: true, optional: true),
153
+ FastlaneCore::ConfigItem.new(key: :docset_bundle_id, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_ID", description: "DocSet bundle identifier", optional: true),
154
+ FastlaneCore::ConfigItem.new(key: :docset_bundle_name, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_NAME", description: "DocSet bundle name", optional: true),
155
+ FastlaneCore::ConfigItem.new(key: :docset_desc, env_name: "FL_APPLEDOC_DOCSET_DESC", description: "DocSet description", optional: true),
156
+ FastlaneCore::ConfigItem.new(key: :docset_copyright, env_name: "FL_APPLEDOC_DOCSET_COPYRIGHT", description: "DocSet copyright message", optional: true),
157
+ FastlaneCore::ConfigItem.new(key: :docset_feed_name, env_name: "FL_APPLEDOC_DOCSET_FEED_NAME", description: "DocSet feed name", optional: true),
158
+ FastlaneCore::ConfigItem.new(key: :docset_feed_url, env_name: "FL_APPLEDOC_DOCSET_FEED_URL", description: "DocSet feed URL", optional: true),
159
+ FastlaneCore::ConfigItem.new(key: :docset_feed_formats, env_name: "FL_APPLEDOC_DOCSET_FEED_FORMATS", description: "DocSet feed formats. Separated by a comma [atom,xml]", optional: true),
160
+ FastlaneCore::ConfigItem.new(key: :docset_package_url, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_URL", description: "DocSet package (.xar) URL", optional: true),
161
+ FastlaneCore::ConfigItem.new(key: :docset_fallback_url, env_name: "FL_APPLEDOC_DOCSET_FALLBACK_URL", description: "DocSet fallback URL", optional: true),
162
+ FastlaneCore::ConfigItem.new(key: :docset_publisher_id, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_ID", description: "DocSet publisher identifier", optional: true),
163
+ FastlaneCore::ConfigItem.new(key: :docset_publisher_name, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_NAME", description: "DocSet publisher name", optional: true),
164
+ FastlaneCore::ConfigItem.new(key: :docset_min_xcode_version, env_name: "FL_APPLEDOC_DOCSET_MIN_XCODE_VERSION", description: "DocSet min. Xcode version", optional: true),
165
+ FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform family", optional: true),
166
+ FastlaneCore::ConfigItem.new(key: :docset_cert_issuer, env_name: "FL_APPLEDOC_DOCSET_CERT_ISSUER", description: "DocSet certificate issuer", optional: true),
167
+ FastlaneCore::ConfigItem.new(key: :docset_cert_signer, env_name: "FL_APPLEDOC_DOCSET_CERT_SIGNER", description: "DocSet certificate signer", optional: true),
168
+ FastlaneCore::ConfigItem.new(key: :docset_bundle_filename, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_FILENAME", description: "DocSet bundle filename", optional: true),
169
+ FastlaneCore::ConfigItem.new(key: :docset_atom_filename, env_name: "FL_APPLEDOC_DOCSET_ATOM_FILENAME", description: "DocSet atom feed filename", optional: true),
170
+ FastlaneCore::ConfigItem.new(key: :docset_xml_filename, env_name: "FL_APPLEDOC_DOCSET_XML_FILENAME", description: "DocSet xml feed filename", optional: true),
171
+ FastlaneCore::ConfigItem.new(key: :docset_package_filename, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_FILENAME", description: "DocSet package (.xar,.tgz) filename", optional: true),
172
172
 
173
173
  # OPTIONS
174
- FastlaneCore::ConfigItem.new(key: :options, env_name: "FL_APPLEDOC_OPTIONS", description: "Documentation generation options", is_string: true, optional: true),
175
- FastlaneCore::ConfigItem.new(key: :crossref_format, env_name: "FL_APPLEDOC_OPTIONS_CROSSREF_FORMAT", description: "Cross reference template regex", is_string: true, optional: true),
176
- FastlaneCore::ConfigItem.new(key: :exit_threshold, env_name: "FL_APPLEDOC_OPTIONS_EXIT_THRESHOLD", description: "Exit code threshold below which 0 is returned", is_string: false, default_value: 2, optional: true),
177
- FastlaneCore::ConfigItem.new(key: :docs_section_title, env_name: "FL_APPLEDOC_OPTIONS_DOCS_SECTION_TITLE", description: "Title of the documentation section (defaults to \"Programming Guides\"", is_string: true, optional: true),
174
+ FastlaneCore::ConfigItem.new(key: :options, env_name: "FL_APPLEDOC_OPTIONS", description: "Documentation generation options", optional: true),
175
+ FastlaneCore::ConfigItem.new(key: :crossref_format, env_name: "FL_APPLEDOC_OPTIONS_CROSSREF_FORMAT", description: "Cross reference template regex", optional: true),
176
+ FastlaneCore::ConfigItem.new(key: :exit_threshold, env_name: "FL_APPLEDOC_OPTIONS_EXIT_THRESHOLD", description: "Exit code threshold below which 0 is returned", type: Integer, default_value: 2, optional: true),
177
+ FastlaneCore::ConfigItem.new(key: :docs_section_title, env_name: "FL_APPLEDOC_OPTIONS_DOCS_SECTION_TITLE", description: "Title of the documentation section (defaults to \"Programming Guides\"", optional: true),
178
178
 
179
179
  # WARNINGS
180
- FastlaneCore::ConfigItem.new(key: :warnings, env_name: "FL_APPLEDOC_WARNINGS", description: "Documentation generation warnings", is_string: true, optional: true),
180
+ FastlaneCore::ConfigItem.new(key: :warnings, env_name: "FL_APPLEDOC_WARNINGS", description: "Documentation generation warnings", optional: true),
181
181
 
182
182
  # MISCELLANEOUS
183
- FastlaneCore::ConfigItem.new(key: :logformat, env_name: "FL_APPLEDOC_LOGFORMAT", description: "Log format [0-3]", is_string: false, optional: true),
184
- FastlaneCore::ConfigItem.new(key: :verbose, env_name: "FL_APPLEDOC_VERBOSE", description: "Log verbosity level [0-6,xcode]", is_string: false, optional: true)
183
+ FastlaneCore::ConfigItem.new(key: :logformat, env_name: "FL_APPLEDOC_LOGFORMAT", description: "Log format [0-3]", type: Integer, optional: true),
184
+ FastlaneCore::ConfigItem.new(key: :verbose, env_name: "FL_APPLEDOC_VERBOSE", description: "Log verbosity level [0-6,xcode]", skip_type_validation: true, optional: true) # allow Integer, String
185
185
  ]
186
186
  end
187
187
 
@@ -70,11 +70,12 @@ module Fastlane
70
70
  optional: true),
71
71
  FastlaneCore::ConfigItem.new(key: :app_id,
72
72
  env_name: "FL_APTELIGENT_APP_ID",
73
- description: "Apteligent App ID key e.g. 569f5c87cb99e10e00c7xxxx",
74
- optional: false),
73
+ description: "Apteligent App ID key e.g. 569f5c87cb99e10e00c7xxxx",
74
+ optional: false),
75
75
  FastlaneCore::ConfigItem.new(key: :api_key,
76
76
  env_name: "FL_APTELIGENT_API_KEY",
77
77
  sensitive: true,
78
+ code_gen_sensitive: true,
78
79
  description: "Apteligent App API key e.g. IXPQIi8yCbHaLliqzRoo065tH0lxxxxx",
79
80
  optional: false)
80
81
  ]
@@ -126,6 +126,7 @@ module Fastlane
126
126
  env_name: "FL_ARTIFACTORY_PASSWORD",
127
127
  description: "Artifactory password",
128
128
  sensitive: true,
129
+ code_gen_sensitive: true,
129
130
  optional: true,
130
131
  conflicting_options: [:api_key],
131
132
  conflict_block: proc do |value|
@@ -135,6 +136,7 @@ module Fastlane
135
136
  env_name: "FL_ARTIFACTORY_API_KEY",
136
137
  description: "Artifactory API key",
137
138
  sensitive: true,
139
+ code_gen_sensitive: true,
138
140
  optional: true,
139
141
  conflicting_options: [:username, :password],
140
142
  conflict_block: proc do |value|
@@ -143,7 +145,7 @@ module Fastlane
143
145
  FastlaneCore::ConfigItem.new(key: :properties,
144
146
  env_name: "FL_ARTIFACTORY_PROPERTIES",
145
147
  description: "Artifact properties hash",
146
- is_string: false,
148
+ type: Hash,
147
149
  default_value: {},
148
150
  optional: true),
149
151
  FastlaneCore::ConfigItem.new(key: :ssl_pem_file,
@@ -154,7 +156,7 @@ module Fastlane
154
156
  FastlaneCore::ConfigItem.new(key: :ssl_verify,
155
157
  env_name: "FL_ARTIFACTORY_SSL_VERIFY",
156
158
  description: "Verify SSL",
157
- is_string: false,
159
+ type: Boolean,
158
160
  default_value: true,
159
161
  optional: true),
160
162
  FastlaneCore::ConfigItem.new(key: :proxy_username,
@@ -166,22 +168,19 @@ module Fastlane
166
168
  env_name: "FL_ARTIFACTORY_PROXY_PASSWORD",
167
169
  description: "Proxy password",
168
170
  sensitive: true,
169
- default_value: nil,
171
+ code_gen_sensitive: true,
170
172
  optional: true),
171
173
  FastlaneCore::ConfigItem.new(key: :proxy_address,
172
174
  env_name: "FL_ARTIFACTORY_PROXY_ADDRESS",
173
175
  description: "Proxy address",
174
- default_value: nil,
175
176
  optional: true),
176
177
  FastlaneCore::ConfigItem.new(key: :proxy_port,
177
178
  env_name: "FL_ARTIFACTORY_PROXY_PORT",
178
179
  description: "Proxy port",
179
- default_value: nil,
180
180
  optional: true),
181
181
  FastlaneCore::ConfigItem.new(key: :read_timeout,
182
182
  env_name: "FL_ARTIFACTORY_READ_TIMEOUT",
183
183
  description: "Read timeout",
184
- default_value: nil,
185
184
  optional: true)
186
185
  ]
187
186
  end
@@ -126,39 +126,33 @@ module Fastlane
126
126
  FastlaneCore::ConfigItem.new(key: :use_automatic_signing,
127
127
  env_name: "FL_PROJECT_USE_AUTOMATIC_SIGNING",
128
128
  description: "Defines if project should use automatic signing",
129
- is_string: false,
129
+ type: Boolean,
130
130
  default_value: false),
131
131
  FastlaneCore::ConfigItem.new(key: :team_id,
132
132
  env_name: "FASTLANE_TEAM_ID",
133
133
  optional: true,
134
- description: "Team ID, is used when upgrading project",
135
- is_string: true),
134
+ description: "Team ID, is used when upgrading project"),
136
135
  FastlaneCore::ConfigItem.new(key: :targets,
137
136
  env_name: "FL_PROJECT_SIGNING_TARGETS",
138
137
  optional: true,
139
138
  type: Array,
140
- description: "Specify targets you want to toggle the signing mech. (default to all targets)",
141
- is_string: false),
139
+ description: "Specify targets you want to toggle the signing mech. (default to all targets)"),
142
140
  FastlaneCore::ConfigItem.new(key: :code_sign_identity,
143
141
  env_name: "FL_CODE_SIGN_IDENTITY",
144
142
  description: "Code signing identity type (iPhone Developer, iPhone Distribution)",
145
- optional: true,
146
- is_string: true),
143
+ optional: true),
147
144
  FastlaneCore::ConfigItem.new(key: :profile_name,
148
145
  env_name: "FL_PROVISIONING_PROFILE_SPECIFIER",
149
146
  description: "Provisioning profile name to use for code signing",
150
- optional: true,
151
- is_string: true),
147
+ optional: true),
152
148
  FastlaneCore::ConfigItem.new(key: :profile_uuid,
153
149
  env_name: "FL_PROVISIONING_PROFILE",
154
150
  description: "Provisioning profile UUID to use for code signing",
155
- optional: true,
156
- is_string: true),
151
+ optional: true),
157
152
  FastlaneCore::ConfigItem.new(key: :bundle_identifier,
158
153
  env_name: "FL_APP_IDENTIFIER",
159
154
  description: "Application Product Bundle Identifier",
160
- optional: true,
161
- is_string: true)
155
+ optional: true)
162
156
  ]
163
157
  end
164
158
 
@@ -3,7 +3,7 @@ module Fastlane
3
3
  class BackupFileAction < Action
4
4
  def self.run(params)
5
5
  path = params[:path]
6
- FileUtils.cp(path, "#{path}.back", { preserve: true })
6
+ FileUtils.cp(path, "#{path}.back", preserve: true)
7
7
  UI.message("Successfully created a backup 💾")
8
8
  end
9
9