fastlane-security-patched 2.216.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (913) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/LICENSE +21 -0
  4. data/README.md +235 -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/commands_generator.rb +61 -0
  9. data/cert/lib/cert/module.rb +16 -0
  10. data/cert/lib/cert/options.rb +133 -0
  11. data/cert/lib/cert/runner.rb +250 -0
  12. data/cert/lib/cert.rb +4 -0
  13. data/credentials_manager/README.md +64 -0
  14. data/credentials_manager/lib/credentials_manager/account_manager.rb +157 -0
  15. data/credentials_manager/lib/credentials_manager/appfile_config.rb +196 -0
  16. data/credentials_manager/lib/credentials_manager/cli.rb +69 -0
  17. data/credentials_manager/lib/credentials_manager.rb +7 -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 +30 -0
  22. data/deliver/lib/assets/summary.html.erb +299 -0
  23. data/deliver/lib/deliver/app_screenshot.rb +397 -0
  24. data/deliver/lib/deliver/app_screenshot_iterator.rb +95 -0
  25. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  26. data/deliver/lib/deliver/commands_generator.rb +191 -0
  27. data/deliver/lib/deliver/detect_values.rb +104 -0
  28. data/deliver/lib/deliver/download_screenshots.rb +75 -0
  29. data/deliver/lib/deliver/generate_summary.rb +13 -0
  30. data/deliver/lib/deliver/html_generator.rb +78 -0
  31. data/deliver/lib/deliver/languages.rb +7 -0
  32. data/deliver/lib/deliver/loader.rb +157 -0
  33. data/deliver/lib/deliver/module.rb +24 -0
  34. data/deliver/lib/deliver/options.rb +461 -0
  35. data/deliver/lib/deliver/runner.rb +311 -0
  36. data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
  37. data/deliver/lib/deliver/setup.rb +203 -0
  38. data/deliver/lib/deliver/submit_for_review.rb +249 -0
  39. data/deliver/lib/deliver/sync_screenshots.rb +200 -0
  40. data/deliver/lib/deliver/upload_metadata.rb +744 -0
  41. data/deliver/lib/deliver/upload_price_tier.rb +42 -0
  42. data/deliver/lib/deliver/upload_screenshots.rb +271 -0
  43. data/deliver/lib/deliver.rb +15 -0
  44. data/fastlane/README.md +11 -0
  45. data/fastlane/lib/assets/ActionDetails.md.erb +106 -0
  46. data/fastlane/lib/assets/Actions.md.erb +43 -0
  47. data/fastlane/lib/assets/AppfileTemplate +6 -0
  48. data/fastlane/lib/assets/AppfileTemplate.swift +7 -0
  49. data/fastlane/lib/assets/AppfileTemplateAndroid +2 -0
  50. data/fastlane/lib/assets/DefaultFastfileTemplate +20 -0
  51. data/fastlane/lib/assets/DefaultFastfileTemplate.swift +13 -0
  52. data/fastlane/lib/assets/completions/completion.bash +26 -0
  53. data/fastlane/lib/assets/completions/completion.fish +39 -0
  54. data/fastlane/lib/assets/completions/completion.sh +12 -0
  55. data/fastlane/lib/assets/completions/completion.zsh +24 -0
  56. data/fastlane/lib/assets/custom_action_template.rb +88 -0
  57. data/fastlane/lib/assets/mailgun_html_template.erb +142 -0
  58. data/fastlane/lib/assets/report_template.xml.erb +15 -0
  59. data/fastlane/lib/assets/s3_html_template.erb +105 -0
  60. data/fastlane/lib/assets/s3_plist_template.erb +31 -0
  61. data/fastlane/lib/assets/s3_version_template.erb +4 -0
  62. data/fastlane/lib/fastlane/action.rb +198 -0
  63. data/fastlane/lib/fastlane/action_collector.rb +35 -0
  64. data/fastlane/lib/fastlane/actions/README.md +5 -0
  65. data/fastlane/lib/fastlane/actions/actions_helper.rb +185 -0
  66. data/fastlane/lib/fastlane/actions/adb.rb +75 -0
  67. data/fastlane/lib/fastlane/actions/adb_devices.rb +70 -0
  68. data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +45 -0
  69. data/fastlane/lib/fastlane/actions/add_git_tag.rb +138 -0
  70. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +255 -0
  71. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +148 -0
  72. data/fastlane/lib/fastlane/actions/appaloosa.rb +271 -0
  73. data/fastlane/lib/fastlane/actions/appetize.rb +193 -0
  74. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +135 -0
  75. data/fastlane/lib/fastlane/actions/appium.rb +181 -0
  76. data/fastlane/lib/fastlane/actions/appledoc.rb +226 -0
  77. data/fastlane/lib/fastlane/actions/appstore.rb +14 -0
  78. data/fastlane/lib/fastlane/actions/apteligent.rb +106 -0
  79. data/fastlane/lib/fastlane/actions/artifactory.rb +189 -0
  80. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +220 -0
  81. data/fastlane/lib/fastlane/actions/backup_file.rb +41 -0
  82. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +135 -0
  83. data/fastlane/lib/fastlane/actions/badge.rb +151 -0
  84. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +113 -0
  85. data/fastlane/lib/fastlane/actions/build_android_app.rb +14 -0
  86. data/fastlane/lib/fastlane/actions/build_app.rb +171 -0
  87. data/fastlane/lib/fastlane/actions/build_ios_app.rb +47 -0
  88. data/fastlane/lib/fastlane/actions/build_mac_app.rb +46 -0
  89. data/fastlane/lib/fastlane/actions/bundle_install.rb +166 -0
  90. data/fastlane/lib/fastlane/actions/capture_android_screenshots.rb +63 -0
  91. data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +61 -0
  92. data/fastlane/lib/fastlane/actions/capture_screenshots.rb +14 -0
  93. data/fastlane/lib/fastlane/actions/carthage.rb +238 -0
  94. data/fastlane/lib/fastlane/actions/cert.rb +14 -0
  95. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +188 -0
  96. data/fastlane/lib/fastlane/actions/chatwork.rb +95 -0
  97. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +62 -0
  98. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +71 -0
  99. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +75 -0
  100. data/fastlane/lib/fastlane/actions/clear_derived_data.rb +70 -0
  101. data/fastlane/lib/fastlane/actions/clipboard.rb +49 -0
  102. data/fastlane/lib/fastlane/actions/cloc.rb +85 -0
  103. data/fastlane/lib/fastlane/actions/cocoapods.rb +178 -0
  104. data/fastlane/lib/fastlane/actions/commit_github_file.rb +194 -0
  105. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +300 -0
  106. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +113 -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 +203 -0
  112. data/fastlane/lib/fastlane/actions/danger.rb +146 -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 +349 -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 +581 -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 +208 -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 +373 -0
  137. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +61 -0
  138. data/fastlane/lib/fastlane/actions/download_universal_apk_from_google_play.rb +124 -0
  139. data/fastlane/lib/fastlane/actions/dsym_zip.rb +93 -0
  140. data/fastlane/lib/fastlane/actions/echo.rb +14 -0
  141. data/fastlane/lib/fastlane/actions/ensure_bundle_exec.rb +59 -0
  142. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +54 -0
  143. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +68 -0
  144. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +130 -0
  145. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +133 -0
  146. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +128 -0
  147. data/fastlane/lib/fastlane/actions/environment_variable.rb +69 -0
  148. data/fastlane/lib/fastlane/actions/erb.rb +93 -0
  149. data/fastlane/lib/fastlane/actions/fastlane_version.rb +15 -0
  150. data/fastlane/lib/fastlane/actions/flock.rb +82 -0
  151. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +64 -0
  152. data/fastlane/lib/fastlane/actions/frameit.rb +14 -0
  153. data/fastlane/lib/fastlane/actions/gcovr.rb +163 -0
  154. data/fastlane/lib/fastlane/actions/get_build_number.rb +106 -0
  155. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +120 -0
  156. data/fastlane/lib/fastlane/actions/get_certificates.rb +81 -0
  157. data/fastlane/lib/fastlane/actions/get_github_release.rb +176 -0
  158. data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +78 -0
  159. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +81 -0
  160. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +117 -0
  161. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +109 -0
  162. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +87 -0
  163. data/fastlane/lib/fastlane/actions/get_version_number.rb +212 -0
  164. data/fastlane/lib/fastlane/actions/git_add.rb +88 -0
  165. data/fastlane/lib/fastlane/actions/git_branch.rb +55 -0
  166. data/fastlane/lib/fastlane/actions/git_commit.rb +80 -0
  167. data/fastlane/lib/fastlane/actions/git_pull.rb +58 -0
  168. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  169. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +60 -0
  170. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +78 -0
  171. data/fastlane/lib/fastlane/actions/github_api.rb +271 -0
  172. data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
  173. data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +77 -0
  174. data/fastlane/lib/fastlane/actions/gradle.rb +334 -0
  175. data/fastlane/lib/fastlane/actions/gym.rb +10 -0
  176. data/fastlane/lib/fastlane/actions/hg_add_tag.rb +48 -0
  177. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +183 -0
  178. data/fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb +53 -0
  179. data/fastlane/lib/fastlane/actions/hg_push.rb +64 -0
  180. data/fastlane/lib/fastlane/actions/hipchat.rb +200 -0
  181. data/fastlane/lib/fastlane/actions/hockey.rb +399 -0
  182. data/fastlane/lib/fastlane/actions/ifttt.rb +93 -0
  183. data/fastlane/lib/fastlane/actions/import.rb +49 -0
  184. data/fastlane/lib/fastlane/actions/import_certificate.rb +77 -0
  185. data/fastlane/lib/fastlane/actions/import_from_git.rb +81 -0
  186. data/fastlane/lib/fastlane/actions/increment_build_number.rb +123 -0
  187. data/fastlane/lib/fastlane/actions/increment_version_number.rb +180 -0
  188. data/fastlane/lib/fastlane/actions/install_on_device.rb +92 -0
  189. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +62 -0
  190. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +91 -0
  191. data/fastlane/lib/fastlane/actions/installr.rb +129 -0
  192. data/fastlane/lib/fastlane/actions/ipa.rb +246 -0
  193. data/fastlane/lib/fastlane/actions/is_ci.rb +51 -0
  194. data/fastlane/lib/fastlane/actions/jazzy.rb +59 -0
  195. data/fastlane/lib/fastlane/actions/jira.rb +162 -0
  196. data/fastlane/lib/fastlane/actions/lane_context.rb +60 -0
  197. data/fastlane/lib/fastlane/actions/last_git_commit.rb +58 -0
  198. data/fastlane/lib/fastlane/actions/last_git_tag.rb +60 -0
  199. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +154 -0
  200. data/fastlane/lib/fastlane/actions/lcov.rb +98 -0
  201. data/fastlane/lib/fastlane/actions/mailgun.rb +191 -0
  202. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +81 -0
  203. data/fastlane/lib/fastlane/actions/match.rb +14 -0
  204. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  205. data/fastlane/lib/fastlane/actions/min_fastlane_version.rb +57 -0
  206. data/fastlane/lib/fastlane/actions/modify_services.rb +208 -0
  207. data/fastlane/lib/fastlane/actions/nexus_upload.rb +232 -0
  208. data/fastlane/lib/fastlane/actions/notarize.rb +355 -0
  209. data/fastlane/lib/fastlane/actions/notification.rb +75 -0
  210. data/fastlane/lib/fastlane/actions/notify.rb +40 -0
  211. data/fastlane/lib/fastlane/actions/number_of_commits.rb +75 -0
  212. data/fastlane/lib/fastlane/actions/oclint.rb +270 -0
  213. data/fastlane/lib/fastlane/actions/onesignal.rb +196 -0
  214. data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +33 -0
  215. data/fastlane/lib/fastlane/actions/opt_out_usage.rb +40 -0
  216. data/fastlane/lib/fastlane/actions/pem.rb +14 -0
  217. data/fastlane/lib/fastlane/actions/pilot.rb +14 -0
  218. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +189 -0
  219. data/fastlane/lib/fastlane/actions/pod_push.rb +198 -0
  220. data/fastlane/lib/fastlane/actions/podio_item.rb +210 -0
  221. data/fastlane/lib/fastlane/actions/precheck.rb +14 -0
  222. data/fastlane/lib/fastlane/actions/println.rb +14 -0
  223. data/fastlane/lib/fastlane/actions/produce.rb +14 -0
  224. data/fastlane/lib/fastlane/actions/prompt.rb +118 -0
  225. data/fastlane/lib/fastlane/actions/push_git_tags.rb +76 -0
  226. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +138 -0
  227. data/fastlane/lib/fastlane/actions/puts.rb +67 -0
  228. data/fastlane/lib/fastlane/actions/read_podspec.rb +90 -0
  229. data/fastlane/lib/fastlane/actions/recreate_schemes.rb +46 -0
  230. data/fastlane/lib/fastlane/actions/register_device.rb +148 -0
  231. data/fastlane/lib/fastlane/actions/register_devices.rb +211 -0
  232. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +118 -0
  233. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +90 -0
  234. data/fastlane/lib/fastlane/actions/resign.rb +125 -0
  235. data/fastlane/lib/fastlane/actions/restore_file.rb +44 -0
  236. data/fastlane/lib/fastlane/actions/rocket.rb +83 -0
  237. data/fastlane/lib/fastlane/actions/rsync.rb +71 -0
  238. data/fastlane/lib/fastlane/actions/ruby_version.rb +56 -0
  239. data/fastlane/lib/fastlane/actions/run_tests.rb +124 -0
  240. data/fastlane/lib/fastlane/actions/s3.rb +174 -0
  241. data/fastlane/lib/fastlane/actions/say.rb +55 -0
  242. data/fastlane/lib/fastlane/actions/scan.rb +14 -0
  243. data/fastlane/lib/fastlane/actions/scp.rb +108 -0
  244. data/fastlane/lib/fastlane/actions/screengrab.rb +14 -0
  245. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +76 -0
  246. data/fastlane/lib/fastlane/actions/set_changelog.rb +201 -0
  247. data/fastlane/lib/fastlane/actions/set_github_release.rb +287 -0
  248. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +92 -0
  249. data/fastlane/lib/fastlane/actions/set_pod_key.rb +77 -0
  250. data/fastlane/lib/fastlane/actions/setup_ci.rb +140 -0
  251. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +58 -0
  252. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +197 -0
  253. data/fastlane/lib/fastlane/actions/setup_travis.rb +57 -0
  254. data/fastlane/lib/fastlane/actions/sh.rb +69 -0
  255. data/fastlane/lib/fastlane/actions/sigh.rb +14 -0
  256. data/fastlane/lib/fastlane/actions/skip_docs.rb +52 -0
  257. data/fastlane/lib/fastlane/actions/slack.rb +307 -0
  258. data/fastlane/lib/fastlane/actions/slather.rb +332 -0
  259. data/fastlane/lib/fastlane/actions/snapshot.rb +14 -0
  260. data/fastlane/lib/fastlane/actions/sonar.rb +170 -0
  261. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  262. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +135 -0
  263. data/fastlane/lib/fastlane/actions/spaceship_stats.rb +73 -0
  264. data/fastlane/lib/fastlane/actions/splunkmint.rb +156 -0
  265. data/fastlane/lib/fastlane/actions/spm.rb +144 -0
  266. data/fastlane/lib/fastlane/actions/ssh.rb +157 -0
  267. data/fastlane/lib/fastlane/actions/supply.rb +14 -0
  268. data/fastlane/lib/fastlane/actions/swiftlint.rb +242 -0
  269. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +114 -0
  270. data/fastlane/lib/fastlane/actions/team_id.rb +42 -0
  271. data/fastlane/lib/fastlane/actions/team_name.rb +42 -0
  272. data/fastlane/lib/fastlane/actions/testfairy.rb +284 -0
  273. data/fastlane/lib/fastlane/actions/testflight.rb +14 -0
  274. data/fastlane/lib/fastlane/actions/trainer.rb +49 -0
  275. data/fastlane/lib/fastlane/actions/tryouts.rb +148 -0
  276. data/fastlane/lib/fastlane/actions/twitter.rb +84 -0
  277. data/fastlane/lib/fastlane/actions/typetalk.rb +93 -0
  278. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +132 -0
  279. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +88 -0
  280. data/fastlane/lib/fastlane/actions/update_app_identifier.rb +124 -0
  281. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +223 -0
  282. data/fastlane/lib/fastlane/actions/update_fastlane.rb +158 -0
  283. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +96 -0
  284. data/fastlane/lib/fastlane/actions/update_info_plist.rb +143 -0
  285. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +91 -0
  286. data/fastlane/lib/fastlane/actions/update_plist.rb +115 -0
  287. data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +76 -0
  288. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +181 -0
  289. data/fastlane/lib/fastlane/actions/update_project_team.rb +95 -0
  290. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +90 -0
  291. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +112 -0
  292. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
  293. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +232 -0
  294. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +158 -0
  295. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +71 -0
  296. data/fastlane/lib/fastlane/actions/upload_to_play_store.rb +80 -0
  297. data/fastlane/lib/fastlane/actions/upload_to_play_store_internal_app_sharing.rb +78 -0
  298. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +126 -0
  299. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +100 -0
  300. data/fastlane/lib/fastlane/actions/verify_build.rb +199 -0
  301. data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +67 -0
  302. data/fastlane/lib/fastlane/actions/verify_xcode.rb +159 -0
  303. data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +105 -0
  304. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +70 -0
  305. data/fastlane/lib/fastlane/actions/xcode_install.rb +112 -0
  306. data/fastlane/lib/fastlane/actions/xcode_select.rb +68 -0
  307. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +312 -0
  308. data/fastlane/lib/fastlane/actions/xcodebuild.rb +647 -0
  309. data/fastlane/lib/fastlane/actions/xcodes.rb +152 -0
  310. data/fastlane/lib/fastlane/actions/xcov.rb +71 -0
  311. data/fastlane/lib/fastlane/actions/xctool.rb +55 -0
  312. data/fastlane/lib/fastlane/actions/xcversion.rb +65 -0
  313. data/fastlane/lib/fastlane/actions/zip.rb +185 -0
  314. data/fastlane/lib/fastlane/auto_complete.rb +82 -0
  315. data/fastlane/lib/fastlane/boolean.rb +5 -0
  316. data/fastlane/lib/fastlane/cli_tools_distributor.rb +215 -0
  317. data/fastlane/lib/fastlane/command_line_handler.rb +49 -0
  318. data/fastlane/lib/fastlane/commands_generator.rb +371 -0
  319. data/fastlane/lib/fastlane/configuration_helper.rb +26 -0
  320. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +14 -0
  321. data/fastlane/lib/fastlane/documentation/actions_list.rb +214 -0
  322. data/fastlane/lib/fastlane/documentation/docs_generator.rb +94 -0
  323. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +234 -0
  324. data/fastlane/lib/fastlane/environment_printer.rb +304 -0
  325. data/fastlane/lib/fastlane/erb_template_helper.rb +36 -0
  326. data/fastlane/lib/fastlane/fast_file.rb +464 -0
  327. data/fastlane/lib/fastlane/fastlane_require.rb +81 -0
  328. data/fastlane/lib/fastlane/features.rb +10 -0
  329. data/fastlane/lib/fastlane/helper/README.md +29 -0
  330. data/fastlane/lib/fastlane/helper/adb_helper.rb +66 -0
  331. data/fastlane/lib/fastlane/helper/dotenv_helper.rb +50 -0
  332. data/fastlane/lib/fastlane/helper/gem_helper.rb +26 -0
  333. data/fastlane/lib/fastlane/helper/git_helper.rb +169 -0
  334. data/fastlane/lib/fastlane/helper/gradle_helper.rb +62 -0
  335. data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
  336. data/fastlane/lib/fastlane/helper/podspec_helper.rb +75 -0
  337. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +78 -0
  338. data/fastlane/lib/fastlane/helper/sh_helper.rb +134 -0
  339. data/fastlane/lib/fastlane/helper/xcodebuild_formatter_helper.rb +9 -0
  340. data/fastlane/lib/fastlane/helper/xcodeproj_helper.rb +12 -0
  341. data/fastlane/lib/fastlane/helper/xcodes_helper.rb +25 -0
  342. data/fastlane/lib/fastlane/helper/xcversion_helper.rb +16 -0
  343. data/fastlane/lib/fastlane/junit_generator.rb +27 -0
  344. data/fastlane/lib/fastlane/lane.rb +105 -0
  345. data/fastlane/lib/fastlane/lane_list.rb +137 -0
  346. data/fastlane/lib/fastlane/lane_manager.rb +131 -0
  347. data/fastlane/lib/fastlane/lane_manager_base.rb +92 -0
  348. data/fastlane/lib/fastlane/markdown_table_formatter.rb +62 -0
  349. data/fastlane/lib/fastlane/new_action.rb +47 -0
  350. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  351. data/fastlane/lib/fastlane/one_off.rb +45 -0
  352. data/fastlane/lib/fastlane/other_action.rb +29 -0
  353. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +54 -0
  354. data/fastlane/lib/fastlane/plugins/plugin_generator.rb +86 -0
  355. data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +19 -0
  356. data/fastlane/lib/fastlane/plugins/plugin_info.rb +49 -0
  357. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +158 -0
  358. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +398 -0
  359. data/fastlane/lib/fastlane/plugins/plugin_search.rb +46 -0
  360. data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +70 -0
  361. data/fastlane/lib/fastlane/plugins/plugins.rb +12 -0
  362. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +35 -0
  363. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +43 -0
  364. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
  365. data/fastlane/lib/fastlane/plugins/template/.gitignore +12 -0
  366. data/fastlane/lib/fastlane/plugins/template/.rspec +5 -0
  367. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +192 -0
  368. data/fastlane/lib/fastlane/plugins/template/.travis.yml +4 -0
  369. data/fastlane/lib/fastlane/plugins/template/Gemfile +6 -0
  370. data/fastlane/lib/fastlane/plugins/template/LICENSE.erb +21 -0
  371. data/fastlane/lib/fastlane/plugins/template/README.md.erb +52 -0
  372. data/fastlane/lib/fastlane/plugins/template/Rakefile +9 -0
  373. data/fastlane/lib/fastlane/plugins/template/fastlane/Fastfile.erb +3 -0
  374. data/fastlane/lib/fastlane/plugins/template/fastlane/Pluginfile.erb +1 -0
  375. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +47 -0
  376. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +16 -0
  377. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb +5 -0
  378. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb +16 -0
  379. data/fastlane/lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
  380. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +15 -0
  381. data/fastlane/lib/fastlane/runner.rb +378 -0
  382. data/fastlane/lib/fastlane/server/action_command.rb +61 -0
  383. data/fastlane/lib/fastlane/server/action_command_return.rb +14 -0
  384. data/fastlane/lib/fastlane/server/command_executor.rb +7 -0
  385. data/fastlane/lib/fastlane/server/command_parser.rb +44 -0
  386. data/fastlane/lib/fastlane/server/control_command.rb +23 -0
  387. data/fastlane/lib/fastlane/server/json_return_value_processor.rb +72 -0
  388. data/fastlane/lib/fastlane/server/socket_server.rb +238 -0
  389. data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +101 -0
  390. data/fastlane/lib/fastlane/setup/setup.rb +368 -0
  391. data/fastlane/lib/fastlane/setup/setup_android.rb +97 -0
  392. data/fastlane/lib/fastlane/setup/setup_ios.rb +504 -0
  393. data/fastlane/lib/fastlane/shells.rb +6 -0
  394. data/fastlane/lib/fastlane/supported_platforms.rb +28 -0
  395. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +480 -0
  396. data/fastlane/lib/fastlane/swift_fastlane_function.rb +447 -0
  397. data/fastlane/lib/fastlane/swift_lane_manager.rb +304 -0
  398. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +265 -0
  399. data/fastlane/lib/fastlane/tools.rb +50 -0
  400. data/fastlane/lib/fastlane/version.rb +6 -0
  401. data/fastlane/lib/fastlane.rb +53 -0
  402. data/fastlane/swift/Actions.swift +16 -0
  403. data/fastlane/swift/Appfile.swift +15 -0
  404. data/fastlane/swift/ArgumentProcessor.swift +89 -0
  405. data/fastlane/swift/Atomic.swift +150 -0
  406. data/fastlane/swift/ControlCommand.swift +74 -0
  407. data/fastlane/swift/Deliverfile.swift +20 -0
  408. data/fastlane/swift/DeliverfileProtocol.swift +267 -0
  409. data/fastlane/swift/Fastfile.swift +16 -0
  410. data/fastlane/swift/Fastlane.swift +13715 -0
  411. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +448 -0
  412. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  413. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  414. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +97 -0
  415. data/fastlane/swift/FastlaneSwiftRunner/README.txt +10 -0
  416. data/fastlane/swift/Gymfile.swift +20 -0
  417. data/fastlane/swift/GymfileProtocol.swift +211 -0
  418. data/fastlane/swift/LaneFileProtocol.swift +155 -0
  419. data/fastlane/swift/MainProcess.swift +79 -0
  420. data/fastlane/swift/Matchfile.swift +20 -0
  421. data/fastlane/swift/MatchfileProtocol.swift +231 -0
  422. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  423. data/fastlane/swift/Plugins.swift +16 -0
  424. data/fastlane/swift/Precheckfile.swift +20 -0
  425. data/fastlane/swift/PrecheckfileProtocol.swift +55 -0
  426. data/fastlane/swift/RubyCommand.swift +157 -0
  427. data/fastlane/swift/RubyCommandable.swift +43 -0
  428. data/fastlane/swift/Runner.swift +279 -0
  429. data/fastlane/swift/RunnerArgument.swift +20 -0
  430. data/fastlane/swift/Scanfile.swift +20 -0
  431. data/fastlane/swift/ScanfileProtocol.swift +323 -0
  432. data/fastlane/swift/Screengrabfile.swift +20 -0
  433. data/fastlane/swift/ScreengrabfileProtocol.swift +99 -0
  434. data/fastlane/swift/Snapshotfile.swift +20 -0
  435. data/fastlane/swift/SnapshotfileProtocol.swift +207 -0
  436. data/fastlane/swift/SocketClient.swift +332 -0
  437. data/fastlane/swift/SocketClientDelegateProtocol.swift +21 -0
  438. data/fastlane/swift/SocketResponse.swift +84 -0
  439. data/fastlane/swift/formatting/Brewfile +1 -0
  440. data/fastlane/swift/formatting/Brewfile.lock.json +86 -0
  441. data/fastlane/swift/formatting/Rakefile +18 -0
  442. data/fastlane/swift/main.swift +47 -0
  443. data/fastlane/swift/upgrade_manifest.json +1 -0
  444. data/fastlane_core/README.md +80 -0
  445. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +12 -0
  446. data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +34 -0
  447. data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +38 -0
  448. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +23 -0
  449. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +54 -0
  450. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +70 -0
  451. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +64 -0
  452. data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +79 -0
  453. data/fastlane_core/lib/fastlane_core/build_watcher.rb +192 -0
  454. data/fastlane_core/lib/fastlane_core/cert_checker.rb +206 -0
  455. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  456. data/fastlane_core/lib/fastlane_core/command_executor.rb +94 -0
  457. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +108 -0
  458. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +359 -0
  459. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +338 -0
  460. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +182 -0
  461. data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +23 -0
  462. data/fastlane_core/lib/fastlane_core/core_ext/shellwords.rb +63 -0
  463. data/fastlane_core/lib/fastlane_core/core_ext/string.rb +17 -0
  464. data/fastlane_core/lib/fastlane_core/device_manager.rb +378 -0
  465. data/fastlane_core/lib/fastlane_core/env.rb +9 -0
  466. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +72 -0
  467. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +79 -0
  468. data/fastlane_core/lib/fastlane_core/feature/feature.rb +51 -0
  469. data/fastlane_core/lib/fastlane_core/features.rb +4 -0
  470. data/fastlane_core/lib/fastlane_core/globals.rb +27 -0
  471. data/fastlane_core/lib/fastlane_core/helper.rb +501 -0
  472. data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +112 -0
  473. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +93 -0
  474. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +53 -0
  475. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +983 -0
  476. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +128 -0
  477. data/fastlane_core/lib/fastlane_core/languages.rb +16 -0
  478. data/fastlane_core/lib/fastlane_core/module.rb +31 -0
  479. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +56 -0
  480. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +49 -0
  481. data/fastlane_core/lib/fastlane_core/print_table.rb +133 -0
  482. data/fastlane_core/lib/fastlane_core/project.rb +552 -0
  483. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +126 -0
  484. data/fastlane_core/lib/fastlane_core/queue_worker.rb +49 -0
  485. data/fastlane_core/lib/fastlane_core/string_filters.rb +51 -0
  486. data/fastlane_core/lib/fastlane_core/swag.rb +85 -0
  487. data/fastlane_core/lib/fastlane_core/tag_version.rb +31 -0
  488. data/fastlane_core/lib/fastlane_core/test_parser.rb +107 -0
  489. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +26 -0
  490. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +19 -0
  491. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +11 -0
  492. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +25 -0
  493. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_exception.rb +19 -0
  494. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +11 -0
  495. data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
  496. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +342 -0
  497. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +62 -0
  498. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  499. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  500. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +175 -0
  501. data/fastlane_core/lib/fastlane_core/ui/interface.rb +205 -0
  502. data/fastlane_core/lib/fastlane_core/ui/ui.rb +26 -0
  503. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +37 -0
  504. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +109 -0
  505. data/fastlane_core/lib/fastlane_core.rb +48 -0
  506. data/frameit/README.md +17 -0
  507. data/frameit/lib/assets/empty.png +0 -0
  508. data/frameit/lib/frameit/commands_generator.rb +141 -0
  509. data/frameit/lib/frameit/config_parser.rb +136 -0
  510. data/frameit/lib/frameit/dependency_checker.rb +22 -0
  511. data/frameit/lib/frameit/device.rb +90 -0
  512. data/frameit/lib/frameit/device_types.rb +159 -0
  513. data/frameit/lib/frameit/editor.rb +558 -0
  514. data/frameit/lib/frameit/frame_downloader.rb +86 -0
  515. data/frameit/lib/frameit/mac_editor.rb +35 -0
  516. data/frameit/lib/frameit/module.rb +42 -0
  517. data/frameit/lib/frameit/offsets.rb +28 -0
  518. data/frameit/lib/frameit/options.rb +112 -0
  519. data/frameit/lib/frameit/runner.rb +97 -0
  520. data/frameit/lib/frameit/screenshot.rb +134 -0
  521. data/frameit/lib/frameit/strings_parser.rb +46 -0
  522. data/frameit/lib/frameit/template_finder.rb +45 -0
  523. data/frameit/lib/frameit/trim_box.rb +41 -0
  524. data/frameit/lib/frameit.rb +13 -0
  525. data/gym/README.md +17 -0
  526. data/gym/lib/assets/GymfileTemplate +13 -0
  527. data/gym/lib/assets/GymfileTemplate.swift +13 -0
  528. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +61 -0
  529. data/gym/lib/gym/code_signing_mapping.rb +210 -0
  530. data/gym/lib/gym/commands_generator.rb +79 -0
  531. data/gym/lib/gym/detect_values.rb +206 -0
  532. data/gym/lib/gym/error_handler.rb +314 -0
  533. data/gym/lib/gym/generators/README.md +1 -0
  534. data/gym/lib/gym/generators/build_command_generator.rb +197 -0
  535. data/gym/lib/gym/generators/package_command_generator.rb +72 -0
  536. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +238 -0
  537. data/gym/lib/gym/manager.rb +22 -0
  538. data/gym/lib/gym/module.rb +85 -0
  539. data/gym/lib/gym/options.rb +327 -0
  540. data/gym/lib/gym/runner.rb +376 -0
  541. data/gym/lib/gym/xcode.rb +27 -0
  542. data/gym/lib/gym/xcodebuild_fixes/README.md +9 -0
  543. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +35 -0
  544. data/gym/lib/gym.rb +9 -0
  545. data/match/README.md +17 -0
  546. data/match/lib/assets/MatchfileTemplate +11 -0
  547. data/match/lib/assets/MatchfileTemplate.swift +9 -0
  548. data/match/lib/assets/READMETemplate.md +59 -0
  549. data/match/lib/match/change_password.rb +49 -0
  550. data/match/lib/match/commands_generator.rb +189 -0
  551. data/match/lib/match/encryption/interface.rb +17 -0
  552. data/match/lib/match/encryption/openssl.rb +163 -0
  553. data/match/lib/match/encryption.rb +52 -0
  554. data/match/lib/match/generator.rb +124 -0
  555. data/match/lib/match/importer.rb +138 -0
  556. data/match/lib/match/migrate.rb +113 -0
  557. data/match/lib/match/module.rb +85 -0
  558. data/match/lib/match/nuke.rb +400 -0
  559. data/match/lib/match/options.rb +372 -0
  560. data/match/lib/match/runner.rb +452 -0
  561. data/match/lib/match/setup.rb +40 -0
  562. data/match/lib/match/spaceship_ensure.rb +103 -0
  563. data/match/lib/match/storage/git_storage.rb +262 -0
  564. data/match/lib/match/storage/gitlab/client.rb +128 -0
  565. data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
  566. data/match/lib/match/storage/gitlab_secure_files.rb +193 -0
  567. data/match/lib/match/storage/google_cloud_storage.rb +383 -0
  568. data/match/lib/match/storage/interface.rb +119 -0
  569. data/match/lib/match/storage/s3_storage.rb +211 -0
  570. data/match/lib/match/storage.rb +101 -0
  571. data/match/lib/match/table_printer.rb +52 -0
  572. data/match/lib/match/utils.rb +88 -0
  573. data/match/lib/match.rb +14 -0
  574. data/pem/README.md +17 -0
  575. data/pem/lib/pem/commands_generator.rb +48 -0
  576. data/pem/lib/pem/manager.rb +136 -0
  577. data/pem/lib/pem/module.rb +19 -0
  578. data/pem/lib/pem/options.rb +112 -0
  579. data/pem/lib/pem.rb +4 -0
  580. data/pilot/README.md +17 -0
  581. data/pilot/lib/pilot/build_manager.rb +602 -0
  582. data/pilot/lib/pilot/commands_generator.rb +175 -0
  583. data/pilot/lib/pilot/manager.rb +95 -0
  584. data/pilot/lib/pilot/module.rb +11 -0
  585. data/pilot/lib/pilot/options.rb +336 -0
  586. data/pilot/lib/pilot/tester_exporter.rb +57 -0
  587. data/pilot/lib/pilot/tester_importer.rb +53 -0
  588. data/pilot/lib/pilot/tester_manager.rb +167 -0
  589. data/pilot/lib/pilot.rb +8 -0
  590. data/precheck/README.md +17 -0
  591. data/precheck/lib/assets/PrecheckfileTemplate +27 -0
  592. data/precheck/lib/assets/PrecheckfileTemplate.swift +19 -0
  593. data/precheck/lib/precheck/commands_generator.rb +75 -0
  594. data/precheck/lib/precheck/item_to_check.rb +58 -0
  595. data/precheck/lib/precheck/module.rb +23 -0
  596. data/precheck/lib/precheck/options.rb +110 -0
  597. data/precheck/lib/precheck/rule.rb +171 -0
  598. data/precheck/lib/precheck/rule_check_result.rb +19 -0
  599. data/precheck/lib/precheck/rule_processor.rb +265 -0
  600. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +80 -0
  601. data/precheck/lib/precheck/rules/all.rb +1 -0
  602. data/precheck/lib/precheck/rules/copyright_date_rule.rb +37 -0
  603. data/precheck/lib/precheck/rules/curse_words_rule.rb +62 -0
  604. data/precheck/lib/precheck/rules/custom_text_rule.rb +35 -0
  605. data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +31 -0
  606. data/precheck/lib/precheck/rules/future_functionality_rule.rb +33 -0
  607. data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +37 -0
  608. data/precheck/lib/precheck/rules/other_platforms_rule.rb +43 -0
  609. data/precheck/lib/precheck/rules/placeholder_words_rule.rb +31 -0
  610. data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/en_us.txt +349 -0
  611. data/precheck/lib/precheck/rules/test_words_rule.rb +30 -0
  612. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +47 -0
  613. data/precheck/lib/precheck/runner.rb +202 -0
  614. data/precheck/lib/precheck.rb +3 -0
  615. data/produce/README.md +17 -0
  616. data/produce/lib/produce/available_default_languages.rb +51 -0
  617. data/produce/lib/produce/cloud_container.rb +82 -0
  618. data/produce/lib/produce/commands_generator.rb +337 -0
  619. data/produce/lib/produce/developer_center.rb +181 -0
  620. data/produce/lib/produce/group.rb +90 -0
  621. data/produce/lib/produce/itunes_connect.rb +139 -0
  622. data/produce/lib/produce/manager.rb +15 -0
  623. data/produce/lib/produce/merchant.rb +121 -0
  624. data/produce/lib/produce/module.rb +14 -0
  625. data/produce/lib/produce/options.rb +184 -0
  626. data/produce/lib/produce/service.rb +425 -0
  627. data/produce/lib/produce.rb +6 -0
  628. data/scan/README.md +17 -0
  629. data/scan/lib/assets/ScanfileTemplate +16 -0
  630. data/scan/lib/assets/ScanfileTemplate.swift +13 -0
  631. data/scan/lib/scan/commands_generator.rb +79 -0
  632. data/scan/lib/scan/detect_values.rb +255 -0
  633. data/scan/lib/scan/error_handler.rb +66 -0
  634. data/scan/lib/scan/manager.rb +38 -0
  635. data/scan/lib/scan/module.rb +37 -0
  636. data/scan/lib/scan/options.rb +546 -0
  637. data/scan/lib/scan/runner.rb +428 -0
  638. data/scan/lib/scan/slack_poster.rb +63 -0
  639. data/scan/lib/scan/test_command_generator.rb +262 -0
  640. data/scan/lib/scan/test_result_parser.rb +33 -0
  641. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +85 -0
  642. data/scan/lib/scan.rb +10 -0
  643. data/screengrab/README.md +17 -0
  644. data/screengrab/lib/assets/ScreengrabfileTemplate +15 -0
  645. data/screengrab/lib/assets/ScreengrabfileTemplate.swift +15 -0
  646. data/screengrab/lib/screengrab/android_environment.rb +43 -0
  647. data/screengrab/lib/screengrab/commands_generator.rb +71 -0
  648. data/screengrab/lib/screengrab/dependency_checker.rb +38 -0
  649. data/screengrab/lib/screengrab/detect_values.rb +16 -0
  650. data/screengrab/lib/screengrab/module.rb +26 -0
  651. data/screengrab/lib/screengrab/options.rb +151 -0
  652. data/screengrab/lib/screengrab/page.html.erb +190 -0
  653. data/screengrab/lib/screengrab/reports_generator.rb +36 -0
  654. data/screengrab/lib/screengrab/runner.rb +452 -0
  655. data/screengrab/lib/screengrab/setup.rb +24 -0
  656. data/screengrab/lib/screengrab.rb +7 -0
  657. data/sigh/README.md +17 -0
  658. data/sigh/lib/assets/resign.sh +932 -0
  659. data/sigh/lib/sigh/commands_generator.rb +155 -0
  660. data/sigh/lib/sigh/download_all.rb +120 -0
  661. data/sigh/lib/sigh/local_manage.rb +145 -0
  662. data/sigh/lib/sigh/manager.rb +47 -0
  663. data/sigh/lib/sigh/module.rb +44 -0
  664. data/sigh/lib/sigh/options.rb +199 -0
  665. data/sigh/lib/sigh/repair.rb +34 -0
  666. data/sigh/lib/sigh/resign.rb +220 -0
  667. data/sigh/lib/sigh/runner.rb +412 -0
  668. data/sigh/lib/sigh.rb +4 -0
  669. data/snapshot/README.md +17 -0
  670. data/snapshot/lib/assets/SnapfileTemplate +38 -0
  671. data/snapshot/lib/assets/SnapfileTemplate.swift +42 -0
  672. data/snapshot/lib/assets/SnapshotHelper.swift +313 -0
  673. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +172 -0
  674. data/snapshot/lib/snapshot/collector.rb +140 -0
  675. data/snapshot/lib/snapshot/commands_generator.rb +117 -0
  676. data/snapshot/lib/snapshot/dependency_checker.rb +69 -0
  677. data/snapshot/lib/snapshot/detect_values.rb +86 -0
  678. data/snapshot/lib/snapshot/error_handler.rb +24 -0
  679. data/snapshot/lib/snapshot/fixes/README.md +5 -0
  680. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +27 -0
  681. data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
  682. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +27 -0
  683. data/snapshot/lib/snapshot/latest_os_version.rb +31 -0
  684. data/snapshot/lib/snapshot/module.rb +44 -0
  685. data/snapshot/lib/snapshot/options.rb +326 -0
  686. data/snapshot/lib/snapshot/page.html.erb +285 -0
  687. data/snapshot/lib/snapshot/reports_generator.rb +195 -0
  688. data/snapshot/lib/snapshot/reset_simulators.rb +122 -0
  689. data/snapshot/lib/snapshot/runner.rb +146 -0
  690. data/snapshot/lib/snapshot/screenshot_flatten.rb +20 -0
  691. data/snapshot/lib/snapshot/screenshot_rotate.rb +36 -0
  692. data/snapshot/lib/snapshot/setup.rb +58 -0
  693. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +64 -0
  694. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +219 -0
  695. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +220 -0
  696. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +113 -0
  697. data/snapshot/lib/snapshot/test_command_generator.rb +157 -0
  698. data/snapshot/lib/snapshot/test_command_generator_base.rb +130 -0
  699. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +70 -0
  700. data/snapshot/lib/snapshot/update.rb +38 -0
  701. data/snapshot/lib/snapshot.rb +19 -0
  702. data/spaceship/README.md +173 -0
  703. data/spaceship/lib/assets/displayFamilies.json +181 -0
  704. data/spaceship/lib/assets/languageMapping.json +306 -0
  705. data/spaceship/lib/assets/languageMappingReadable.json +30 -0
  706. data/spaceship/lib/spaceship/base.rb +310 -0
  707. data/spaceship/lib/spaceship/client.rb +987 -0
  708. data/spaceship/lib/spaceship/commands_generator.rb +55 -0
  709. data/spaceship/lib/spaceship/connect_api/api_client.rb +375 -0
  710. data/spaceship/lib/spaceship/connect_api/client.rb +216 -0
  711. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +99 -0
  712. data/spaceship/lib/spaceship/connect_api/model.rb +172 -0
  713. data/spaceship/lib/spaceship/connect_api/models/actor.rb +26 -0
  714. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +147 -0
  715. data/spaceship/lib/spaceship/connect_api/models/app.rb +483 -0
  716. data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
  717. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  718. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  719. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  720. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  721. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  722. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  723. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +118 -0
  724. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +48 -0
  725. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +135 -0
  726. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +109 -0
  727. data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
  728. data/spaceship/lib/spaceship/connect_api/models/app_price_point.rb +26 -0
  729. data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
  730. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +189 -0
  731. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +176 -0
  732. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +73 -0
  733. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +53 -0
  734. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +242 -0
  735. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +115 -0
  736. data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +57 -0
  737. data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
  738. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +27 -0
  739. data/spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb +28 -0
  740. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb +32 -0
  741. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +27 -0
  742. data/spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb +20 -0
  743. data/spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb +24 -0
  744. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +77 -0
  745. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +69 -0
  746. data/spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb +18 -0
  747. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +63 -0
  748. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +44 -0
  749. data/spaceship/lib/spaceship/connect_api/models/build.rb +195 -0
  750. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +69 -0
  751. data/spaceship/lib/spaceship/connect_api/models/build_bundle.rb +68 -0
  752. data/spaceship/lib/spaceship/connect_api/models/build_bundle_file_sizes.rb +34 -0
  753. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +38 -0
  754. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +93 -0
  755. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +136 -0
  756. data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
  757. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +110 -0
  758. data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
  759. data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
  760. data/spaceship/lib/spaceship/connect_api/models/device.rb +133 -0
  761. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +43 -0
  762. data/spaceship/lib/spaceship/connect_api/models/pre_release_version.rb +20 -0
  763. data/spaceship/lib/spaceship/connect_api/models/profile.rb +112 -0
  764. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +27 -0
  765. data/spaceship/lib/spaceship/connect_api/models/resolution_center_message.rb +29 -0
  766. data/spaceship/lib/spaceship/connect_api/models/resolution_center_thread.rb +67 -0
  767. data/spaceship/lib/spaceship/connect_api/models/review_rejection.rb +19 -0
  768. data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +86 -0
  769. data/spaceship/lib/spaceship/connect_api/models/review_submission_item.rb +40 -0
  770. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +67 -0
  771. data/spaceship/lib/spaceship/connect_api/models/territory.rb +28 -0
  772. data/spaceship/lib/spaceship/connect_api/models/user.rb +110 -0
  773. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +86 -0
  774. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +92 -0
  775. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +270 -0
  776. data/spaceship/lib/spaceship/connect_api/response.rb +86 -0
  777. data/spaceship/lib/spaceship/connect_api/spaceship.rb +102 -0
  778. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +27 -0
  779. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +519 -0
  780. data/spaceship/lib/spaceship/connect_api/token.rb +120 -0
  781. data/spaceship/lib/spaceship/connect_api/token_refresh_middleware.rb +24 -0
  782. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +27 -0
  783. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +1278 -0
  784. data/spaceship/lib/spaceship/connect_api/users/client.rb +27 -0
  785. data/spaceship/lib/spaceship/connect_api/users/users.rb +169 -0
  786. data/spaceship/lib/spaceship/connect_api.rb +132 -0
  787. data/spaceship/lib/spaceship/du/du_client.rb +138 -0
  788. data/spaceship/lib/spaceship/du/upload_file.rb +58 -0
  789. data/spaceship/lib/spaceship/du/utilities.rb +99 -0
  790. data/spaceship/lib/spaceship/errors.rb +135 -0
  791. data/spaceship/lib/spaceship/globals.rb +21 -0
  792. data/spaceship/lib/spaceship/hashcash.rb +52 -0
  793. data/spaceship/lib/spaceship/helper/net_http_generic_request.rb +20 -0
  794. data/spaceship/lib/spaceship/helper/plist_middleware.rb +16 -0
  795. data/spaceship/lib/spaceship/helper/rels_middleware.rb +28 -0
  796. data/spaceship/lib/spaceship/launcher.rb +99 -0
  797. data/spaceship/lib/spaceship/module.rb +8 -0
  798. data/spaceship/lib/spaceship/playground.rb +75 -0
  799. data/spaceship/lib/spaceship/portal/app.rb +201 -0
  800. data/spaceship/lib/spaceship/portal/app_group.rb +73 -0
  801. data/spaceship/lib/spaceship/portal/app_service.rb +87 -0
  802. data/spaceship/lib/spaceship/portal/certificate.rb +366 -0
  803. data/spaceship/lib/spaceship/portal/cloud_container.rb +74 -0
  804. data/spaceship/lib/spaceship/portal/device.rb +191 -0
  805. data/spaceship/lib/spaceship/portal/invite.rb +53 -0
  806. data/spaceship/lib/spaceship/portal/key.rb +101 -0
  807. data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
  808. data/spaceship/lib/spaceship/portal/merchant.rb +86 -0
  809. data/spaceship/lib/spaceship/portal/passbook.rb +78 -0
  810. data/spaceship/lib/spaceship/portal/person.rb +62 -0
  811. data/spaceship/lib/spaceship/portal/persons.rb +67 -0
  812. data/spaceship/lib/spaceship/portal/portal.rb +17 -0
  813. data/spaceship/lib/spaceship/portal/portal_base.rb +16 -0
  814. data/spaceship/lib/spaceship/portal/portal_client.rb +862 -0
  815. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +559 -0
  816. data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +52 -0
  817. data/spaceship/lib/spaceship/portal/spaceship.rb +154 -0
  818. data/spaceship/lib/spaceship/portal/ui/select_team.rb +116 -0
  819. data/spaceship/lib/spaceship/portal/website_push.rb +88 -0
  820. data/spaceship/lib/spaceship/provider.rb +13 -0
  821. data/spaceship/lib/spaceship/spaceauth_runner.rb +97 -0
  822. data/spaceship/lib/spaceship/stats_middleware.rb +65 -0
  823. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +40 -0
  824. data/spaceship/lib/spaceship/test_flight/base.rb +39 -0
  825. data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +19 -0
  826. data/spaceship/lib/spaceship/test_flight/build.rb +242 -0
  827. data/spaceship/lib/spaceship/test_flight/build_trains.rb +50 -0
  828. data/spaceship/lib/spaceship/test_flight/client.rb +361 -0
  829. data/spaceship/lib/spaceship/test_flight/export_compliance.rb +12 -0
  830. data/spaceship/lib/spaceship/test_flight/group.rb +131 -0
  831. data/spaceship/lib/spaceship/test_flight/test_info.rb +56 -0
  832. data/spaceship/lib/spaceship/test_flight/tester.rb +136 -0
  833. data/spaceship/lib/spaceship/test_flight.rb +10 -0
  834. data/spaceship/lib/spaceship/tunes/app_analytics.rb +168 -0
  835. data/spaceship/lib/spaceship/tunes/app_details.rb +147 -0
  836. data/spaceship/lib/spaceship/tunes/app_image.rb +51 -0
  837. data/spaceship/lib/spaceship/tunes/app_ratings.rb +58 -0
  838. data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
  839. data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +49 -0
  840. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +12 -0
  841. data/spaceship/lib/spaceship/tunes/app_status.rb +63 -0
  842. data/spaceship/lib/spaceship/tunes/app_submission.rb +161 -0
  843. data/spaceship/lib/spaceship/tunes/app_trailer.rb +64 -0
  844. data/spaceship/lib/spaceship/tunes/app_version.rb +970 -0
  845. data/spaceship/lib/spaceship/tunes/app_version_common.rb +35 -0
  846. data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +28 -0
  847. data/spaceship/lib/spaceship/tunes/app_version_history.rb +52 -0
  848. data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +27 -0
  849. data/spaceship/lib/spaceship/tunes/app_version_ref.rb +15 -0
  850. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +27 -0
  851. data/spaceship/lib/spaceship/tunes/application.rb +453 -0
  852. data/spaceship/lib/spaceship/tunes/availability.rb +164 -0
  853. data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
  854. data/spaceship/lib/spaceship/tunes/b2b_user.rb +30 -0
  855. data/spaceship/lib/spaceship/tunes/build.rb +263 -0
  856. data/spaceship/lib/spaceship/tunes/build_details.rb +184 -0
  857. data/spaceship/lib/spaceship/tunes/build_train.rb +181 -0
  858. data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
  859. data/spaceship/lib/spaceship/tunes/device_type.rb +17 -0
  860. data/spaceship/lib/spaceship/tunes/display_family.rb +84 -0
  861. data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
  862. data/spaceship/lib/spaceship/tunes/iap.rb +168 -0
  863. data/spaceship/lib/spaceship/tunes/iap_detail.rb +264 -0
  864. data/spaceship/lib/spaceship/tunes/iap_families.rb +68 -0
  865. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +90 -0
  866. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +28 -0
  867. data/spaceship/lib/spaceship/tunes/iap_list.rb +76 -0
  868. data/spaceship/lib/spaceship/tunes/iap_status.rb +56 -0
  869. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
  870. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +25 -0
  871. data/spaceship/lib/spaceship/tunes/iap_type.rb +45 -0
  872. data/spaceship/lib/spaceship/tunes/language_converter.rb +65 -0
  873. data/spaceship/lib/spaceship/tunes/language_item.rb +61 -0
  874. data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
  875. data/spaceship/lib/spaceship/tunes/member.rb +84 -0
  876. data/spaceship/lib/spaceship/tunes/members.rb +35 -0
  877. data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
  878. data/spaceship/lib/spaceship/tunes/pricing_tier.rb +25 -0
  879. data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +74 -0
  880. data/spaceship/lib/spaceship/tunes/spaceship.rb +39 -0
  881. data/spaceship/lib/spaceship/tunes/territory.rb +39 -0
  882. data/spaceship/lib/spaceship/tunes/transit_app_file.rb +23 -0
  883. data/spaceship/lib/spaceship/tunes/tunes.rb +34 -0
  884. data/spaceship/lib/spaceship/tunes/tunes_base.rb +17 -0
  885. data/spaceship/lib/spaceship/tunes/tunes_client.rb +1705 -0
  886. data/spaceship/lib/spaceship/tunes/version_set.rb +26 -0
  887. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +380 -0
  888. data/spaceship/lib/spaceship/ui.rb +27 -0
  889. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  890. data/spaceship/lib/spaceship.rb +31 -0
  891. data/supply/README.md +17 -0
  892. data/supply/lib/supply/apk_listing.rb +14 -0
  893. data/supply/lib/supply/client.rb +646 -0
  894. data/supply/lib/supply/commands_generator.rb +68 -0
  895. data/supply/lib/supply/generated_universal_apk.rb +24 -0
  896. data/supply/lib/supply/image_listing.rb +15 -0
  897. data/supply/lib/supply/languages.rb +88 -0
  898. data/supply/lib/supply/listing.rb +32 -0
  899. data/supply/lib/supply/options.rb +349 -0
  900. data/supply/lib/supply/reader.rb +41 -0
  901. data/supply/lib/supply/release_listing.rb +18 -0
  902. data/supply/lib/supply/setup.rb +122 -0
  903. data/supply/lib/supply/uploader.rb +531 -0
  904. data/supply/lib/supply.rb +55 -0
  905. data/trainer/lib/assets/junit.xml.erb +28 -0
  906. data/trainer/lib/trainer/commands_generator.rb +51 -0
  907. data/trainer/lib/trainer/junit_generator.rb +31 -0
  908. data/trainer/lib/trainer/module.rb +10 -0
  909. data/trainer/lib/trainer/options.rb +66 -0
  910. data/trainer/lib/trainer/test_parser.rb +398 -0
  911. data/trainer/lib/trainer/xcresult.rb +403 -0
  912. data/trainer/lib/trainer.rb +7 -0
  913. metadata +1928 -0
