fastlane_hotfix 2.187.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (885) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/LICENSE +21 -0
  4. data/README.md +228 -0
  5. data/bin/bin-proxy +19 -0
  6. data/bin/fastlane +23 -0
  7. data/cert/README.md +17 -0
  8. data/cert/lib/cert.rb +4 -0
  9. data/cert/lib/cert/commands_generator.rb +61 -0
  10. data/cert/lib/cert/module.rb +16 -0
  11. data/cert/lib/cert/options.rb +133 -0
  12. data/cert/lib/cert/runner.rb +239 -0
  13. data/credentials_manager/README.md +64 -0
  14. data/credentials_manager/lib/credentials_manager.rb +7 -0
  15. data/credentials_manager/lib/credentials_manager/account_manager.rb +157 -0
  16. data/credentials_manager/lib/credentials_manager/appfile_config.rb +196 -0
  17. data/credentials_manager/lib/credentials_manager/cli.rb +69 -0
  18. data/deliver/README.md +17 -0
  19. data/deliver/lib/assets/DeliverfileDefault +3 -0
  20. data/deliver/lib/assets/DeliverfileDefault.swift +13 -0
  21. data/deliver/lib/assets/ScreenshotsHelp +7 -0
  22. data/deliver/lib/assets/summary.html.erb +299 -0
  23. data/deliver/lib/deliver.rb +15 -0
  24. data/deliver/lib/deliver/app_screenshot.rb +360 -0
  25. data/deliver/lib/deliver/app_screenshot_iterator.rb +95 -0
  26. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  27. data/deliver/lib/deliver/commands_generator.rb +191 -0
  28. data/deliver/lib/deliver/detect_values.rb +104 -0
  29. data/deliver/lib/deliver/download_screenshots.rb +75 -0
  30. data/deliver/lib/deliver/generate_summary.rb +13 -0
  31. data/deliver/lib/deliver/html_generator.rb +78 -0
  32. data/deliver/lib/deliver/languages.rb +7 -0
  33. data/deliver/lib/deliver/loader.rb +157 -0
  34. data/deliver/lib/deliver/module.rb +24 -0
  35. data/deliver/lib/deliver/options.rb +451 -0
  36. data/deliver/lib/deliver/runner.rb +238 -0
  37. data/deliver/lib/deliver/setup.rb +203 -0
  38. data/deliver/lib/deliver/submit_for_review.rb +214 -0
  39. data/deliver/lib/deliver/upload_metadata.rb +699 -0
  40. data/deliver/lib/deliver/upload_price_tier.rb +40 -0
  41. data/deliver/lib/deliver/upload_screenshots.rb +271 -0
  42. data/fastlane/README.md +11 -0
  43. data/fastlane/lib/assets/ActionDetails.md.erb +106 -0
  44. data/fastlane/lib/assets/Actions.md.erb +43 -0
  45. data/fastlane/lib/assets/AppfileTemplate +6 -0
  46. data/fastlane/lib/assets/AppfileTemplate.swift +7 -0
  47. data/fastlane/lib/assets/AppfileTemplateAndroid +2 -0
  48. data/fastlane/lib/assets/DefaultFastfileTemplate +20 -0
  49. data/fastlane/lib/assets/DefaultFastfileTemplate.swift +13 -0
  50. data/fastlane/lib/assets/completions/completion.bash +23 -0
  51. data/fastlane/lib/assets/completions/completion.fish +39 -0
  52. data/fastlane/lib/assets/completions/completion.sh +12 -0
  53. data/fastlane/lib/assets/completions/completion.zsh +23 -0
  54. data/fastlane/lib/assets/custom_action_template.rb +82 -0
  55. data/fastlane/lib/assets/mailgun_html_template.erb +142 -0
  56. data/fastlane/lib/assets/report_template.xml.erb +15 -0
  57. data/fastlane/lib/assets/s3_html_template.erb +105 -0
  58. data/fastlane/lib/assets/s3_plist_template.erb +31 -0
  59. data/fastlane/lib/assets/s3_version_template.erb +4 -0
  60. data/fastlane/lib/fastlane.rb +53 -0
  61. data/fastlane/lib/fastlane/action.rb +198 -0
  62. data/fastlane/lib/fastlane/action_collector.rb +35 -0
  63. data/fastlane/lib/fastlane/actions/README.md +5 -0
  64. data/fastlane/lib/fastlane/actions/actions_helper.rb +185 -0
  65. data/fastlane/lib/fastlane/actions/adb.rb +75 -0
  66. data/fastlane/lib/fastlane/actions/adb_devices.rb +70 -0
  67. data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +45 -0
  68. data/fastlane/lib/fastlane/actions/add_git_tag.rb +138 -0
  69. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +249 -0
  70. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +148 -0
  71. data/fastlane/lib/fastlane/actions/appaloosa.rb +271 -0
  72. data/fastlane/lib/fastlane/actions/appetize.rb +193 -0
  73. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +135 -0
  74. data/fastlane/lib/fastlane/actions/appium.rb +181 -0
  75. data/fastlane/lib/fastlane/actions/appledoc.rb +226 -0
  76. data/fastlane/lib/fastlane/actions/appstore.rb +14 -0
  77. data/fastlane/lib/fastlane/actions/apteligent.rb +106 -0
  78. data/fastlane/lib/fastlane/actions/artifactory.rb +189 -0
  79. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +220 -0
  80. data/fastlane/lib/fastlane/actions/backup_file.rb +41 -0
  81. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +135 -0
  82. data/fastlane/lib/fastlane/actions/badge.rb +151 -0
  83. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +113 -0
  84. data/fastlane/lib/fastlane/actions/build_android_app.rb +14 -0
  85. data/fastlane/lib/fastlane/actions/build_app.rb +171 -0
  86. data/fastlane/lib/fastlane/actions/build_ios_app.rb +47 -0
  87. data/fastlane/lib/fastlane/actions/build_mac_app.rb +46 -0
  88. data/fastlane/lib/fastlane/actions/bundle_install.rb +154 -0
  89. data/fastlane/lib/fastlane/actions/capture_android_screenshots.rb +63 -0
  90. data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +61 -0
  91. data/fastlane/lib/fastlane/actions/capture_screenshots.rb +14 -0
  92. data/fastlane/lib/fastlane/actions/carthage.rb +238 -0
  93. data/fastlane/lib/fastlane/actions/cert.rb +14 -0
  94. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +188 -0
  95. data/fastlane/lib/fastlane/actions/chatwork.rb +95 -0
  96. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +62 -0
  97. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +71 -0
  98. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +51 -0
  99. data/fastlane/lib/fastlane/actions/clear_derived_data.rb +70 -0
  100. data/fastlane/lib/fastlane/actions/clipboard.rb +49 -0
  101. data/fastlane/lib/fastlane/actions/cloc.rb +85 -0
  102. data/fastlane/lib/fastlane/actions/cocoapods.rb +178 -0
  103. data/fastlane/lib/fastlane/actions/commit_github_file.rb +194 -0
  104. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +300 -0
  105. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +113 -0
  106. data/fastlane/lib/fastlane/actions/crashlytics.rb +207 -0
  107. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +168 -0
  108. data/fastlane/lib/fastlane/actions/create_app_online.rb +75 -0
  109. data/fastlane/lib/fastlane/actions/create_keychain.rb +179 -0
  110. data/fastlane/lib/fastlane/actions/create_pull_request.rb +271 -0
  111. data/fastlane/lib/fastlane/actions/create_xcframework.rb +123 -0
  112. data/fastlane/lib/fastlane/actions/danger.rb +132 -0
  113. data/fastlane/lib/fastlane/actions/debug.rb +32 -0
  114. data/fastlane/lib/fastlane/actions/default_platform.rb +47 -0
  115. data/fastlane/lib/fastlane/actions/delete_keychain.rb +68 -0
  116. data/fastlane/lib/fastlane/actions/deliver.rb +14 -0
  117. data/fastlane/lib/fastlane/actions/deploygate.rb +209 -0
  118. data/fastlane/lib/fastlane/actions/device_grid/README.md +157 -0
  119. data/fastlane/lib/fastlane/actions/docs/build_app.md +245 -0
  120. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +332 -0
  121. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +375 -0
  122. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +103 -0
  123. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +386 -0
  124. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +366 -0
  125. data/fastlane/lib/fastlane/actions/docs/get_certificates.md +86 -0
  126. data/fastlane/lib/fastlane/actions/docs/get_provisioning_profile.md +223 -0
  127. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +134 -0
  128. data/fastlane/lib/fastlane/actions/docs/run_tests.md +151 -0
  129. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +579 -0
  130. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +748 -0
  131. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +204 -0
  132. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +260 -0
  133. data/fastlane/lib/fastlane/actions/dotgpg_environment.rb +57 -0
  134. data/fastlane/lib/fastlane/actions/download.rb +76 -0
  135. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  136. data/fastlane/lib/fastlane/actions/download_dsyms.rb +357 -0
  137. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +61 -0
  138. data/fastlane/lib/fastlane/actions/dsym_zip.rb +93 -0
  139. data/fastlane/lib/fastlane/actions/echo.rb +14 -0
  140. data/fastlane/lib/fastlane/actions/ensure_bundle_exec.rb +59 -0
  141. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +54 -0
  142. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +68 -0
  143. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +91 -0
  144. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +133 -0
  145. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +124 -0
  146. data/fastlane/lib/fastlane/actions/environment_variable.rb +69 -0
  147. data/fastlane/lib/fastlane/actions/erb.rb +93 -0
  148. data/fastlane/lib/fastlane/actions/fastlane_version.rb +15 -0
  149. data/fastlane/lib/fastlane/actions/flock.rb +82 -0
  150. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +64 -0
  151. data/fastlane/lib/fastlane/actions/frameit.rb +14 -0
  152. data/fastlane/lib/fastlane/actions/gcovr.rb +163 -0
  153. data/fastlane/lib/fastlane/actions/get_build_number.rb +106 -0
  154. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +120 -0
  155. data/fastlane/lib/fastlane/actions/get_certificates.rb +81 -0
  156. data/fastlane/lib/fastlane/actions/get_github_release.rb +176 -0
  157. data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +78 -0
  158. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +81 -0
  159. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +117 -0
  160. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +109 -0
  161. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +87 -0
  162. data/fastlane/lib/fastlane/actions/get_version_number.rb +207 -0
  163. data/fastlane/lib/fastlane/actions/git_add.rb +88 -0
  164. data/fastlane/lib/fastlane/actions/git_branch.rb +55 -0
  165. data/fastlane/lib/fastlane/actions/git_commit.rb +82 -0
  166. data/fastlane/lib/fastlane/actions/git_pull.rb +58 -0
  167. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  168. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +60 -0
  169. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +78 -0
  170. data/fastlane/lib/fastlane/actions/github_api.rb +271 -0
  171. data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
  172. data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +77 -0
  173. data/fastlane/lib/fastlane/actions/gradle.rb +321 -0
  174. data/fastlane/lib/fastlane/actions/gym.rb +10 -0
  175. data/fastlane/lib/fastlane/actions/hg_add_tag.rb +48 -0
  176. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +183 -0
  177. data/fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb +53 -0
  178. data/fastlane/lib/fastlane/actions/hg_push.rb +64 -0
  179. data/fastlane/lib/fastlane/actions/hipchat.rb +200 -0
  180. data/fastlane/lib/fastlane/actions/hockey.rb +399 -0
  181. data/fastlane/lib/fastlane/actions/ifttt.rb +93 -0
  182. data/fastlane/lib/fastlane/actions/import.rb +49 -0
  183. data/fastlane/lib/fastlane/actions/import_certificate.rb +77 -0
  184. data/fastlane/lib/fastlane/actions/import_from_git.rb +81 -0
  185. data/fastlane/lib/fastlane/actions/increment_build_number.rb +123 -0
  186. data/fastlane/lib/fastlane/actions/increment_version_number.rb +180 -0
  187. data/fastlane/lib/fastlane/actions/install_on_device.rb +92 -0
  188. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +62 -0
  189. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +91 -0
  190. data/fastlane/lib/fastlane/actions/installr.rb +129 -0
  191. data/fastlane/lib/fastlane/actions/ipa.rb +246 -0
  192. data/fastlane/lib/fastlane/actions/is_ci.rb +51 -0
  193. data/fastlane/lib/fastlane/actions/jazzy.rb +59 -0
  194. data/fastlane/lib/fastlane/actions/jira.rb +162 -0
  195. data/fastlane/lib/fastlane/actions/lane_context.rb +60 -0
  196. data/fastlane/lib/fastlane/actions/last_git_commit.rb +58 -0
  197. data/fastlane/lib/fastlane/actions/last_git_tag.rb +60 -0
  198. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +155 -0
  199. data/fastlane/lib/fastlane/actions/lcov.rb +98 -0
  200. data/fastlane/lib/fastlane/actions/mailgun.rb +191 -0
  201. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +81 -0
  202. data/fastlane/lib/fastlane/actions/match.rb +14 -0
  203. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  204. data/fastlane/lib/fastlane/actions/min_fastlane_version.rb +57 -0
  205. data/fastlane/lib/fastlane/actions/modify_services.rb +208 -0
  206. data/fastlane/lib/fastlane/actions/nexus_upload.rb +231 -0
  207. data/fastlane/lib/fastlane/actions/notarize.rb +237 -0
  208. data/fastlane/lib/fastlane/actions/notification.rb +75 -0
  209. data/fastlane/lib/fastlane/actions/notify.rb +40 -0
  210. data/fastlane/lib/fastlane/actions/number_of_commits.rb +75 -0
  211. data/fastlane/lib/fastlane/actions/oclint.rb +270 -0
  212. data/fastlane/lib/fastlane/actions/onesignal.rb +196 -0
  213. data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +33 -0
  214. data/fastlane/lib/fastlane/actions/opt_out_usage.rb +40 -0
  215. data/fastlane/lib/fastlane/actions/pem.rb +14 -0
  216. data/fastlane/lib/fastlane/actions/pilot.rb +14 -0
  217. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +189 -0
  218. data/fastlane/lib/fastlane/actions/pod_push.rb +180 -0
  219. data/fastlane/lib/fastlane/actions/podio_item.rb +210 -0
  220. data/fastlane/lib/fastlane/actions/precheck.rb +14 -0
  221. data/fastlane/lib/fastlane/actions/println.rb +14 -0
  222. data/fastlane/lib/fastlane/actions/produce.rb +14 -0
  223. data/fastlane/lib/fastlane/actions/prompt.rb +118 -0
  224. data/fastlane/lib/fastlane/actions/push_git_tags.rb +76 -0
  225. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +138 -0
  226. data/fastlane/lib/fastlane/actions/puts.rb +67 -0
  227. data/fastlane/lib/fastlane/actions/read_podspec.rb +90 -0
  228. data/fastlane/lib/fastlane/actions/recreate_schemes.rb +46 -0
  229. data/fastlane/lib/fastlane/actions/register_device.rb +148 -0
  230. data/fastlane/lib/fastlane/actions/register_devices.rb +211 -0
  231. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +118 -0
  232. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +90 -0
  233. data/fastlane/lib/fastlane/actions/resign.rb +125 -0
  234. data/fastlane/lib/fastlane/actions/restore_file.rb +44 -0
  235. data/fastlane/lib/fastlane/actions/rocket.rb +83 -0
  236. data/fastlane/lib/fastlane/actions/rsync.rb +71 -0
  237. data/fastlane/lib/fastlane/actions/ruby_version.rb +56 -0
  238. data/fastlane/lib/fastlane/actions/run_tests.rb +114 -0
  239. data/fastlane/lib/fastlane/actions/s3.rb +174 -0
  240. data/fastlane/lib/fastlane/actions/say.rb +55 -0
  241. data/fastlane/lib/fastlane/actions/scan.rb +14 -0
  242. data/fastlane/lib/fastlane/actions/scp.rb +108 -0
  243. data/fastlane/lib/fastlane/actions/screengrab.rb +14 -0
  244. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +76 -0
  245. data/fastlane/lib/fastlane/actions/set_changelog.rb +201 -0
  246. data/fastlane/lib/fastlane/actions/set_github_release.rb +281 -0
  247. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +92 -0
  248. data/fastlane/lib/fastlane/actions/set_pod_key.rb +77 -0
  249. data/fastlane/lib/fastlane/actions/setup_ci.rb +131 -0
  250. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +58 -0
  251. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +197 -0
  252. data/fastlane/lib/fastlane/actions/setup_travis.rb +57 -0
  253. data/fastlane/lib/fastlane/actions/sh.rb +69 -0
  254. data/fastlane/lib/fastlane/actions/sigh.rb +14 -0
  255. data/fastlane/lib/fastlane/actions/skip_docs.rb +52 -0
  256. data/fastlane/lib/fastlane/actions/slack.rb +307 -0
  257. data/fastlane/lib/fastlane/actions/slather.rb +313 -0
  258. data/fastlane/lib/fastlane/actions/snapshot.rb +14 -0
  259. data/fastlane/lib/fastlane/actions/sonar.rb +170 -0
  260. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  261. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +135 -0
  262. data/fastlane/lib/fastlane/actions/spaceship_stats.rb +73 -0
  263. data/fastlane/lib/fastlane/actions/splunkmint.rb +156 -0
  264. data/fastlane/lib/fastlane/actions/spm.rb +144 -0
  265. data/fastlane/lib/fastlane/actions/ssh.rb +157 -0
  266. data/fastlane/lib/fastlane/actions/supply.rb +14 -0
  267. data/fastlane/lib/fastlane/actions/swiftlint.rb +242 -0
  268. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +114 -0
  269. data/fastlane/lib/fastlane/actions/team_id.rb +42 -0
  270. data/fastlane/lib/fastlane/actions/team_name.rb +42 -0
  271. data/fastlane/lib/fastlane/actions/testfairy.rb +284 -0
  272. data/fastlane/lib/fastlane/actions/testflight.rb +14 -0
  273. data/fastlane/lib/fastlane/actions/tryouts.rb +148 -0
  274. data/fastlane/lib/fastlane/actions/twitter.rb +84 -0
  275. data/fastlane/lib/fastlane/actions/typetalk.rb +93 -0
  276. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +132 -0
  277. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +88 -0
  278. data/fastlane/lib/fastlane/actions/update_app_identifier.rb +124 -0
  279. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +196 -0
  280. data/fastlane/lib/fastlane/actions/update_fastlane.rb +158 -0
  281. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +96 -0
  282. data/fastlane/lib/fastlane/actions/update_info_plist.rb +143 -0
  283. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +91 -0
  284. data/fastlane/lib/fastlane/actions/update_plist.rb +115 -0
  285. data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +76 -0
  286. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +172 -0
  287. data/fastlane/lib/fastlane/actions/update_project_team.rb +95 -0
  288. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +90 -0
  289. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +112 -0
  290. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
  291. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +232 -0
  292. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +158 -0
  293. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +71 -0
  294. data/fastlane/lib/fastlane/actions/upload_to_play_store.rb +80 -0
  295. data/fastlane/lib/fastlane/actions/upload_to_play_store_internal_app_sharing.rb +78 -0
  296. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +124 -0
  297. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +100 -0
  298. data/fastlane/lib/fastlane/actions/verify_build.rb +199 -0
  299. data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +67 -0
  300. data/fastlane/lib/fastlane/actions/verify_xcode.rb +159 -0
  301. data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +105 -0
  302. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +70 -0
  303. data/fastlane/lib/fastlane/actions/xcode_install.rb +108 -0
  304. data/fastlane/lib/fastlane/actions/xcode_select.rb +68 -0
  305. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +312 -0
  306. data/fastlane/lib/fastlane/actions/xcodebuild.rb +641 -0
  307. data/fastlane/lib/fastlane/actions/xcov.rb +66 -0
  308. data/fastlane/lib/fastlane/actions/xctool.rb +55 -0
  309. data/fastlane/lib/fastlane/actions/xcversion.rb +55 -0
  310. data/fastlane/lib/fastlane/actions/zip.rb +120 -0
  311. data/fastlane/lib/fastlane/auto_complete.rb +82 -0
  312. data/fastlane/lib/fastlane/boolean.rb +5 -0
  313. data/fastlane/lib/fastlane/cli_tools_distributor.rb +210 -0
  314. data/fastlane/lib/fastlane/command_line_handler.rb +49 -0
  315. data/fastlane/lib/fastlane/commands_generator.rb +370 -0
  316. data/fastlane/lib/fastlane/configuration_helper.rb +26 -0
  317. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +14 -0
  318. data/fastlane/lib/fastlane/documentation/actions_list.rb +214 -0
  319. data/fastlane/lib/fastlane/documentation/docs_generator.rb +89 -0
  320. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +228 -0
  321. data/fastlane/lib/fastlane/environment_printer.rb +304 -0
  322. data/fastlane/lib/fastlane/erb_template_helper.rb +36 -0
  323. data/fastlane/lib/fastlane/fast_file.rb +451 -0
  324. data/fastlane/lib/fastlane/fastlane_require.rb +81 -0
  325. data/fastlane/lib/fastlane/features.rb +4 -0
  326. data/fastlane/lib/fastlane/helper/README.md +29 -0
  327. data/fastlane/lib/fastlane/helper/adb_helper.rb +66 -0
  328. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +157 -0
  329. data/fastlane/lib/fastlane/helper/dotenv_helper.rb +50 -0
  330. data/fastlane/lib/fastlane/helper/gem_helper.rb +26 -0
  331. data/fastlane/lib/fastlane/helper/git_helper.rb +166 -0
  332. data/fastlane/lib/fastlane/helper/gradle_helper.rb +62 -0
  333. data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
  334. data/fastlane/lib/fastlane/helper/podspec_helper.rb +75 -0
  335. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +78 -0
  336. data/fastlane/lib/fastlane/helper/sh_helper.rb +134 -0
  337. data/fastlane/lib/fastlane/helper/xcodeproj_helper.rb +12 -0
  338. data/fastlane/lib/fastlane/helper/xcversion_helper.rb +25 -0
  339. data/fastlane/lib/fastlane/junit_generator.rb +27 -0
  340. data/fastlane/lib/fastlane/lane.rb +97 -0
  341. data/fastlane/lib/fastlane/lane_list.rb +137 -0
  342. data/fastlane/lib/fastlane/lane_manager.rb +131 -0
  343. data/fastlane/lib/fastlane/lane_manager_base.rb +92 -0
  344. data/fastlane/lib/fastlane/markdown_table_formatter.rb +62 -0
  345. data/fastlane/lib/fastlane/new_action.rb +47 -0
  346. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  347. data/fastlane/lib/fastlane/one_off.rb +45 -0
  348. data/fastlane/lib/fastlane/other_action.rb +29 -0
  349. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +54 -0
  350. data/fastlane/lib/fastlane/plugins/plugin_generator.rb +86 -0
  351. data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +19 -0
  352. data/fastlane/lib/fastlane/plugins/plugin_info.rb +49 -0
  353. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +158 -0
  354. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +398 -0
  355. data/fastlane/lib/fastlane/plugins/plugin_search.rb +46 -0
  356. data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +70 -0
  357. data/fastlane/lib/fastlane/plugins/plugins.rb +12 -0
  358. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +36 -0
  359. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +43 -0
  360. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
  361. data/fastlane/lib/fastlane/plugins/template/.gitignore +12 -0
  362. data/fastlane/lib/fastlane/plugins/template/.rspec +5 -0
  363. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +184 -0
  364. data/fastlane/lib/fastlane/plugins/template/.travis.yml +4 -0
  365. data/fastlane/lib/fastlane/plugins/template/Gemfile +6 -0
  366. data/fastlane/lib/fastlane/plugins/template/LICENSE.erb +21 -0
  367. data/fastlane/lib/fastlane/plugins/template/README.md.erb +52 -0
  368. data/fastlane/lib/fastlane/plugins/template/Rakefile +9 -0
  369. data/fastlane/lib/fastlane/plugins/template/fastlane/Fastfile.erb +3 -0
  370. data/fastlane/lib/fastlane/plugins/template/fastlane/Pluginfile.erb +1 -0
  371. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb +16 -0
  372. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +47 -0
  373. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +16 -0
  374. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb +5 -0
  375. data/fastlane/lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
  376. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +15 -0
  377. data/fastlane/lib/fastlane/runner.rb +378 -0
  378. data/fastlane/lib/fastlane/server/action_command.rb +61 -0
  379. data/fastlane/lib/fastlane/server/action_command_return.rb +14 -0
  380. data/fastlane/lib/fastlane/server/command_executor.rb +7 -0
  381. data/fastlane/lib/fastlane/server/command_parser.rb +44 -0
  382. data/fastlane/lib/fastlane/server/control_command.rb +23 -0
  383. data/fastlane/lib/fastlane/server/json_return_value_processor.rb +72 -0
  384. data/fastlane/lib/fastlane/server/socket_server.rb +238 -0
  385. data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +101 -0
  386. data/fastlane/lib/fastlane/setup/setup.rb +368 -0
  387. data/fastlane/lib/fastlane/setup/setup_android.rb +97 -0
  388. data/fastlane/lib/fastlane/setup/setup_ios.rb +504 -0
  389. data/fastlane/lib/fastlane/shells.rb +6 -0
  390. data/fastlane/lib/fastlane/supported_platforms.rb +28 -0
  391. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +480 -0
  392. data/fastlane/lib/fastlane/swift_fastlane_function.rb +447 -0
  393. data/fastlane/lib/fastlane/swift_lane_manager.rb +296 -0
  394. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +212 -0
  395. data/fastlane/lib/fastlane/tools.rb +33 -0
  396. data/fastlane/lib/fastlane/version.rb +6 -0
  397. data/fastlane/swift/Actions.swift +16 -0
  398. data/fastlane/swift/Appfile.swift +15 -0
  399. data/fastlane/swift/ArgumentProcessor.swift +89 -0
  400. data/fastlane/swift/ControlCommand.swift +74 -0
  401. data/fastlane/swift/Deliverfile.swift +20 -0
  402. data/fastlane/swift/DeliverfileProtocol.swift +259 -0
  403. data/fastlane/swift/Fastfile.swift +16 -0
  404. data/fastlane/swift/Fastlane.swift +13154 -0
  405. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +438 -0
  406. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  407. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  408. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +97 -0
  409. data/fastlane/swift/FastlaneSwiftRunner/README.txt +10 -0
  410. data/fastlane/swift/Gymfile.swift +20 -0
  411. data/fastlane/swift/GymfileProtocol.swift +199 -0
  412. data/fastlane/swift/LaneFileProtocol.swift +155 -0
  413. data/fastlane/swift/MainProcess.swift +79 -0
  414. data/fastlane/swift/Matchfile.swift +20 -0
  415. data/fastlane/swift/MatchfileProtocol.swift +187 -0
  416. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  417. data/fastlane/swift/Plugins.swift +16 -0
  418. data/fastlane/swift/Precheckfile.swift +20 -0
  419. data/fastlane/swift/PrecheckfileProtocol.swift +55 -0
  420. data/fastlane/swift/RubyCommand.swift +157 -0
  421. data/fastlane/swift/RubyCommandable.swift +43 -0
  422. data/fastlane/swift/Runner.swift +275 -0
  423. data/fastlane/swift/RunnerArgument.swift +20 -0
  424. data/fastlane/swift/Scanfile.swift +20 -0
  425. data/fastlane/swift/ScanfileProtocol.swift +295 -0
  426. data/fastlane/swift/Screengrabfile.swift +20 -0
  427. data/fastlane/swift/ScreengrabfileProtocol.swift +99 -0
  428. data/fastlane/swift/Snapshotfile.swift +20 -0
  429. data/fastlane/swift/SnapshotfileProtocol.swift +203 -0
  430. data/fastlane/swift/SocketClient.swift +328 -0
  431. data/fastlane/swift/SocketClientDelegateProtocol.swift +21 -0
  432. data/fastlane/swift/SocketResponse.swift +84 -0
  433. data/fastlane/swift/formatting/Brewfile +1 -0
  434. data/fastlane/swift/formatting/Brewfile.lock.json +55 -0
  435. data/fastlane/swift/formatting/Rakefile +18 -0
  436. data/fastlane/swift/main.swift +47 -0
  437. data/fastlane/swift/upgrade_manifest.json +1 -0
  438. data/fastlane_core/README.md +79 -0
  439. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +12 -0
  440. data/fastlane_core/lib/fastlane_core.rb +48 -0
  441. data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +34 -0
  442. data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +38 -0
  443. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +23 -0
  444. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +54 -0
  445. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +70 -0
  446. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +64 -0
  447. data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +79 -0
  448. data/fastlane_core/lib/fastlane_core/build_watcher.rb +173 -0
  449. data/fastlane_core/lib/fastlane_core/cert_checker.rb +149 -0
  450. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  451. data/fastlane_core/lib/fastlane_core/command_executor.rb +94 -0
  452. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +108 -0
  453. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +359 -0
  454. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +338 -0
  455. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +182 -0
  456. data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +23 -0
  457. data/fastlane_core/lib/fastlane_core/core_ext/shellwords.rb +63 -0
  458. data/fastlane_core/lib/fastlane_core/core_ext/string.rb +17 -0
  459. data/fastlane_core/lib/fastlane_core/device_manager.rb +374 -0
  460. data/fastlane_core/lib/fastlane_core/env.rb +9 -0
  461. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +72 -0
  462. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +57 -0
  463. data/fastlane_core/lib/fastlane_core/feature/feature.rb +51 -0
  464. data/fastlane_core/lib/fastlane_core/features.rb +4 -0
  465. data/fastlane_core/lib/fastlane_core/globals.rb +27 -0
  466. data/fastlane_core/lib/fastlane_core/helper.rb +501 -0
  467. data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +112 -0
  468. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +88 -0
  469. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +53 -0
  470. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +600 -0
  471. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +120 -0
  472. data/fastlane_core/lib/fastlane_core/languages.rb +16 -0
  473. data/fastlane_core/lib/fastlane_core/module.rb +31 -0
  474. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +51 -0
  475. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +49 -0
  476. data/fastlane_core/lib/fastlane_core/print_table.rb +133 -0
  477. data/fastlane_core/lib/fastlane_core/project.rb +529 -0
  478. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +126 -0
  479. data/fastlane_core/lib/fastlane_core/queue_worker.rb +49 -0
  480. data/fastlane_core/lib/fastlane_core/string_filters.rb +51 -0
  481. data/fastlane_core/lib/fastlane_core/swag.rb +85 -0
  482. data/fastlane_core/lib/fastlane_core/tag_version.rb +31 -0
  483. data/fastlane_core/lib/fastlane_core/test_parser.rb +107 -0
  484. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +25 -0
  485. data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
  486. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +19 -0
  487. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +11 -0
  488. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +25 -0
  489. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_exception.rb +19 -0
  490. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +11 -0
  491. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +294 -0
  492. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +62 -0
  493. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  494. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  495. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +173 -0
  496. data/fastlane_core/lib/fastlane_core/ui/interface.rb +205 -0
  497. data/fastlane_core/lib/fastlane_core/ui/ui.rb +26 -0
  498. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +37 -0
  499. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +109 -0
  500. data/frameit/README.md +17 -0
  501. data/frameit/lib/assets/empty.png +0 -0
  502. data/frameit/lib/frameit.rb +13 -0
  503. data/frameit/lib/frameit/commands_generator.rb +141 -0
  504. data/frameit/lib/frameit/config_parser.rb +136 -0
  505. data/frameit/lib/frameit/dependency_checker.rb +22 -0
  506. data/frameit/lib/frameit/device.rb +90 -0
  507. data/frameit/lib/frameit/device_types.rb +150 -0
  508. data/frameit/lib/frameit/editor.rb +560 -0
  509. data/frameit/lib/frameit/frame_downloader.rb +86 -0
  510. data/frameit/lib/frameit/mac_editor.rb +35 -0
  511. data/frameit/lib/frameit/module.rb +42 -0
  512. data/frameit/lib/frameit/offsets.rb +28 -0
  513. data/frameit/lib/frameit/options.rb +112 -0
  514. data/frameit/lib/frameit/runner.rb +97 -0
  515. data/frameit/lib/frameit/screenshot.rb +134 -0
  516. data/frameit/lib/frameit/strings_parser.rb +46 -0
  517. data/frameit/lib/frameit/template_finder.rb +45 -0
  518. data/frameit/lib/frameit/trim_box.rb +35 -0
  519. data/gym/README.md +17 -0
  520. data/gym/lib/assets/GymfileTemplate +13 -0
  521. data/gym/lib/assets/GymfileTemplate.swift +13 -0
  522. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +61 -0
  523. data/gym/lib/gym.rb +9 -0
  524. data/gym/lib/gym/code_signing_mapping.rb +210 -0
  525. data/gym/lib/gym/commands_generator.rb +79 -0
  526. data/gym/lib/gym/detect_values.rb +206 -0
  527. data/gym/lib/gym/error_handler.rb +314 -0
  528. data/gym/lib/gym/generators/README.md +1 -0
  529. data/gym/lib/gym/generators/build_command_generator.rb +150 -0
  530. data/gym/lib/gym/generators/package_command_generator.rb +72 -0
  531. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +238 -0
  532. data/gym/lib/gym/manager.rb +22 -0
  533. data/gym/lib/gym/module.rb +74 -0
  534. data/gym/lib/gym/options.rb +302 -0
  535. data/gym/lib/gym/runner.rb +376 -0
  536. data/gym/lib/gym/xcode.rb +27 -0
  537. data/gym/lib/gym/xcodebuild_fixes/README.md +9 -0
  538. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +35 -0
  539. data/match/README.md +17 -0
  540. data/match/lib/assets/MatchfileTemplate +11 -0
  541. data/match/lib/assets/MatchfileTemplate.swift +9 -0
  542. data/match/lib/assets/READMETemplate.md +59 -0
  543. data/match/lib/match.rb +14 -0
  544. data/match/lib/match/change_password.rb +53 -0
  545. data/match/lib/match/commands_generator.rb +191 -0
  546. data/match/lib/match/encryption.rb +49 -0
  547. data/match/lib/match/encryption/interface.rb +17 -0
  548. data/match/lib/match/encryption/openssl.rb +163 -0
  549. data/match/lib/match/generator.rb +122 -0
  550. data/match/lib/match/importer.rb +156 -0
  551. data/match/lib/match/migrate.rb +108 -0
  552. data/match/lib/match/module.rb +33 -0
  553. data/match/lib/match/nuke.rb +354 -0
  554. data/match/lib/match/options.rb +316 -0
  555. data/match/lib/match/runner.rb +368 -0
  556. data/match/lib/match/setup.rb +40 -0
  557. data/match/lib/match/spaceship_ensure.rb +100 -0
  558. data/match/lib/match/storage.rb +46 -0
  559. data/match/lib/match/storage/git_storage.rb +254 -0
  560. data/match/lib/match/storage/google_cloud_storage.rb +382 -0
  561. data/match/lib/match/storage/interface.rb +119 -0
  562. data/match/lib/match/storage/s3_storage.rb +205 -0
  563. data/match/lib/match/table_printer.rb +51 -0
  564. data/match/lib/match/utils.rb +75 -0
  565. data/pem/README.md +17 -0
  566. data/pem/lib/pem.rb +4 -0
  567. data/pem/lib/pem/commands_generator.rb +48 -0
  568. data/pem/lib/pem/manager.rb +112 -0
  569. data/pem/lib/pem/module.rb +19 -0
  570. data/pem/lib/pem/options.rb +103 -0
  571. data/pilot/README.md +17 -0
  572. data/pilot/lib/pilot.rb +8 -0
  573. data/pilot/lib/pilot/build_manager.rb +572 -0
  574. data/pilot/lib/pilot/commands_generator.rb +175 -0
  575. data/pilot/lib/pilot/manager.rb +93 -0
  576. data/pilot/lib/pilot/module.rb +11 -0
  577. data/pilot/lib/pilot/options.rb +312 -0
  578. data/pilot/lib/pilot/tester_exporter.rb +57 -0
  579. data/pilot/lib/pilot/tester_importer.rb +53 -0
  580. data/pilot/lib/pilot/tester_manager.rb +167 -0
  581. data/precheck/README.md +17 -0
  582. data/precheck/lib/assets/PrecheckfileTemplate +27 -0
  583. data/precheck/lib/assets/PrecheckfileTemplate.swift +19 -0
  584. data/precheck/lib/precheck.rb +3 -0
  585. data/precheck/lib/precheck/commands_generator.rb +75 -0
  586. data/precheck/lib/precheck/item_to_check.rb +58 -0
  587. data/precheck/lib/precheck/module.rb +21 -0
  588. data/precheck/lib/precheck/options.rb +110 -0
  589. data/precheck/lib/precheck/rule.rb +171 -0
  590. data/precheck/lib/precheck/rule_check_result.rb +19 -0
  591. data/precheck/lib/precheck/rule_processor.rb +265 -0
  592. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +80 -0
  593. data/precheck/lib/precheck/rules/all.rb +1 -0
  594. data/precheck/lib/precheck/rules/copyright_date_rule.rb +37 -0
  595. data/precheck/lib/precheck/rules/curse_words_rule.rb +62 -0
  596. data/precheck/lib/precheck/rules/custom_text_rule.rb +35 -0
  597. data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +31 -0
  598. data/precheck/lib/precheck/rules/future_functionality_rule.rb +33 -0
  599. data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +37 -0
  600. data/precheck/lib/precheck/rules/other_platforms_rule.rb +43 -0
  601. data/precheck/lib/precheck/rules/placeholder_words_rule.rb +31 -0
  602. data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/en_us.txt +349 -0
  603. data/precheck/lib/precheck/rules/test_words_rule.rb +30 -0
  604. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +47 -0
  605. data/precheck/lib/precheck/runner.rb +202 -0
  606. data/produce/README.md +17 -0
  607. data/produce/lib/produce.rb +6 -0
  608. data/produce/lib/produce/available_default_languages.rb +51 -0
  609. data/produce/lib/produce/cloud_container.rb +82 -0
  610. data/produce/lib/produce/commands_generator.rb +309 -0
  611. data/produce/lib/produce/developer_center.rb +181 -0
  612. data/produce/lib/produce/group.rb +90 -0
  613. data/produce/lib/produce/itunes_connect.rb +139 -0
  614. data/produce/lib/produce/manager.rb +15 -0
  615. data/produce/lib/produce/merchant.rb +121 -0
  616. data/produce/lib/produce/module.rb +14 -0
  617. data/produce/lib/produce/options.rb +184 -0
  618. data/produce/lib/produce/service.rb +410 -0
  619. data/scan/README.md +17 -0
  620. data/scan/lib/assets/ScanfileTemplate +16 -0
  621. data/scan/lib/assets/ScanfileTemplate.swift +13 -0
  622. data/scan/lib/scan.rb +10 -0
  623. data/scan/lib/scan/commands_generator.rb +79 -0
  624. data/scan/lib/scan/detect_values.rb +229 -0
  625. data/scan/lib/scan/error_handler.rb +57 -0
  626. data/scan/lib/scan/manager.rb +38 -0
  627. data/scan/lib/scan/module.rb +36 -0
  628. data/scan/lib/scan/options.rb +490 -0
  629. data/scan/lib/scan/runner.rb +282 -0
  630. data/scan/lib/scan/slack_poster.rb +63 -0
  631. data/scan/lib/scan/test_command_generator.rb +179 -0
  632. data/scan/lib/scan/test_result_parser.rb +33 -0
  633. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +85 -0
  634. data/screengrab/README.md +17 -0
  635. data/screengrab/lib/assets/ScreengrabfileTemplate +15 -0
  636. data/screengrab/lib/assets/ScreengrabfileTemplate.swift +15 -0
  637. data/screengrab/lib/screengrab.rb +7 -0
  638. data/screengrab/lib/screengrab/android_environment.rb +43 -0
  639. data/screengrab/lib/screengrab/commands_generator.rb +71 -0
  640. data/screengrab/lib/screengrab/dependency_checker.rb +38 -0
  641. data/screengrab/lib/screengrab/detect_values.rb +16 -0
  642. data/screengrab/lib/screengrab/module.rb +26 -0
  643. data/screengrab/lib/screengrab/options.rb +151 -0
  644. data/screengrab/lib/screengrab/page.html.erb +190 -0
  645. data/screengrab/lib/screengrab/reports_generator.rb +36 -0
  646. data/screengrab/lib/screengrab/runner.rb +452 -0
  647. data/screengrab/lib/screengrab/setup.rb +24 -0
  648. data/sigh/README.md +17 -0
  649. data/sigh/lib/assets/resign.sh +929 -0
  650. data/sigh/lib/sigh.rb +4 -0
  651. data/sigh/lib/sigh/commands_generator.rb +155 -0
  652. data/sigh/lib/sigh/download_all.rb +108 -0
  653. data/sigh/lib/sigh/local_manage.rb +145 -0
  654. data/sigh/lib/sigh/manager.rb +47 -0
  655. data/sigh/lib/sigh/module.rb +42 -0
  656. data/sigh/lib/sigh/options.rb +188 -0
  657. data/sigh/lib/sigh/repair.rb +34 -0
  658. data/sigh/lib/sigh/resign.rb +220 -0
  659. data/sigh/lib/sigh/runner.rb +402 -0
  660. data/snapshot/README.md +17 -0
  661. data/snapshot/lib/assets/SnapfileTemplate +38 -0
  662. data/snapshot/lib/assets/SnapfileTemplate.swift +42 -0
  663. data/snapshot/lib/assets/SnapshotHelper.swift +309 -0
  664. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +172 -0
  665. data/snapshot/lib/snapshot.rb +19 -0
  666. data/snapshot/lib/snapshot/collector.rb +140 -0
  667. data/snapshot/lib/snapshot/commands_generator.rb +117 -0
  668. data/snapshot/lib/snapshot/dependency_checker.rb +69 -0
  669. data/snapshot/lib/snapshot/detect_values.rb +86 -0
  670. data/snapshot/lib/snapshot/error_handler.rb +24 -0
  671. data/snapshot/lib/snapshot/fixes/README.md +5 -0
  672. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +27 -0
  673. data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
  674. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +27 -0
  675. data/snapshot/lib/snapshot/latest_os_version.rb +34 -0
  676. data/snapshot/lib/snapshot/module.rb +44 -0
  677. data/snapshot/lib/snapshot/options.rb +310 -0
  678. data/snapshot/lib/snapshot/page.html.erb +285 -0
  679. data/snapshot/lib/snapshot/reports_generator.rb +145 -0
  680. data/snapshot/lib/snapshot/reset_simulators.rb +122 -0
  681. data/snapshot/lib/snapshot/runner.rb +146 -0
  682. data/snapshot/lib/snapshot/screenshot_flatten.rb +20 -0
  683. data/snapshot/lib/snapshot/screenshot_rotate.rb +36 -0
  684. data/snapshot/lib/snapshot/setup.rb +58 -0
  685. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +64 -0
  686. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +219 -0
  687. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +205 -0
  688. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +113 -0
  689. data/snapshot/lib/snapshot/test_command_generator.rb +122 -0
  690. data/snapshot/lib/snapshot/test_command_generator_base.rb +130 -0
  691. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +70 -0
  692. data/snapshot/lib/snapshot/update.rb +38 -0
  693. data/spaceship/README.md +173 -0
  694. data/spaceship/lib/assets/displayFamilies.json +181 -0
  695. data/spaceship/lib/assets/languageMapping.json +306 -0
  696. data/spaceship/lib/assets/languageMappingReadable.json +30 -0
  697. data/spaceship/lib/spaceship.rb +30 -0
  698. data/spaceship/lib/spaceship/base.rb +310 -0
  699. data/spaceship/lib/spaceship/client.rb +941 -0
  700. data/spaceship/lib/spaceship/commands_generator.rb +55 -0
  701. data/spaceship/lib/spaceship/connect_api.rb +122 -0
  702. data/spaceship/lib/spaceship/connect_api/api_client.rb +337 -0
  703. data/spaceship/lib/spaceship/connect_api/client.rb +216 -0
  704. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +99 -0
  705. data/spaceship/lib/spaceship/connect_api/model.rb +172 -0
  706. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +147 -0
  707. data/spaceship/lib/spaceship/connect_api/models/app.rb +428 -0
  708. data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
  709. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  710. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  711. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  712. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  713. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  714. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  715. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +111 -0
  716. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +43 -0
  717. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +135 -0
  718. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +109 -0
  719. data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
  720. data/spaceship/lib/spaceship/connect_api/models/app_price_point.rb +26 -0
  721. data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
  722. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +189 -0
  723. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +162 -0
  724. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +73 -0
  725. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +53 -0
  726. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +241 -0
  727. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +98 -0
  728. data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +57 -0
  729. data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
  730. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +27 -0
  731. data/spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb +28 -0
  732. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb +32 -0
  733. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +27 -0
  734. data/spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb +20 -0
  735. data/spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb +24 -0
  736. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +77 -0
  737. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +67 -0
  738. data/spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb +18 -0
  739. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +63 -0
  740. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +44 -0
  741. data/spaceship/lib/spaceship/connect_api/models/build.rb +189 -0
  742. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +65 -0
  743. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +37 -0
  744. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +93 -0
  745. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +136 -0
  746. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +106 -0
  747. data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
  748. data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
  749. data/spaceship/lib/spaceship/connect_api/models/device.rb +90 -0
  750. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +43 -0
  751. data/spaceship/lib/spaceship/connect_api/models/pre_release_version.rb +20 -0
  752. data/spaceship/lib/spaceship/connect_api/models/profile.rb +107 -0
  753. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +27 -0
  754. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +67 -0
  755. data/spaceship/lib/spaceship/connect_api/models/territory.rb +28 -0
  756. data/spaceship/lib/spaceship/connect_api/models/user.rb +53 -0
  757. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +75 -0
  758. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +92 -0
  759. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +240 -0
  760. data/spaceship/lib/spaceship/connect_api/response.rb +69 -0
  761. data/spaceship/lib/spaceship/connect_api/spaceship.rb +102 -0
  762. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +24 -0
  763. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +441 -0
  764. data/spaceship/lib/spaceship/connect_api/token.rb +114 -0
  765. data/spaceship/lib/spaceship/connect_api/token_refresh_middleware.rb +24 -0
  766. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +24 -0
  767. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +1165 -0
  768. data/spaceship/lib/spaceship/connect_api/users/client.rb +24 -0
  769. data/spaceship/lib/spaceship/connect_api/users/users.rb +80 -0
  770. data/spaceship/lib/spaceship/du/du_client.rb +138 -0
  771. data/spaceship/lib/spaceship/du/upload_file.rb +58 -0
  772. data/spaceship/lib/spaceship/du/utilities.rb +99 -0
  773. data/spaceship/lib/spaceship/errors.rb +101 -0
  774. data/spaceship/lib/spaceship/globals.rb +12 -0
  775. data/spaceship/lib/spaceship/helper/net_http_generic_request.rb +20 -0
  776. data/spaceship/lib/spaceship/helper/plist_middleware.rb +16 -0
  777. data/spaceship/lib/spaceship/helper/rels_middleware.rb +28 -0
  778. data/spaceship/lib/spaceship/launcher.rb +99 -0
  779. data/spaceship/lib/spaceship/module.rb +8 -0
  780. data/spaceship/lib/spaceship/playground.rb +75 -0
  781. data/spaceship/lib/spaceship/portal/app.rb +201 -0
  782. data/spaceship/lib/spaceship/portal/app_group.rb +73 -0
  783. data/spaceship/lib/spaceship/portal/app_service.rb +87 -0
  784. data/spaceship/lib/spaceship/portal/certificate.rb +365 -0
  785. data/spaceship/lib/spaceship/portal/cloud_container.rb +74 -0
  786. data/spaceship/lib/spaceship/portal/device.rb +191 -0
  787. data/spaceship/lib/spaceship/portal/invite.rb +53 -0
  788. data/spaceship/lib/spaceship/portal/key.rb +101 -0
  789. data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
  790. data/spaceship/lib/spaceship/portal/merchant.rb +86 -0
  791. data/spaceship/lib/spaceship/portal/passbook.rb +78 -0
  792. data/spaceship/lib/spaceship/portal/person.rb +62 -0
  793. data/spaceship/lib/spaceship/portal/persons.rb +67 -0
  794. data/spaceship/lib/spaceship/portal/portal.rb +17 -0
  795. data/spaceship/lib/spaceship/portal/portal_base.rb +16 -0
  796. data/spaceship/lib/spaceship/portal/portal_client.rb +862 -0
  797. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +559 -0
  798. data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +52 -0
  799. data/spaceship/lib/spaceship/portal/spaceship.rb +154 -0
  800. data/spaceship/lib/spaceship/portal/ui/select_team.rb +116 -0
  801. data/spaceship/lib/spaceship/portal/website_push.rb +88 -0
  802. data/spaceship/lib/spaceship/provider.rb +13 -0
  803. data/spaceship/lib/spaceship/spaceauth_runner.rb +97 -0
  804. data/spaceship/lib/spaceship/stats_middleware.rb +65 -0
  805. data/spaceship/lib/spaceship/test_flight.rb +10 -0
  806. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +40 -0
  807. data/spaceship/lib/spaceship/test_flight/base.rb +39 -0
  808. data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +19 -0
  809. data/spaceship/lib/spaceship/test_flight/build.rb +242 -0
  810. data/spaceship/lib/spaceship/test_flight/build_trains.rb +50 -0
  811. data/spaceship/lib/spaceship/test_flight/client.rb +361 -0
  812. data/spaceship/lib/spaceship/test_flight/export_compliance.rb +12 -0
  813. data/spaceship/lib/spaceship/test_flight/group.rb +131 -0
  814. data/spaceship/lib/spaceship/test_flight/test_info.rb +56 -0
  815. data/spaceship/lib/spaceship/test_flight/tester.rb +136 -0
  816. data/spaceship/lib/spaceship/tunes/app_analytics.rb +168 -0
  817. data/spaceship/lib/spaceship/tunes/app_details.rb +147 -0
  818. data/spaceship/lib/spaceship/tunes/app_image.rb +51 -0
  819. data/spaceship/lib/spaceship/tunes/app_ratings.rb +58 -0
  820. data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
  821. data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +49 -0
  822. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +12 -0
  823. data/spaceship/lib/spaceship/tunes/app_status.rb +63 -0
  824. data/spaceship/lib/spaceship/tunes/app_submission.rb +161 -0
  825. data/spaceship/lib/spaceship/tunes/app_trailer.rb +64 -0
  826. data/spaceship/lib/spaceship/tunes/app_version.rb +970 -0
  827. data/spaceship/lib/spaceship/tunes/app_version_common.rb +35 -0
  828. data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +28 -0
  829. data/spaceship/lib/spaceship/tunes/app_version_history.rb +52 -0
  830. data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +27 -0
  831. data/spaceship/lib/spaceship/tunes/app_version_ref.rb +15 -0
  832. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +27 -0
  833. data/spaceship/lib/spaceship/tunes/application.rb +453 -0
  834. data/spaceship/lib/spaceship/tunes/availability.rb +164 -0
  835. data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
  836. data/spaceship/lib/spaceship/tunes/b2b_user.rb +30 -0
  837. data/spaceship/lib/spaceship/tunes/build.rb +263 -0
  838. data/spaceship/lib/spaceship/tunes/build_details.rb +184 -0
  839. data/spaceship/lib/spaceship/tunes/build_train.rb +181 -0
  840. data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
  841. data/spaceship/lib/spaceship/tunes/device_type.rb +17 -0
  842. data/spaceship/lib/spaceship/tunes/display_family.rb +84 -0
  843. data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
  844. data/spaceship/lib/spaceship/tunes/iap.rb +168 -0
  845. data/spaceship/lib/spaceship/tunes/iap_detail.rb +264 -0
  846. data/spaceship/lib/spaceship/tunes/iap_families.rb +68 -0
  847. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +90 -0
  848. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +28 -0
  849. data/spaceship/lib/spaceship/tunes/iap_list.rb +76 -0
  850. data/spaceship/lib/spaceship/tunes/iap_status.rb +56 -0
  851. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
  852. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +25 -0
  853. data/spaceship/lib/spaceship/tunes/iap_type.rb +45 -0
  854. data/spaceship/lib/spaceship/tunes/language_converter.rb +65 -0
  855. data/spaceship/lib/spaceship/tunes/language_item.rb +61 -0
  856. data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
  857. data/spaceship/lib/spaceship/tunes/member.rb +84 -0
  858. data/spaceship/lib/spaceship/tunes/members.rb +35 -0
  859. data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
  860. data/spaceship/lib/spaceship/tunes/pricing_tier.rb +25 -0
  861. data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +74 -0
  862. data/spaceship/lib/spaceship/tunes/spaceship.rb +39 -0
  863. data/spaceship/lib/spaceship/tunes/territory.rb +39 -0
  864. data/spaceship/lib/spaceship/tunes/transit_app_file.rb +23 -0
  865. data/spaceship/lib/spaceship/tunes/tunes.rb +35 -0
  866. data/spaceship/lib/spaceship/tunes/tunes_base.rb +17 -0
  867. data/spaceship/lib/spaceship/tunes/tunes_client.rb +1644 -0
  868. data/spaceship/lib/spaceship/tunes/user_detail.rb +15 -0
  869. data/spaceship/lib/spaceship/tunes/version_set.rb +26 -0
  870. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +372 -0
  871. data/spaceship/lib/spaceship/ui.rb +27 -0
  872. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  873. data/supply/README.md +17 -0
  874. data/supply/lib/supply.rb +53 -0
  875. data/supply/lib/supply/apk_listing.rb +14 -0
  876. data/supply/lib/supply/client.rb +553 -0
  877. data/supply/lib/supply/commands_generator.rb +68 -0
  878. data/supply/lib/supply/languages.rb +88 -0
  879. data/supply/lib/supply/listing.rb +32 -0
  880. data/supply/lib/supply/options.rb +324 -0
  881. data/supply/lib/supply/reader.rb +41 -0
  882. data/supply/lib/supply/release_listing.rb +18 -0
  883. data/supply/lib/supply/setup.rb +122 -0
  884. data/supply/lib/supply/uploader.rb +482 -0
  885. metadata +1864 -0
@@ -0,0 +1,14 @@
1
+ module Fastlane
2
+ module Actions
3
+ require 'fastlane/actions/get_provisioning_profile'
4
+ class SighAction < GetProvisioningProfileAction
5
+ #####################################################
6
+ # @!group Documentation
7
+ #####################################################
8
+
9
+ def self.description
10
+ "Alias for the `get_provisioning_profile` action"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,52 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SkipDocsAction < Action
4
+ def self.run(params)
5
+ ENV["FASTLANE_SKIP_DOCS"] = "1"
6
+ end
7
+
8
+ def self.step_text
9
+ nil
10
+ end
11
+
12
+ #####################################################
13
+ # @!group Documentation
14
+ #####################################################
15
+
16
+ def self.description
17
+ "Skip the creation of the fastlane/README.md file when running fastlane"
18
+ end
19
+
20
+ def self.available_options
21
+ end
22
+
23
+ def self.output
24
+ end
25
+
26
+ def self.return_value
27
+ end
28
+
29
+ def self.details
30
+ "Tell _fastlane_ to not automatically create a `fastlane/README.md` when running _fastlane_. You can always trigger the creation of this file manually by running `fastlane docs`."
31
+ end
32
+
33
+ def self.authors
34
+ ["KrauseFx"]
35
+ end
36
+
37
+ def self.is_supported?(platform)
38
+ true
39
+ end
40
+
41
+ def self.example_code
42
+ [
43
+ 'skip_docs'
44
+ ]
45
+ end
46
+
47
+ def self.category
48
+ :misc
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,307 @@
1
+ require 'fastlane/notification/slack'
2
+
3
+ # rubocop:disable Style/CaseEquality
4
+ # rubocop:disable Style/MultilineTernaryOperator
5
+ # rubocop:disable Style/NestedTernaryOperator
6
+ module Fastlane
7
+ module Actions
8
+ class SlackAction < Action
9
+ class Runner
10
+ def initialize(slack_url)
11
+ @notifier = Fastlane::Notification::Slack.new(slack_url)
12
+ end
13
+
14
+ def run(options)
15
+ options[:message] = self.class.trim_message(options[:message].to_s || '')
16
+ options[:message] = Fastlane::Notification::Slack::LinkConverter.convert(options[:message])
17
+
18
+ options[:pretext] = options[:pretext].gsub('\n', "\n") unless options[:pretext].nil?
19
+
20
+ if options[:channel].to_s.length > 0
21
+ channel = options[:channel]
22
+ channel = ('#' + options[:channel]) unless ['#', '@'].include?(channel[0]) # send message to channel by default
23
+ end
24
+
25
+ username = options[:use_webhook_configured_username_and_icon] ? nil : options[:username]
26
+
27
+ slack_attachment = self.class.generate_slack_attachments(options)
28
+ link_names = options[:link_names]
29
+ icon_url = options[:use_webhook_configured_username_and_icon] ? nil : options[:icon_url]
30
+
31
+ post_message(
32
+ channel: channel,
33
+ username: username,
34
+ attachments: [slack_attachment],
35
+ link_names: link_names,
36
+ icon_url: icon_url,
37
+ fail_on_error: options[:fail_on_error]
38
+ )
39
+ end
40
+
41
+ def post_message(channel:, username:, attachments:, link_names:, icon_url:, fail_on_error:)
42
+ @notifier.post_to_legacy_incoming_webhook(
43
+ channel: channel,
44
+ username: username,
45
+ link_names: link_names,
46
+ icon_url: icon_url,
47
+ attachments: attachments
48
+ )
49
+ UI.success('Successfully sent Slack notification')
50
+ rescue => error
51
+ UI.error("Exception: #{error}")
52
+ message = "Error pushing Slack message, maybe the integration has no permission to post on this channel? Try removing the channel parameter in your Fastfile, this is usually caused by a misspelled or changed group/channel name or an expired SLACK_URL"
53
+ if fail_on_error
54
+ UI.user_error!(message)
55
+ else
56
+ UI.error(message)
57
+ end
58
+ end
59
+
60
+ # As there is a text limit in the notifications, we are
61
+ # usually interested in the last part of the message
62
+ # e.g. for tests
63
+ def self.trim_message(message)
64
+ # We want the last 7000 characters, instead of the first 7000, as the error is at the bottom
65
+ start_index = [message.length - 7000, 0].max
66
+ message = message[start_index..-1]
67
+ # We want line breaks to be shown on slack output so we replace
68
+ # input non-interpreted line break with interpreted line break
69
+ message.gsub('\n', "\n")
70
+ end
71
+
72
+ def self.generate_slack_attachments(options)
73
+ color = (options[:success] ? 'good' : 'danger')
74
+ should_add_payload = ->(payload_name) { options[:default_payloads].map(&:to_sym).include?(payload_name.to_sym) }
75
+
76
+ slack_attachment = {
77
+ fallback: options[:message],
78
+ text: options[:message],
79
+ pretext: options[:pretext],
80
+ color: color,
81
+ mrkdwn_in: ["pretext", "text", "fields", "message"],
82
+ fields: []
83
+ }
84
+
85
+ # custom user payloads
86
+ slack_attachment[:fields] += options[:payload].map do |k, v|
87
+ {
88
+ title: k.to_s,
89
+ value: Fastlane::Notification::Slack::LinkConverter.convert(v.to_s),
90
+ short: false
91
+ }
92
+ end
93
+
94
+ # Add the lane to the Slack message
95
+ # This might be nil, if slack is called as "one-off" action
96
+ if should_add_payload[:lane] && Actions.lane_context[Actions::SharedValues::LANE_NAME]
97
+ slack_attachment[:fields] << {
98
+ title: 'Lane',
99
+ value: Actions.lane_context[Actions::SharedValues::LANE_NAME],
100
+ short: true
101
+ }
102
+ end
103
+
104
+ # test_result
105
+ if should_add_payload[:test_result]
106
+ slack_attachment[:fields] << {
107
+ title: 'Result',
108
+ value: (options[:success] ? 'Success' : 'Error'),
109
+ short: true
110
+ }
111
+ end
112
+
113
+ # git branch
114
+ if Actions.git_branch && should_add_payload[:git_branch]
115
+ slack_attachment[:fields] << {
116
+ title: 'Git Branch',
117
+ value: Actions.git_branch,
118
+ short: true
119
+ }
120
+ end
121
+
122
+ # git_author
123
+ if Actions.git_author_email && should_add_payload[:git_author]
124
+ if FastlaneCore::Env.truthy?('FASTLANE_SLACK_HIDE_AUTHOR_ON_SUCCESS') && options[:success]
125
+ # We only show the git author if the build failed
126
+ else
127
+ slack_attachment[:fields] << {
128
+ title: 'Git Author',
129
+ value: Actions.git_author_email,
130
+ short: true
131
+ }
132
+ end
133
+ end
134
+
135
+ # last_git_commit
136
+ if Actions.last_git_commit_message && should_add_payload[:last_git_commit]
137
+ slack_attachment[:fields] << {
138
+ title: 'Git Commit',
139
+ value: Actions.last_git_commit_message,
140
+ short: false
141
+ }
142
+ end
143
+
144
+ # last_git_commit_hash
145
+ if Actions.last_git_commit_hash(true) && should_add_payload[:last_git_commit_hash]
146
+ slack_attachment[:fields] << {
147
+ title: 'Git Commit Hash',
148
+ value: Actions.last_git_commit_hash(short: true),
149
+ short: false
150
+ }
151
+ end
152
+
153
+ # merge additional properties
154
+ deep_merge(slack_attachment, options[:attachment_properties])
155
+ end
156
+
157
+ # Adapted from https://stackoverflow.com/a/30225093/158525
158
+ def self.deep_merge(a, b)
159
+ merger = proc do |key, v1, v2|
160
+ Hash === v1 && Hash === v2 ?
161
+ v1.merge(v2, &merger) : Array === v1 && Array === v2 ?
162
+ v1 | v2 : [:undefined, nil, :nil].include?(v2) ? v1 : v2
163
+ end
164
+ a.merge(b, &merger)
165
+ end
166
+ end
167
+
168
+ def self.is_supported?(platform)
169
+ true
170
+ end
171
+
172
+ def self.run(options)
173
+ Runner.new(options[:slack_url]).run(options)
174
+ end
175
+
176
+ def self.description
177
+ "Send a success/error message to your [Slack](https://slack.com) group"
178
+ end
179
+
180
+ def self.available_options
181
+ [
182
+ FastlaneCore::ConfigItem.new(key: :message,
183
+ env_name: "FL_SLACK_MESSAGE",
184
+ description: "The message that should be displayed on Slack. This supports the standard Slack markup language",
185
+ optional: true),
186
+ FastlaneCore::ConfigItem.new(key: :pretext,
187
+ env_name: "FL_SLACK_PRETEXT",
188
+ description: "This is optional text that appears above the message attachment block. This supports the standard Slack markup language",
189
+ optional: true),
190
+ FastlaneCore::ConfigItem.new(key: :channel,
191
+ env_name: "FL_SLACK_CHANNEL",
192
+ description: "#channel or @username",
193
+ optional: true),
194
+ FastlaneCore::ConfigItem.new(key: :use_webhook_configured_username_and_icon,
195
+ env_name: "FL_SLACK_USE_WEBHOOK_CONFIGURED_USERNAME_AND_ICON",
196
+ description: "Use webhook's default username and icon settings? (true/false)",
197
+ default_value: false,
198
+ type: Boolean,
199
+ optional: true),
200
+ FastlaneCore::ConfigItem.new(key: :slack_url,
201
+ env_name: "SLACK_URL",
202
+ sensitive: true,
203
+ description: "Create an Incoming WebHook for your Slack group",
204
+ verify_block: proc do |value|
205
+ UI.user_error!("Invalid URL, must start with https://") unless value.start_with?("https://")
206
+ end),
207
+ FastlaneCore::ConfigItem.new(key: :username,
208
+ env_name: "FL_SLACK_USERNAME",
209
+ description: "Overrides the webhook's username property if use_webhook_configured_username_and_icon is false",
210
+ default_value: "fastlane",
211
+ optional: true),
212
+ FastlaneCore::ConfigItem.new(key: :icon_url,
213
+ env_name: "FL_SLACK_ICON_URL",
214
+ description: "Overrides the webhook's image property if use_webhook_configured_username_and_icon is false",
215
+ default_value: "https://fastlane.tools/assets/img/fastlane_icon.png",
216
+ optional: true),
217
+ FastlaneCore::ConfigItem.new(key: :payload,
218
+ env_name: "FL_SLACK_PAYLOAD",
219
+ description: "Add additional information to this post. payload must be a hash containing any key with any value",
220
+ default_value: {},
221
+ type: Hash),
222
+ FastlaneCore::ConfigItem.new(key: :default_payloads,
223
+ env_name: "FL_SLACK_DEFAULT_PAYLOADS",
224
+ description: "Specifies default payloads to include. Pass an empty array to suppress all the default payloads",
225
+ default_value: ['lane', 'test_result', 'git_branch', 'git_author', 'last_git_commit', 'last_git_commit_hash'],
226
+ type: Array),
227
+ FastlaneCore::ConfigItem.new(key: :attachment_properties,
228
+ env_name: "FL_SLACK_ATTACHMENT_PROPERTIES",
229
+ description: "Merge additional properties in the slack attachment, see https://api.slack.com/docs/attachments",
230
+ default_value: {},
231
+ type: Hash),
232
+ FastlaneCore::ConfigItem.new(key: :success,
233
+ env_name: "FL_SLACK_SUCCESS",
234
+ description: "Was this build successful? (true/false)",
235
+ optional: true,
236
+ default_value: true,
237
+ type: Boolean),
238
+ FastlaneCore::ConfigItem.new(key: :fail_on_error,
239
+ env_name: "FL_SLACK_FAIL_ON_ERROR",
240
+ description: "Should an error sending the slack notification cause a failure? (true/false)",
241
+ optional: true,
242
+ default_value: true,
243
+ type: Boolean),
244
+ FastlaneCore::ConfigItem.new(key: :link_names,
245
+ env_name: "FL_SLACK_LINK_NAMES",
246
+ description: "Find and link channel names and usernames (true/false)",
247
+ optional: true,
248
+ default_value: false,
249
+ type: Boolean)
250
+ ]
251
+ end
252
+
253
+ def self.author
254
+ "KrauseFx"
255
+ end
256
+
257
+ def self.example_code
258
+ [
259
+ 'slack(message: "App successfully released!")',
260
+ 'slack(
261
+ message: "App successfully released!",
262
+ channel: "#channel", # Optional, by default will post to the default channel configured for the POST URL.
263
+ success: true, # Optional, defaults to true.
264
+ payload: { # Optional, lets you specify any number of your own Slack attachments.
265
+ "Build Date" => Time.new.to_s,
266
+ "Built by" => "Jenkins",
267
+ },
268
+ default_payloads: [:git_branch, :git_author], # Optional, lets you specify default payloads to include. Pass an empty array to suppress all the default payloads.
269
+ attachment_properties: { # Optional, lets you specify any other properties available for attachments in the slack API (see https://api.slack.com/docs/attachments).
270
+ # This hash is deep merged with the existing properties set using the other properties above. This allows your own fields properties to be appended to the existing fields that were created using the `payload` property for instance.
271
+ thumb_url: "http://example.com/path/to/thumb.png",
272
+ fields: [{
273
+ title: "My Field",
274
+ value: "My Value",
275
+ short: true
276
+ }]
277
+ }
278
+ )'
279
+ ]
280
+ end
281
+
282
+ def self.category
283
+ :notifications
284
+ end
285
+
286
+ def self.details
287
+ "Create an Incoming WebHook and export this as `SLACK_URL`. Can send a message to **#channel** (by default), a direct message to **@username** or a message to a private group **group** with success (green) or failure (red) status."
288
+ end
289
+
290
+ #####################################################
291
+ # @!group Helper
292
+ #####################################################
293
+
294
+ def self.trim_message(message)
295
+ Runner.trim_message(message)
296
+ end
297
+
298
+ def self.generate_slack_attachments(options)
299
+ UI.deprecated('`Fastlane::Actions::Slack.generate_slack_attachments` is subject to be removed as Slack recommends migrating `attachments` to Block Kit. fastlane will also follow the same direction.')
300
+ Runner.generate_slack_attachments(options)
301
+ end
302
+ end
303
+ end
304
+ end
305
+ # rubocop:enable Style/CaseEquality
306
+ # rubocop:enable Style/MultilineTernaryOperator
307
+ # rubocop:enable Style/NestedTernaryOperator
@@ -0,0 +1,313 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SlatherAction < Action
4
+ # https://github.com/SlatherOrg/slather/blob/v2.4.9/lib/slather/command/coverage_command.rb
5
+ ARGS_MAP = {
6
+ travis: '--travis',
7
+ travis_pro: '--travispro',
8
+ circleci: '--circleci',
9
+ jenkins: '--jenkins',
10
+ buildkite: '--buildkite',
11
+ teamcity: '--teamcity',
12
+
13
+ coveralls: '--coveralls',
14
+ simple_output: '--simple-output',
15
+ gutter_json: '--gutter-json',
16
+ cobertura_xml: '--cobertura-xml',
17
+ sonarqube_xml: '--sonarqube-xml',
18
+ llvm_cov: '--llvm-cov',
19
+ json: '--json',
20
+ html: '--html',
21
+ show: '--show',
22
+
23
+ build_directory: '--build-directory',
24
+ source_directory: '--source-directory',
25
+ output_directory: '--output-directory',
26
+ ignore: '--ignore',
27
+ verbose: '--verbose',
28
+
29
+ input_format: '--input-format',
30
+ scheme: '--scheme',
31
+ configuration: '--configuration',
32
+ workspace: '--workspace',
33
+ binary_file: '--binary-file',
34
+ binary_basename: '--binary-basename',
35
+ arch: '--arch',
36
+ source_files: '--source-files',
37
+ decimals: '--decimals'
38
+ }.freeze
39
+
40
+ def self.run(params)
41
+ # This will fail if using Bundler. Skip the check rather than needing to
42
+ # require bundler
43
+ unless params[:use_bundle_exec]
44
+ Actions.verify_gem!('slather')
45
+ end
46
+
47
+ validate_params!(params)
48
+
49
+ command = build_command(params)
50
+ sh(command)
51
+ end
52
+
53
+ def self.has_config_file
54
+ File.file?('.slather.yml')
55
+ end
56
+
57
+ def self.slather_version
58
+ require 'slather'
59
+ Slather::VERSION
60
+ end
61
+
62
+ def self.configuration_available?
63
+ Gem::Version.new('2.4.1') <= Gem::Version.new(slather_version)
64
+ end
65
+
66
+ def self.validate_params!(params)
67
+ if params[:configuration]
68
+ UI.user_error!('configuration option is available since version 2.4.1') unless configuration_available?
69
+ end
70
+
71
+ if params[:proj] || has_config_file
72
+ true
73
+ else
74
+ UI.user_error!("You have to provide a project with `:proj` or use a .slather.yml")
75
+ end
76
+
77
+ # for backwards compatibility when :binary_file type was Boolean
78
+ if params[:binary_file] == true || params[:binary_file] == false
79
+ params[:binary_file] = nil
80
+ end
81
+
82
+ # :binary_file validation was skipped for backwards compatibility with Boolean. If a
83
+ # Boolean was passed in, it has now been removed. Revalidate :binary_file
84
+ binary_file_options = available_options.find { |a| a.key == :binary_file }
85
+ binary_file_options.skip_type_validation = false
86
+ binary_file_options.verify!(params[:binary_file])
87
+ end
88
+
89
+ def self.build_command(params)
90
+ command = []
91
+ command.push("bundle exec") if params[:use_bundle_exec] && shell_out_should_use_bundle_exec?
92
+ command << "slather coverage"
93
+
94
+ ARGS_MAP.each do |key, cli_param|
95
+ cli_value = params[key]
96
+ if cli_value
97
+ if cli_value.kind_of?(TrueClass)
98
+ command << cli_param
99
+ elsif cli_value.kind_of?(String)
100
+ command << cli_param
101
+ command << cli_value.shellescape
102
+ elsif cli_value.kind_of?(Array)
103
+ command << cli_value.map { |path| "#{cli_param} #{path.shellescape}" }
104
+ end
105
+ else
106
+ next
107
+ end
108
+ end
109
+
110
+ command << params[:proj].shellescape if params[:proj]
111
+ command.join(" ")
112
+ end
113
+
114
+ #####################################################
115
+ # @!group Documentation
116
+ #####################################################
117
+
118
+ def self.description
119
+ "Use slather to generate a code coverage report"
120
+ end
121
+
122
+ def self.details
123
+ [
124
+ "Slather works with multiple code coverage formats, including Xcode 7 code coverage.",
125
+ "Slather is available at [https://github.com/SlatherOrg/slather](https://github.com/SlatherOrg/slather)."
126
+ ].join("\n")
127
+ end
128
+
129
+ def self.available_options
130
+ [
131
+ FastlaneCore::ConfigItem.new(key: :build_directory,
132
+ env_name: "FL_SLATHER_BUILD_DIRECTORY", # The name of the environment variable
133
+ description: "The location of the build output", # a short description of this parameter
134
+ optional: true),
135
+ FastlaneCore::ConfigItem.new(key: :proj,
136
+ env_name: "FL_SLATHER_PROJ", # The name of the environment variable
137
+ description: "The project file that slather looks at", # a short description of this parameter
138
+ verify_block: proc do |value|
139
+ UI.user_error!("No project file specified, pass using `proj: 'Project.xcodeproj'`") unless value && !value.empty?
140
+ end,
141
+ optional: true),
142
+ FastlaneCore::ConfigItem.new(key: :workspace,
143
+ env_name: "FL_SLATHER_WORKSPACE",
144
+ description: "The workspace that slather looks at",
145
+ optional: true),
146
+ FastlaneCore::ConfigItem.new(key: :scheme,
147
+ env_name: "FL_SLATHER_SCHEME", # The name of the environment variable
148
+ description: "Scheme to use when calling slather",
149
+ optional: true),
150
+ FastlaneCore::ConfigItem.new(key: :configuration,
151
+ env_name: "FL_SLATHER_CONFIGURATION", # The name of the environment variable
152
+ description: "Configuration to use when calling slather (since slather-2.4.1)",
153
+ optional: true),
154
+ FastlaneCore::ConfigItem.new(key: :input_format,
155
+ env_name: "FL_SLATHER_INPUT_FORMAT", # The name of the environment variable
156
+ description: "The input format that slather should look for",
157
+ optional: true),
158
+ FastlaneCore::ConfigItem.new(key: :buildkite,
159
+ env_name: "FL_SLATHER_BUILDKITE_ENABLED", # The name of the environment variable
160
+ description: "Tell slather that it is running on Buildkite",
161
+ type: Boolean,
162
+ optional: true),
163
+ FastlaneCore::ConfigItem.new(key: :teamcity,
164
+ env_name: "FL_SLATHER_TEAMCITY_ENABLED", # The name of the environment variable
165
+ description: "Tell slather that it is running on TeamCity",
166
+ type: Boolean,
167
+ optional: true),
168
+ FastlaneCore::ConfigItem.new(key: :jenkins,
169
+ env_name: "FL_SLATHER_JENKINS_ENABLED", # The name of the environment variable
170
+ description: "Tell slather that it is running on Jenkins",
171
+ type: Boolean,
172
+ optional: true),
173
+ FastlaneCore::ConfigItem.new(key: :travis,
174
+ env_name: "FL_SLATHER_TRAVIS_ENABLED", # The name of the environment variable
175
+ description: "Tell slather that it is running on TravisCI",
176
+ type: Boolean,
177
+ optional: true),
178
+ FastlaneCore::ConfigItem.new(key: :travis_pro,
179
+ env_name: "FL_SLATHER_TRAVIS_PRO_ENABLED", # The name of the environment variable
180
+ description: "Tell slather that it is running on TravisCI Pro",
181
+ type: Boolean,
182
+ optional: true),
183
+ FastlaneCore::ConfigItem.new(key: :circleci,
184
+ env_name: "FL_SLATHER_CIRCLECI_ENABLED",
185
+ description: "Tell slather that it is running on CircleCI",
186
+ type: Boolean,
187
+ optional: true),
188
+ FastlaneCore::ConfigItem.new(key: :coveralls,
189
+ env_name: "FL_SLATHER_COVERALLS_ENABLED",
190
+ description: "Tell slather that it should post data to Coveralls",
191
+ type: Boolean,
192
+ optional: true),
193
+ FastlaneCore::ConfigItem.new(key: :simple_output,
194
+ env_name: "FL_SLATHER_SIMPLE_OUTPUT_ENABLED",
195
+ description: "Tell slather that it should output results to the terminal",
196
+ type: Boolean,
197
+ optional: true),
198
+ FastlaneCore::ConfigItem.new(key: :gutter_json,
199
+ env_name: "FL_SLATHER_GUTTER_JSON_ENABLED",
200
+ description: "Tell slather that it should output results as Gutter JSON format",
201
+ type: Boolean,
202
+ optional: true),
203
+ FastlaneCore::ConfigItem.new(key: :cobertura_xml,
204
+ env_name: "FL_SLATHER_COBERTURA_XML_ENABLED",
205
+ description: "Tell slather that it should output results as Cobertura XML format",
206
+ type: Boolean,
207
+ optional: true),
208
+ FastlaneCore::ConfigItem.new(key: :sonarqube_xml,
209
+ env_name: "FL_SLATHER_SONARQUBE_XML_ENABLED",
210
+ description: "Tell slather that it should output results as SonarQube Generic XML format",
211
+ type: Boolean,
212
+ optional: true),
213
+ FastlaneCore::ConfigItem.new(key: :llvm_cov,
214
+ env_name: "FL_SLATHER_LLVM_COV_ENABLED",
215
+ description: "Tell slather that it should output results as llvm-cov show format",
216
+ type: Boolean,
217
+ optional: true),
218
+ FastlaneCore::ConfigItem.new(key: :json,
219
+ env_name: "FL_SLATHER_JSON_ENABLED",
220
+ description: "Tell slather that it should output results as static JSON report",
221
+ type: Boolean,
222
+ optional: true),
223
+ FastlaneCore::ConfigItem.new(key: :html,
224
+ env_name: "FL_SLATHER_HTML_ENABLED",
225
+ description: "Tell slather that it should output results as static HTML pages",
226
+ type: Boolean,
227
+ optional: true),
228
+ FastlaneCore::ConfigItem.new(key: :show,
229
+ env_name: "FL_SLATHER_SHOW_ENABLED",
230
+ description: "Tell slather that it should open static html pages automatically",
231
+ type: Boolean,
232
+ default_value: false),
233
+ FastlaneCore::ConfigItem.new(key: :source_directory,
234
+ env_name: "FL_SLATHER_SOURCE_DIRECTORY",
235
+ description: "Tell slather the location of your source files",
236
+ optional: true),
237
+ FastlaneCore::ConfigItem.new(key: :output_directory,
238
+ env_name: "FL_SLATHER_OUTPUT_DIRECTORY",
239
+ description: "Tell slather the location of for your output files",
240
+ optional: true),
241
+ FastlaneCore::ConfigItem.new(key: :ignore,
242
+ env_name: "FL_SLATHER_IGNORE",
243
+ description: "Tell slather to ignore files matching a path or any path from an array of paths",
244
+ type: Array,
245
+ optional: true),
246
+ FastlaneCore::ConfigItem.new(key: :verbose,
247
+ env_name: "FL_SLATHER_VERBOSE",
248
+ description: "Tell slather to enable verbose mode",
249
+ type: Boolean,
250
+ optional: true),
251
+ FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
252
+ env_name: "FL_SLATHER_USE_BUNDLE_EXEC",
253
+ description: "Use bundle exec to execute slather. Make sure it is in the Gemfile",
254
+ type: Boolean,
255
+ default_value: false),
256
+ FastlaneCore::ConfigItem.new(key: :binary_basename,
257
+ env_name: "FL_SLATHER_BINARY_BASENAME",
258
+ description: "Basename of the binary file, this should match the name of your bundle excluding its extension (i.e. YourApp [for YourApp.app bundle])",
259
+ type: Array,
260
+ optional: true),
261
+ FastlaneCore::ConfigItem.new(key: :binary_file,
262
+ env_name: "FL_SLATHER_BINARY_FILE",
263
+ description: "Binary file name to be used for code coverage",
264
+ type: Array,
265
+ skip_type_validation: true, # skipping validation for backwards compatibility with Boolean type
266
+ optional: true),
267
+ FastlaneCore::ConfigItem.new(key: :arch,
268
+ env_name: "FL_SLATHER_ARCH",
269
+ description: "Specify which architecture the binary file is in. Needed for universal binaries",
270
+ optional: true),
271
+ FastlaneCore::ConfigItem.new(key: :source_files,
272
+ env_name: "FL_SLATHER_SOURCE_FILES",
273
+ description: "A Dir.glob compatible pattern used to limit the lookup to specific source files. Ignored in gcov mode",
274
+ skip_type_validation: true, # skipping validation for backwards compatibility with Boolean type
275
+ default_value: false,
276
+ optional: true),
277
+ FastlaneCore::ConfigItem.new(key: :decimals,
278
+ env_name: "FL_SLATHER_DECIMALS",
279
+ description: "The amount of decimals to use for % coverage reporting",
280
+ skip_type_validation: true, # allow Integer, String
281
+ default_value: false,
282
+ optional: true)
283
+ ]
284
+ end
285
+
286
+ def self.output
287
+ end
288
+
289
+ def self.authors
290
+ ["mattdelves"]
291
+ end
292
+
293
+ def self.is_supported?(platform)
294
+ [:ios, :mac].include?(platform)
295
+ end
296
+
297
+ def self.example_code
298
+ [
299
+ 'slather(
300
+ build_directory: "foo",
301
+ input_format: "bah",
302
+ scheme: "MyScheme",
303
+ proj: "MyProject.xcodeproj"
304
+ )'
305
+ ]
306
+ end
307
+
308
+ def self.category
309
+ :testing
310
+ end
311
+ end
312
+ end
313
+ end