@@ -0,0 +1,124 @@
1
+ require 'supply'
2
+ require 'supply/options'
3
+
4
+ module Fastlane
5
+ module Actions
6
+ class DownloadUniversalApkFromGooglePlayAction < Action
7
+ def self.run(params)
8
+ package_name = params[:package_name]
9
+ version_code = params[:version_code]
10
+ destination = params[:destination]
11
+ cert_sha = params[:certificate_sha256_hash]
12
+
13
+ client = Supply::Client.make_from_config(params: params)
14
+
15
+ UI.message("Fetching the list of generated APKs from the Google API...")
16
+ all_universal_apks = client.list_generated_universal_apks(package_name: package_name, version_code: version_code)
17
+ matching_apks = all_universal_apks.select { |apk| cert_sha.nil? || apk.certificate_sha256_hash&.casecmp?(cert_sha) }
18
+
19
+ all_certs_printable_list = all_universal_apks.map { |apk| " - #{apk.certificate_sha256_hash}" }
20
+ if matching_apks.count > 1
21
+ message = <<~ERROR
22
+ We found multiple Generated Universal APK, with the following `certificate_sha256_hash`:
23
+ #{all_certs_printable_list.join("\n")}
24
+
25
+ Use the `certificate_sha256_hash` parameter to specify which one to download.
26
+ ERROR
27
+ UI.user_error!(message)
28
+ elsif matching_apks.empty?
29
+ # NOTE: if no APK was found at all to begin with, the client would already have raised a user_error!('Google Api Error ...')
30
+ message = <<~ERROR
31
+ None of the Universal APK(s) found for this version code matched the `certificate_sha256_hash` of `#{cert_sha}`.
32
+
33
+ We found #{all_universal_apks.count} Generated Universal APK(s), but with a different `certificate_sha256_hash`:
34
+ #{all_certs_printable_list.join("\n")}
35
+ ERROR
36
+ UI.user_error!(message)
37
+ end
38
+
39
+ UI.message("Downloading Generated Universal APK to `#{destination}`...")
40
+ FileUtils.mkdir_p(File.dirname(destination))
41
+ client.download_generated_universal_apk(generated_universal_apk: matching_apks.first, destination: destination)
42
+
43
+ UI.success("Universal APK successfully downloaded to `#{destination}`.")
44
+ destination
45
+ end
46
+
47
+ #####################################################
48
+ # @!group Documentation
49
+ #####################################################
50
+
51
+ def self.description
52
+ "Download the Universal APK of a given version code from the Google Play Console"
53
+ end
54
+
55
+ def self.details
56
+ <<~DETAILS
57
+ Download the universal APK of a given version code from the Google Play Console.
58
+
59
+ This uses _fastlane_ `supply` (and the `AndroidPublisher` Google API) to download the Universal APK
60
+ generated by Google after you uploaded an `.aab` bundle to the Play Console.
61
+
62
+ See https://developers.google.com/android-publisher/api-ref/rest/v3/generatedapks/list
63
+ DETAILS
64
+ end
65
+
66
+ def self.available_options
67
+ # Only borrow _some_ of the ConfigItems from https://github.com/fastlane/fastlane/blob/master/supply/lib/supply/options.rb
68
+ # So we don't have to duplicate the name, env_var, type, description, and verify_block of those here.
69
+ supply_borrowed_options = Supply::Options.available_options.select do |o|
70
+ %i[package_name version_code json_key json_key_data root_url timeout].include?(o.key)
71
+ end
72
+ # Adjust the description for the :version_code ConfigItem for our action's use case
73
+ supply_borrowed_options.find { |o| o.key == :version_code }&.description = "The versionCode for which to download the generated APK"
74
+
75
+ [
76
+ *supply_borrowed_options,
77
+
78
+ # The remaining ConfigItems below are specific to this action
79
+ FastlaneCore::ConfigItem.new(key: :destination,
80
+ env_name: 'DOWNLOAD_UNIVERSAL_APK_DESTINATION',
81
+ optional: false,
82
+ type: String,
83
+ description: "The path on disk where to download the Generated Universal APK",
84
+ verify_block: proc do |value|
85
+ UI.user_error!("The 'destination' must be a file path with the `.apk` file extension") unless File.extname(value) == '.apk'
86
+ end),
87
+ FastlaneCore::ConfigItem.new(key: :certificate_sha256_hash,
88
+ env_name: 'DOWNLOAD_UNIVERSAL_APK_CERTIFICATE_SHA256_HASH',
89
+ optional: true,
90
+ type: String,
91
+ description: "The SHA256 hash of the signing key for which to download the Universal, Code-Signed APK for. " \
92
+ + "Use 'xx:xx:xx:…' format (32 hex bytes separated by colons), as printed by `keytool -list -keystore <keystorefile>`. " \
93
+ + "Only useful to provide if you have multiple signing keys configured on GPC, to specify which generated APK to download",
94
+ verify_block: proc do |value|
95
+ bytes = value.split(':')
96
+ next if bytes.length == 32 && bytes.all? { |byte| /^[0-9a-fA-F]{2}$/.match?(byte) }
97
+
98
+ UI.user_error!("When provided, the certificate sha256 must be in the 'xx:xx:xx:…:xx' (32 hex bytes separated by colons) format")
99
+ end)
100
+ ]
101
+ end
102
+
103
+ def self.output
104
+ # Define the shared values you are going to provide
105
+ end
106
+
107
+ def self.return_value
108
+ 'The path to the downloaded Universal APK. The action will raise an exception if it failed to find or download the APK in Google Play'
109
+ end
110
+
111
+ def self.authors
112
+ ['Automattic']
113
+ end
114
+
115
+ def self.category
116
+ :production
117
+ end
118
+
119
+ def self.is_supported?(platform)
120
+ platform == :android
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,93 @@
1
+ require 'plist'
2
+
3
+ module Fastlane
4
+ module Actions
5
+ module SharedValues
6
+ DSYM_ZIP_PATH = :DSYM_ZIP_PATH
7
+ end
8
+
9
+ class DsymZipAction < Action
10
+ def self.run(params)
11
+ archive = params[:archive_path]
12
+ params[:dsym_path] ||= File.join("#{File.basename(archive, '.*')}.app.dSYM.zip")
13
+
14
+ dsym_folder_path = File.expand_path(File.join(archive, 'dSYMs'))
15
+ zipped_dsym_path = File.expand_path(params[:dsym_path])
16
+
17
+ Actions.lane_context[SharedValues::DSYM_ZIP_PATH] = zipped_dsym_path
18
+
19
+ if params[:all]
20
+ Actions.sh(%(cd "#{dsym_folder_path}" && zip -r "#{zipped_dsym_path}" "#{dsym_folder_path}"/*.dSYM))
21
+ else
22
+ plist = Plist.parse_xml(File.join(archive, 'Info.plist'))
23
+ app_name = Helper.test? ? 'MyApp.app' : File.basename(plist['ApplicationProperties']['ApplicationPath'])
24
+ dsym_name = "#{app_name}.dSYM"
25
+ Actions.sh(%(cd "#{dsym_folder_path}" && zip -r "#{zipped_dsym_path}" "#{dsym_name}"))
26
+ end
27
+ end
28
+
29
+ #####################################################
30
+ # @!group Documentation
31
+ #####################################################
32
+
33
+ def self.is_supported?(platform)
34
+ [:ios, :mac].include?(platform)
35
+ end
36
+
37
+ def self.description
38
+ 'Creates a zipped dSYM in the project root from the .xcarchive'
39
+ end
40
+
41
+ def self.details
42
+ "You can manually specify the path to the xcarchive (not needed if you use `xcodebuild`/`xcarchive` to build your archive)"
43
+ end
44
+
45
+ def self.available_options
46
+ [
47
+ FastlaneCore::ConfigItem.new(key: :archive_path,
48
+ description: 'Path to your xcarchive file. Optional if you use the `xcodebuild` action',
49
+ default_value: Actions.lane_context[SharedValues::XCODEBUILD_ARCHIVE],
50
+ default_value_dynamic: true,
51
+ optional: true,
52
+ env_name: 'DSYM_ZIP_XCARCHIVE_PATH',
53
+ verify_block: proc do |value|
54
+ UI.user_error!("Couldn't find xcarchive file at path '#{value}'") if !Helper.test? && !File.exist?(value)
55
+ end),
56
+ FastlaneCore::ConfigItem.new(key: :dsym_path,
57
+ description: 'Path for generated dsym. Optional, default is your apps root directory',
58
+ optional: true,
59
+ env_name: 'DSYM_ZIP_DSYM_PATH'),
60
+ FastlaneCore::ConfigItem.new(key: :all,
61
+ description: 'Whether or not all dSYM files are to be included. Optional, default is false in which only your app dSYM is included',
62
+ default_value: false,
63
+ optional: true,
64
+ type: Boolean,
65
+ env_name: 'DSYM_ZIP_ALL')
66
+ ]
67
+ end
68
+
69
+ def self.output
70
+ [
71
+ ['DSYM_ZIP_PATH', 'The named of the zipped dSYM']
72
+ ]
73
+ end
74
+
75
+ def self.author
76
+ 'lmirosevic'
77
+ end
78
+
79
+ def self.example_code
80
+ [
81
+ 'dsym_zip',
82
+ 'dsym_zip(
83
+ archive_path: "MyApp.xcarchive"
84
+ )'
85
+ ]
86
+ end
87
+
88
+ def self.category
89
+ :misc
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,14 @@
1
+ module Fastlane
2
+ module Actions
3
+ require 'fastlane/actions/puts'
4
+ class EchoAction < PutsAction
5
+ #####################################################
6
+ # @!group Documentation
7
+ #####################################################
8
+
9
+ def self.description
10
+ "Alias for the `puts` action"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,59 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ end
5
+
6
+ # Raises an exception and stop the lane execution if not using bundle exec to run fastlane
7
+ class EnsureBundleExecAction < Action
8
+ def self.run(params)
9
+ return if PluginManager.new.gemfile_path.nil?
10
+ if FastlaneCore::Helper.bundler?
11
+ UI.success("Using bundled fastlane ✅")
12
+ else
13
+ UI.user_error!("fastlane detected a Gemfile in the current directory. However, it seems like you didn't use `bundle exec`. Use `bundle exec fastlane #{ARGV.join(' ')}` instead.")
14
+ end
15
+ end
16
+
17
+ #####################################################
18
+ # @!group Documentation
19
+ #####################################################
20
+
21
+ def self.description
22
+ "Raises an exception if not using `bundle exec` to run fastlane"
23
+ end
24
+
25
+ def self.details
26
+ [
27
+ "This action will check if you are using `bundle exec` to run fastlane.",
28
+ "You can put it into `before_all` to make sure that fastlane is ran using the `bundle exec fastlane` command."
29
+ ].join("\n")
30
+ end
31
+
32
+ def self.available_options
33
+ []
34
+ end
35
+
36
+ def self.output
37
+ []
38
+ end
39
+
40
+ def self.author
41
+ ['rishabhtayal']
42
+ end
43
+
44
+ def self.example_code
45
+ [
46
+ "ensure_bundle_exec"
47
+ ]
48
+ end
49
+
50
+ def self.category
51
+ :misc
52
+ end
53
+
54
+ def self.is_supported?(platform)
55
+ true
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,54 @@
1
+ module Fastlane
2
+ module Actions
3
+ class EnsureEnvVarsAction < Action
4
+ def self.run(params)
5
+ variables = params[:env_vars]
6
+ missing_variables = variables.select { |variable| ENV[variable].to_s.strip.empty? }
7
+
8
+ UI.user_error!("Missing environment variable(s) '#{missing_variables.join('\', \'')}'") unless missing_variables.empty?
9
+
10
+ is_one = variables.length == 1
11
+ UI.success("Environment variable#{is_one ? '' : 's'} '#{variables.join('\', \'')}' #{is_one ? 'is' : 'are'} set!")
12
+ end
13
+
14
+ def self.description
15
+ 'Raises an exception if the specified env vars are not set'
16
+ end
17
+
18
+ def self.details
19
+ 'This action will check if some environment variables are set.'
20
+ end
21
+
22
+ def self.available_options
23
+ [
24
+ FastlaneCore::ConfigItem.new(key: :env_vars,
25
+ description: 'The environment variables names that should be checked',
26
+ type: Array,
27
+ verify_block: proc do |value|
28
+ UI.user_error!('Specify at least one environment variable name') if value.empty?
29
+ end)
30
+ ]
31
+ end
32
+
33
+ def self.authors
34
+ ['revolter']
35
+ end
36
+
37
+ def self.example_code
38
+ [
39
+ 'ensure_env_vars(
40
+ env_vars: [\'GITHUB_USER_NAME\', \'GITHUB_API_TOKEN\']
41
+ )'
42
+ ]
43
+ end
44
+
45
+ def self.category
46
+ :misc
47
+ end
48
+
49
+ def self.is_supported?(platform)
50
+ true
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,68 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ end
5
+
6
+ # Raises an exception and stop the lane execution if the repo is not on a specific branch
7
+ class EnsureGitBranchAction < Action
8
+ def self.run(params)
9
+ branch = params[:branch]
10
+ branch_expr = /#{branch}/
11
+ if Actions.git_branch =~ branch_expr
12
+ UI.success("Git branch matches `#{branch}`, all good! 💪")
13
+ else
14
+ UI.user_error!("Git is not on a branch matching `#{branch}`. Current branch is `#{Actions.git_branch}`! Please ensure the repo is checked out to the correct branch.")
15
+ end
16
+ end
17
+
18
+ #####################################################
19
+ # @!group Documentation
20
+ #####################################################
21
+
22
+ def self.description
23
+ "Raises an exception if not on a specific git branch"
24
+ end
25
+
26
+ def self.details
27
+ [
28
+ "This action will check if your git repo is checked out to a specific branch.",
29
+ "You may only want to make releases from a specific branch, so `ensure_git_branch` will stop a lane if it was accidentally executed on an incorrect branch."
30
+ ].join("\n")
31
+ end
32
+
33
+ def self.available_options
34
+ [
35
+ FastlaneCore::ConfigItem.new(key: :branch,
36
+ env_name: "FL_ENSURE_GIT_BRANCH_NAME",
37
+ description: "The branch that should be checked for. String that can be either the full name of the branch or a regex e.g. `^feature\/.*$` to match",
38
+ default_value: 'master')
39
+ ]
40
+ end
41
+
42
+ def self.output
43
+ []
44
+ end
45
+
46
+ def self.author
47
+ ['dbachrach', 'Liquidsoul']
48
+ end
49
+
50
+ def self.example_code
51
+ [
52
+ "ensure_git_branch # defaults to `master` branch",
53
+ "ensure_git_branch(
54
+ branch: 'develop'
55
+ )"
56
+ ]
57
+ end
58
+
59
+ def self.category
60
+ :source_control
61
+ end
62
+
63
+ def self.is_supported?(platform)
64
+ true
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,130 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ GIT_REPO_WAS_CLEAN_ON_START = :GIT_REPO_WAS_CLEAN_ON_START
5
+ end
6
+
7
+ # Raises an exception and stop the lane execution if the repo is not in a clean state
8
+ class EnsureGitStatusCleanAction < Action
9
+ def self.run(params)
10
+ # Build command
11
+ if params[:ignored]
12
+ ignored_mode = params[:ignored]
13
+ ignored_mode = 'no' if ignored_mode == 'none'
14
+ command = "git status --porcelain --ignored='#{ignored_mode}'"
15
+ else
16
+ command = "git status --porcelain"
17
+ end
18
+
19
+ # Don't log if manually ignoring files as it will emulate output later
20
+ print_output = params[:ignore_files].nil?
21
+ repo_status = Actions.sh(command, log: print_output)
22
+
23
+ # Manual post processing trying to ignore certain file paths
24
+ if (ignore_files = params[:ignore_files])
25
+ repo_status = repo_status.lines.reject do |line|
26
+ path = line.split(' ').last
27
+ was_found = ignore_files.include?(path)
28
+
29
+ UI.message("Ignoring '#{path}'") if was_found
30
+
31
+ was_found
32
+ end.join("")
33
+
34
+ # Emulate the output format of `git status --porcelain`
35
+ UI.command(command)
36
+ repo_status.lines.each do |line|
37
+ UI.message("▸ " + line.chomp.magenta)
38
+ end
39
+ end
40
+
41
+ repo_clean = repo_status.empty?
42
+
43
+ if repo_clean
44
+ UI.success('Git status is clean, all good! 💪')
45
+ Actions.lane_context[SharedValues::GIT_REPO_WAS_CLEAN_ON_START] = true
46
+ else
47
+ error_message = "Git repository is dirty! Please ensure the repo is in a clean state by committing/stashing/discarding all changes first."
48
+ error_message += "\nUncommitted changes:\n#{repo_status}" if params[:show_uncommitted_changes]
49
+ if params[:show_diff]
50
+ repo_diff = Actions.sh("git diff")
51
+ error_message += "\nGit diff: \n#{repo_diff}"
52
+ end
53
+ UI.user_error!(error_message)
54
+ end
55
+ end
56
+
57
+ def self.description
58
+ "Raises an exception if there are uncommitted git changes"
59
+ end
60
+
61
+ def self.details
62
+ [
63
+ "A sanity check to make sure you are working in a repo that is clean.",
64
+ "Especially useful to put at the beginning of your Fastfile in the `before_all` block, if some of your other actions will touch your filesystem, do things to your git repo, or just as a general reminder to save your work.",
65
+ "Also needed as a prerequisite for some other actions like `reset_git_repo`."
66
+ ].join("\n")
67
+ end
68
+
69
+ def self.output
70
+ [
71
+ ['GIT_REPO_WAS_CLEAN_ON_START', 'Stores the fact that the git repo was clean at some point']
72
+ ]
73
+ end
74
+
75
+ def self.author
76
+ ["lmirosevic", "antondomashnev"]
77
+ end
78
+
79
+ def self.example_code
80
+ [
81
+ 'ensure_git_status_clean'
82
+ ]
83
+ end
84
+
85
+ def self.available_options
86
+ [
87
+ FastlaneCore::ConfigItem.new(key: :show_uncommitted_changes,
88
+ env_name: "FL_ENSURE_GIT_STATUS_CLEAN_SHOW_UNCOMMITTED_CHANGES",
89
+ description: "The flag whether to show uncommitted changes if the repo is dirty",
90
+ optional: true,
91
+ default_value: false,
92
+ type: Boolean),
93
+ FastlaneCore::ConfigItem.new(key: :show_diff,
94
+ env_name: "FL_ENSURE_GIT_STATUS_CLEAN_SHOW_DIFF",
95
+ description: "The flag whether to show the git diff if the repo is dirty",
96
+ optional: true,
97
+ default_value: false,
98
+ type: Boolean),
99
+ FastlaneCore::ConfigItem.new(key: :ignored,
100
+ env_name: "FL_ENSURE_GIT_STATUS_CLEAN_IGNORED_FILE",
101
+ description: [
102
+ "The handling mode of the ignored files. The available options are: `'traditional'`, `'none'` (default) and `'matching'`.",
103
+ "Specifying `'none'` to this parameter is the same as not specifying the parameter at all, which means that no ignored file will be used to check if the repo is dirty or not.",
104
+ "Specifying `'traditional'` or `'matching'` causes some ignored files to be used to check if the repo is dirty or not (more info in the official docs: https://git-scm.com/docs/git-status#Documentation/git-status.txt---ignoredltmodegt)"
105
+ ].join(" "),
106
+ optional: true,
107
+ verify_block: proc do |value|
108
+ mode = value.to_s
109
+ modes = %w(traditional none matching)
110
+
111
+ UI.user_error!("Unsupported mode, must be: #{modes}") unless modes.include?(mode)
112
+ end),
113
+ FastlaneCore::ConfigItem.new(key: :ignore_files,
114
+ env_name: "FL_ENSURE_GIT_STATUS_CLEAN_IGNORE_FILES",
115
+ description: "Array of files to ignore",
116
+ optional: true,
117
+ type: Array)
118
+ ]
119
+ end
120
+
121
+ def self.category
122
+ :source_control
123
+ end
124
+
125
+ def self.is_supported?(platform)
126
+ true
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,133 @@
1
+ module Fastlane
2
+ module Actions
3
+ class EnsureNoDebugCodeAction < Action
4
+ def self.run(params)
5
+ command = "grep -RE '#{params[:text]}' '#{File.absolute_path(params[:path])}'"
6
+
7
+ extensions = []
8
+ extensions << params[:extension] unless params[:extension].nil?
9
+
10
+ if params[:extensions]
11
+ params[:extensions].each do |extension|
12
+ extension.delete!('.') if extension.include?(".")
13
+ extensions << extension
14
+ end
15
+ end
16
+
17
+ if extensions.count > 1
18
+ command << " --include=\\*.{#{extensions.join(',')}}"
19
+ elsif extensions.count > 0
20
+ command << " --include=\\*.#{extensions.join(',')}"
21
+ end
22
+
23
+ command << " --exclude #{params[:exclude]}" if params[:exclude]
24
+
25
+ if params[:exclude_dirs]
26
+ params[:exclude_dirs].each do |dir|
27
+ command << " --exclude-dir #{dir.shellescape}"
28
+ end
29
+ end
30
+
31
+ return command if Helper.test?
32
+
33
+ UI.important(command)
34
+ results = `#{command}` # we don't use `sh` as the return code of grep is wrong for some reason
35
+
36
+ # Example Output
37
+ # ./fastlane.gemspec: spec.add_development_dependency 'my_word'
38
+ # ./Gemfile.lock: my_word (0.10.1)
39
+
40
+ found = []
41
+ results.split("\n").each do |current_raw|
42
+ found << current_raw.strip
43
+ end
44
+
45
+ UI.user_error!("Found debug code '#{params[:text]}': \n\n#{found.join("\n")}") if found.count > 0
46
+ UI.message("No debug code found in code base 🐛")
47
+ end
48
+
49
+ #####################################################
50
+ # @!group Documentation
51
+ #####################################################
52
+
53
+ def self.description
54
+ "Ensures the given text is nowhere in the code base"
55
+ end
56
+
57
+ def self.details
58
+ [
59
+ "You don't want any debug code to slip into production.",
60
+ "This can be used to check if there is any debug code still in your codebase or if you have things like `// TO DO` or similar."
61
+ ].join("\n")
62
+ end
63
+
64
+ def self.available_options
65
+ [
66
+ FastlaneCore::ConfigItem.new(key: :text,
67
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_TEXT",
68
+ description: "The text that must not be in the code base"),
69
+ FastlaneCore::ConfigItem.new(key: :path,
70
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_PATH",
71
+ description: "The directory containing all the source files",
72
+ default_value: ".",
73
+ verify_block: proc do |value|
74
+ UI.user_error!("Couldn't find the folder at '#{File.absolute_path(value)}'") unless File.directory?(value)
75
+ end),
76
+ FastlaneCore::ConfigItem.new(key: :extension,
77
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_EXTENSION",
78
+ description: "The extension that should be searched for",
79
+ optional: true,
80
+ verify_block: proc do |value|
81
+ value.delete!('.') if value.include?(".")
82
+ end),
83
+ FastlaneCore::ConfigItem.new(key: :extensions,
84
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_EXTENSIONS",
85
+ description: "An array of file extensions that should be searched for",
86
+ optional: true,
87
+ type: Array),
88
+ FastlaneCore::ConfigItem.new(key: :exclude,
89
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_EXCLUDE",
90
+ description: "Exclude a certain pattern from the search",
91
+ optional: true),
92
+ FastlaneCore::ConfigItem.new(key: :exclude_dirs,
93
+ env_name: "FL_ENSURE_NO_DEBUG_CODE_EXCLUDE_DIRS",
94
+ description: "An array of dirs that should not be included in the search",
95
+ optional: true,
96
+ type: Array)
97
+ ]
98
+ end
99
+
100
+ def self.output
101
+ []
102
+ end
103
+
104
+ def self.authors
105
+ ["KrauseFx"]
106
+ end
107
+
108
+ def self.example_code
109
+ [
110
+ 'ensure_no_debug_code(text: "// TODO")',
111
+ 'ensure_no_debug_code(text: "Log.v",
112
+ extension: "java")',
113
+ 'ensure_no_debug_code(text: "NSLog",
114
+ path: "./lib",
115
+ extension: "m")',
116
+ 'ensure_no_debug_code(text: "(^#define DEBUG|NSLog)",
117
+ path: "./lib",
118
+ extension: "m")',
119
+ 'ensure_no_debug_code(text: "<<<<<<",
120
+ extensions: ["m", "swift", "java"])'
121
+ ]
122
+ end
123
+
124
+ def self.category
125
+ :misc
126
+ end
127
+
128
+ def self.is_supported?(platform)
129
+ true
130
+ end
131
+ end
132
+ end
133
+ end