fastlane 2.178.0 → 2.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +97 -84
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +1 -0
  6. data/cert/lib/cert/runner.rb +4 -0
  7. data/deliver/lib/deliver/commands_generator.rb +2 -1
  8. data/deliver/lib/deliver/download_screenshots.rb +1 -2
  9. data/deliver/lib/deliver/languages.rb +1 -1
  10. data/deliver/lib/deliver/options.rb +3 -2
  11. data/deliver/lib/deliver/runner.rb +4 -0
  12. data/deliver/lib/deliver/setup.rb +0 -1
  13. data/deliver/lib/deliver/upload_metadata.rb +2 -1
  14. data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
  15. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +5 -0
  16. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +3 -3
  17. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
  19. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +4 -0
  20. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  21. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  22. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +18 -1
  23. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  24. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  25. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +4 -0
  26. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  27. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  28. data/fastlane/lib/fastlane/actions/git_commit.rb +3 -1
  29. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  30. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  31. data/fastlane/lib/fastlane/actions/import_from_git.rb +5 -5
  32. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  33. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  34. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -0
  35. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  36. data/fastlane/lib/fastlane/actions/notarize.rb +98 -51
  37. data/fastlane/lib/fastlane/actions/slack.rb +155 -133
  38. data/fastlane/lib/fastlane/actions/sourcedocs.rb +164 -0
  39. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -2
  41. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -2
  42. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  43. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  44. data/fastlane/lib/fastlane/fast_file.rb +10 -2
  45. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  46. data/fastlane/lib/fastlane/helper/git_helper.rb +19 -7
  47. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  48. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  49. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  50. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  51. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  52. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -2
  53. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  54. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
  55. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  56. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  57. data/fastlane/lib/fastlane/swift_fastlane_function.rb +39 -14
  58. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  59. data/fastlane/lib/fastlane/version.rb +2 -2
  60. data/fastlane/swift/Deliverfile.swift +1 -1
  61. data/fastlane/swift/DeliverfileProtocol.swift +3 -3
  62. data/fastlane/swift/Fastlane.swift +6852 -3824
  63. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  64. data/fastlane/swift/Gymfile.swift +1 -1
  65. data/fastlane/swift/GymfileProtocol.swift +1 -1
  66. data/fastlane/swift/LaneFileProtocol.swift +9 -3
  67. data/fastlane/swift/Matchfile.swift +1 -1
  68. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  69. data/fastlane/swift/OptionalConfigValue.swift +131 -0
  70. data/fastlane/swift/Precheckfile.swift +1 -1
  71. data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
  72. data/fastlane/swift/RubyCommand.swift +1 -1
  73. data/fastlane/swift/Scanfile.swift +1 -1
  74. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  75. data/fastlane/swift/Screengrabfile.swift +1 -1
  76. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  77. data/fastlane/swift/Snapshotfile.swift +1 -1
  78. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  79. data/fastlane/swift/SocketClient.swift +2 -1
  80. data/fastlane/swift/SocketResponse.swift +4 -2
  81. data/fastlane/swift/formatting/Brewfile.lock.json +18 -16
  82. data/fastlane/swift/upgrade_manifest.json +1 -1
  83. data/fastlane_core/lib/fastlane_core.rb +22 -21
  84. data/fastlane_core/lib/fastlane_core/build_watcher.rb +50 -9
  85. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  86. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
  87. data/fastlane_core/lib/fastlane_core/helper.rb +28 -5
  88. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  89. data/fastlane_core/lib/fastlane_core/queue_worker.rb +2 -2
  90. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  91. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  92. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  93. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +12 -1
  94. data/frameit/lib/frameit/commands_generator.rb +2 -1
  95. data/gym/lib/gym/commands_generator.rb +2 -1
  96. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  97. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +13 -8
  98. data/gym/lib/gym/runner.rb +15 -4
  99. data/match/lib/match/change_password.rb +3 -3
  100. data/match/lib/match/commands_generator.rb +2 -1
  101. data/match/lib/match/encryption/interface.rb +1 -1
  102. data/match/lib/match/encryption/openssl.rb +2 -2
  103. data/match/lib/match/module.rb +1 -0
  104. data/pem/lib/pem/commands_generator.rb +2 -1
  105. data/pilot/lib/pilot/commands_generator.rb +2 -1
  106. data/pilot/lib/pilot/manager.rb +4 -0
  107. data/pilot/lib/pilot/options.rb +3 -2
  108. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  109. data/pilot/lib/pilot/tester_manager.rb +0 -1
  110. data/precheck/lib/precheck/commands_generator.rb +2 -1
  111. data/precheck/lib/precheck/options.rb +1 -0
  112. data/precheck/lib/precheck/runner.rb +4 -0
  113. data/produce/lib/produce/commands_generator.rb +2 -1
  114. data/scan/lib/scan/commands_generator.rb +2 -1
  115. data/scan/lib/scan/options.rb +10 -5
  116. data/scan/lib/scan/runner.rb +54 -1
  117. data/scan/lib/scan/test_command_generator.rb +10 -8
  118. data/screengrab/lib/screengrab/android_environment.rb +6 -4
  119. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  120. data/screengrab/lib/screengrab/runner.rb +1 -1
  121. data/sigh/lib/sigh/commands_generator.rb +2 -1
  122. data/sigh/lib/sigh/options.rb +1 -0
  123. data/sigh/lib/sigh/runner.rb +4 -0
  124. data/snapshot/lib/assets/SnapfileTemplate +1 -1
  125. data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
  126. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  127. data/snapshot/lib/snapshot/options.rb +5 -0
  128. data/snapshot/lib/snapshot/reports_generator.rb +4 -0
  129. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  130. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  131. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +8 -4
  132. data/spaceship/README.md +2 -12
  133. data/spaceship/lib/spaceship/base.rb +2 -2
  134. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  135. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
  136. data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
  137. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +6 -2
  138. data/spaceship/lib/spaceship/connect_api/token.rb +7 -1
  139. data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -9
  140. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  141. data/spaceship/lib/spaceship/ui.rb +2 -2
  142. data/supply/lib/supply/client.rb +3 -1
  143. data/supply/lib/supply/commands_generator.rb +2 -1
  144. data/supply/lib/supply/options.rb +2 -2
  145. data/supply/lib/supply/uploader.rb +1 -0
  146. metadata +53 -64
  147. data/gym/lib/gym/.runner.rb.swp +0 -0
  148. data/pilot/lib/pilot/tester_util.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d8f29ce571c194cdd4205a68d2c3499decca2d3d2fd397105e24e327f1b401a
4
- data.tar.gz: 225123cb025970e86271c379fed40d6af294adbd5f50ae6047c96311682116e9
3
+ metadata.gz: a070315dda69108ca90681daef2a7faf462b82dbad765141469131cb851599e8
4
+ data.tar.gz: 1022b14bee49abce8a9b30bbdaa1b20a294ced05cc41fb8760a02d4c0f8f18e7
5
5
  SHA512:
6
- metadata.gz: 2cf3f576b4433b77b6a86edc9cf92fb615e38e2aaaf0090e247f4df3bcdd9233f177cc2ecc26bffa564cf970812a14e14c3e2376f03b41986237708b74c72a21
7
- data.tar.gz: efe5b450ad7177392e05457915f54a54fc5afcd9c500c87c4a8f9bcaeaa1fbbb7f3fbf7ed2024dfec508afe3b25c272f5280fe6619bec205fbbd821bec24fa0e
6
+ metadata.gz: e58537c12bc248c3f7e657e0e40a3ca7976581902d73ce6618b5378b77d7cf6c98ca8c8007714b5d7a752be868f04f916ff81dba31e1647d82b56608b088e2de
7
+ data.tar.gz: b81b9773dda36d9db4423d19d94782e8c32d32b5bd4bab4a53dd06f9f4acc4b5c0e1cb2933fc4dd8d5d564e6e2d744bdd26906dd5366be6d89ce16cf4df101d6
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2020 The Fastlane Authors
3
+ Copyright (c) 2015-2021 The Fastlane Authors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  [![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
8
8
  [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/LICENSE)
9
9
  [![Gem](https://img.shields.io/gem/v/fastlane.svg?style=flat)](https://rubygems.org/gems/fastlane)
10
+ [![Homebrew](https://img.shields.io/badge/dynamic/json.svg?url=https://formulae.brew.sh/api/formula/fastlane.json&query=$.versions.stable&label=homebrew)](https://formulae.brew.sh/formula/fastlane)
10
11
  [![Build Status](https://img.shields.io/circleci/project/github/fastlane/fastlane/master.svg)](https://circleci.com/gh/fastlane/fastlane)
11
12
  [![PRs welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/fastlane/fastlane/blob/master/CONTRIBUTING.md)
12
13
 
@@ -34,49 +35,93 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
35
  <!-- This table is regenerated and resorted on each release -->
35
36
  <table id='team'>
36
37
  <tr>
37
- <td id='kohki-miki'>
38
- <a href='https://github.com/giginet'>
39
- <img src='https://github.com/giginet.png?size=140'>
38
+ <td id='daniel-jankowski'>
39
+ <a href='https://github.com/mollyIV'>
40
+ <img src='https://github.com/mollyIV.png?size=140'>
40
41
  </a>
41
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
42
43
  </td>
43
- <td id='joshua-liebowitz'>
44
- <a href='https://github.com/taquitos'>
45
- <img src='https://github.com/taquitos.png?size=140'>
44
+ <td id='danielle-tomlinson'>
45
+ <a href='https://github.com/endocrimes'>
46
+ <img src='https://github.com/endocrimes.png?size=140'>
46
47
  </a>
47
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
49
+ </td>
50
+ <td id='iulian-onofrei'>
51
+ <a href='https://github.com/revolter'>
52
+ <img src='https://github.com/revolter.png?size=140'>
53
+ </a>
54
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
55
+ </td>
56
+ <td id='satoshi-namai'>
57
+ <a href='https://github.com/ainame'>
58
+ <img src='https://github.com/ainame.png?size=140'>
59
+ </a>
60
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
48
61
  </td>
62
+ <td id='felix-krause'>
63
+ <a href='https://github.com/KrauseFx'>
64
+ <img src='https://github.com/KrauseFx.png?size=140'>
65
+ </a>
66
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
67
+ </td>
68
+ </tr>
69
+ <tr>
49
70
  <td id='jimmy-dee'>
50
71
  <a href='https://github.com/jdee'>
51
72
  <img src='https://github.com/jdee.png?size=140'>
52
73
  </a>
53
74
  <h4 align='center'>Jimmy Dee</h4>
54
75
  </td>
55
- <td id='jan-piotrowski'>
56
- <a href='https://github.com/janpio'>
57
- <img src='https://github.com/janpio.png?size=140'>
76
+ <td id='manu-wallner'>
77
+ <a href='https://github.com/milch'>
78
+ <img src='https://github.com/milch.png?size=140'>
58
79
  </a>
59
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
81
+ </td>
82
+ <td id='andrew-mcburney'>
83
+ <a href='https://github.com/armcburney'>
84
+ <img src='https://github.com/armcburney.png?size=140'>
85
+ </a>
86
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
60
87
  </td>
88
+ <td id='kohki-miki'>
89
+ <a href='https://github.com/giginet'>
90
+ <img src='https://github.com/giginet.png?size=140'>
91
+ </a>
92
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
93
+ </td>
94
+ <td id='roger-oba'>
95
+ <a href='https://github.com/rogerluan'>
96
+ <img src='https://github.com/rogerluan.png?size=140'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
99
+ </td>
100
+ </tr>
101
+ <tr>
61
102
  <td id='jérôme-lacoste'>
62
103
  <a href='https://github.com/lacostej'>
63
104
  <img src='https://github.com/lacostej.png?size=140'>
64
105
  </a>
65
106
  <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
66
107
  </td>
67
- </tr>
68
- <tr>
69
- <td id='josh-holtz'>
70
- <a href='https://github.com/joshdholtz'>
71
- <img src='https://github.com/joshdholtz.png?size=140'>
108
+ <td id='luka-mirosevic'>
109
+ <a href='https://github.com/lmirosevic'>
110
+ <img src='https://github.com/lmirosevic.png?size=140'>
72
111
  </a>
73
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
74
113
  </td>
75
- <td id='danielle-tomlinson'>
76
- <a href='https://github.com/endocrimes'>
77
- <img src='https://github.com/endocrimes.png?size=140'>
114
+ <td id='fumiya-nakamura'>
115
+ <a href='https://github.com/nafu'>
116
+ <img src='https://github.com/nafu.png?size=140'>
78
117
  </a>
79
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
119
+ </td>
120
+ <td id='aaron-brager'>
121
+ <a href='https://github.com/getaaron'>
122
+ <img src='https://github.com/getaaron.png?size=140'>
123
+ </a>
124
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
80
125
  </td>
81
126
  <td id='matthew-ellis'>
82
127
  <a href='https://github.com/matthewellis'>
@@ -84,25 +129,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
84
129
  </a>
85
130
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
86
131
  </td>
87
- <td id='max-ott'>
88
- <a href='https://github.com/max-ott'>
89
- <img src='https://github.com/max-ott.png?size=140'>
90
- </a>
91
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
92
- </td>
93
- <td id='manu-wallner'>
94
- <a href='https://github.com/milch'>
95
- <img src='https://github.com/milch.png?size=140'>
96
- </a>
97
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
98
- </td>
99
132
  </tr>
100
133
  <tr>
101
- <td id='luka-mirosevic'>
102
- <a href='https://github.com/lmirosevic'>
103
- <img src='https://github.com/lmirosevic.png?size=140'>
134
+ <td id='jan-piotrowski'>
135
+ <a href='https://github.com/janpio'>
136
+ <img src='https://github.com/janpio.png?size=140'>
104
137
  </a>
105
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
139
+ </td>
140
+ <td id='josh-holtz'>
141
+ <a href='https://github.com/joshdholtz'>
142
+ <img src='https://github.com/joshdholtz.png?size=140'>
143
+ </a>
144
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
106
145
  </td>
107
146
  <td id='stefan-natchev'>
108
147
  <a href='https://github.com/snatchev'>
@@ -110,17 +149,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
110
149
  </a>
111
150
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
112
151
  </td>
152
+ <td id='max-ott'>
153
+ <a href='https://github.com/max-ott'>
154
+ <img src='https://github.com/max-ott.png?size=140'>
155
+ </a>
156
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
157
+ </td>
113
158
  <td id='maksym-grebenets'>
114
159
  <a href='https://github.com/mgrebenets'>
115
160
  <img src='https://github.com/mgrebenets.png?size=140'>
116
161
  </a>
117
162
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
118
163
  </td>
119
- <td id='felix-krause'>
120
- <a href='https://github.com/KrauseFx'>
121
- <img src='https://github.com/KrauseFx.png?size=140'>
164
+ </tr>
165
+ <tr>
166
+ <td id='joshua-liebowitz'>
167
+ <a href='https://github.com/taquitos'>
168
+ <img src='https://github.com/taquitos.png?size=140'>
122
169
  </a>
123
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
124
171
  </td>
125
172
  <td id='helmut-januschka'>
126
173
  <a href='https://github.com/hjanuschka'>
@@ -128,51 +175,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
128
175
  </a>
129
176
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
130
177
  </td>
131
- </tr>
132
- <tr>
133
- <td id='aaron-brager'>
134
- <a href='https://github.com/getaaron'>
135
- <img src='https://github.com/getaaron.png?size=140'>
136
- </a>
137
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
138
- </td>
139
- <td id='andrew-mcburney'>
140
- <a href='https://github.com/armcburney'>
141
- <img src='https://github.com/armcburney.png?size=140'>
142
- </a>
143
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
144
- </td>
145
- <td id='iulian-onofrei'>
146
- <a href='https://github.com/revolter'>
147
- <img src='https://github.com/revolter.png?size=140'>
148
- </a>
149
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
- </td>
151
- <td id='jorge-revuelta-h'>
152
- <a href='https://github.com/minuscorp'>
153
- <img src='https://github.com/minuscorp.png?size=140'>
154
- </a>
155
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
156
- </td>
157
178
  <td id='olivier-halligon'>
158
179
  <a href='https://github.com/AliSoftware'>
159
180
  <img src='https://github.com/AliSoftware.png?size=140'>
160
181
  </a>
161
182
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
162
183
  </td>
163
- </tr>
164
- <tr>
165
- <td id='daniel-jankowski'>
166
- <a href='https://github.com/mollyIV'>
167
- <img src='https://github.com/mollyIV.png?size=140'>
168
- </a>
169
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
170
- </td>
171
- <td id='fumiya-nakamura'>
172
- <a href='https://github.com/nafu'>
173
- <img src='https://github.com/nafu.png?size=140'>
184
+ <td id='jorge-revuelta-h'>
185
+ <a href='https://github.com/minuscorp'>
186
+ <img src='https://github.com/minuscorp.png?size=140'>
174
187
  </a>
175
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
176
189
  </td>
177
190
  </table>
178
191
 
@@ -187,12 +200,12 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help
187
200
  Help us keep _fastlane_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
188
201
 
189
202
  ## Metrics
190
-
191
- _fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
192
-
203
+
204
+ _fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
205
+
193
206
  * The number of _fastlane_ runs
194
207
  * A salted hash of the app identifier or package name, which helps us anonymously identify unique usage of _fastlane_
195
-
208
+
196
209
  You can easily opt-out of metrics collection by adding `opt_out_usage` at the top of your `Fastfile` or by setting the environment variable `FASTLANE_OPT_OUT_USAGE`. [Check out the metrics code on GitHub](https://github.com/fastlane/fastlane/tree/master/fastlane_core/lib/fastlane_core/analytics)
197
210
 
198
211
  ## License
@@ -1,5 +1,6 @@
1
1
  require 'commander'
2
2
  require 'fastlane/version'
3
+ require 'fastlane_core/ui/help_formatter'
3
4
  require 'fastlane_core/configuration/configuration'
4
5
  require 'fastlane_core/globals'
5
6
 
@@ -23,7 +24,7 @@ module Cert
23
24
  program :help, 'Author', 'Felix Krause <cert@krausefx.com>'
24
25
  program :help, 'Website', 'https://fastlane.tools'
25
26
  program :help, 'Documentation', 'https://docs.fastlane.tools/actions/cert/'
26
- program :help_formatter, :compact
27
+ program :help_formatter, FastlaneCore::HelpFormatter
27
28
 
28
29
  global_option('--verbose') { FastlaneCore::Globals.verbose = true }
29
30
  global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
@@ -58,6 +58,7 @@ module Cert
58
58
  short_option: "-u",
59
59
  env_name: "CERT_USERNAME",
60
60
  description: "Your Apple ID Username",
61
+ optional: true,
61
62
  default_value: user,
62
63
  default_value_dynamic: true),
63
64
  FastlaneCore::ConfigItem.new(key: :team_id,
@@ -24,6 +24,10 @@ module Cert
24
24
  UI.message("Creating authorization token for App Store Connect API")
25
25
  Spaceship::ConnectAPI.token = api_token
26
26
  else
27
+ # Username is now optional since addition of App Store Connect API Key
28
+ # Force asking for username to prompt user if not already set
29
+ Cert.config.fetch(:username, force_ask: true)
30
+
27
31
  UI.message("Starting login with user '#{Cert.config[:username]}'")
28
32
  Spaceship::ConnectAPI.login(Cert.config[:username], nil, use_portal: true, use_tunes: false)
29
33
  UI.message("Successfully logged in")
@@ -1,5 +1,6 @@
1
1
  require 'commander'
2
2
  require 'fastlane/version'
3
+ require 'fastlane_core/ui/help_formatter'
3
4
 
4
5
  require_relative 'download_screenshots'
5
6
  require_relative 'options'
@@ -48,7 +49,7 @@ module Deliver
48
49
  program :help, 'Author', 'Felix Krause <deliver@krausefx.com>'
49
50
  program :help, 'Website', 'https://fastlane.tools'
50
51
  program :help, 'Documentation', 'https://docs.fastlane.tools/actions/deliver/'
51
- program :help_formatter, :compact
52
+ program :help_formatter, FastlaneCore::HelpFormatter
52
53
 
53
54
  global_option('--verbose') { FastlaneCore::Globals.verbose = true }
54
55
  global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
@@ -1,6 +1,5 @@
1
1
  require_relative 'module'
2
2
  require 'spaceship'
3
- require 'open-uri'
4
3
 
5
4
  module Deliver
6
5
  class DownloadScreenshots
@@ -68,7 +67,7 @@ module Deliver
68
67
  end
69
68
 
70
69
  path = File.join(containing_folder, file_name)
71
- File.binwrite(path, open(url).read)
70
+ File.binwrite(path, FastlaneCore::Helper.open_uri(url).read)
72
71
  end
73
72
  end
74
73
  end
@@ -2,6 +2,6 @@ module Deliver
2
2
  module Languages
3
3
  # 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
4
4
  # Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is avilable)
5
- ALL_LANGUAGES = ["ar-SA", "ca", "cs", "da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "he", "hi", "hr", "hu", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "th", "tr", "uk", "vi", "zh-Hans", "zh-Hant"]
5
+ ALL_LANGUAGES = %w[ar-SA ca cs da de-DE el en-AU en-CA en-GB en-US es-ES es-MX fi fr-CA fr-FR he hi hr hu id it ja ko ms nl-NL no pl pt-BR pt-PT ro ru sk sv th tr uk vi zh-Hans zh-Hant]
6
6
  end
7
7
  end
@@ -32,6 +32,7 @@ module Deliver
32
32
  short_option: "-u",
33
33
  env_name: "DELIVER_USERNAME",
34
34
  description: "Your Apple ID Username",
35
+ optional: true,
35
36
  default_value: user,
36
37
  default_value_dynamic: true),
37
38
  FastlaneCore::ConfigItem.new(key: :app_identifier,
@@ -277,7 +278,7 @@ module Deliver
277
278
  verify_block: proc do |value|
278
279
  ENV["FASTLANE_TEAM_NAME"] = value.to_s
279
280
  end),
280
- # rubocop:disable Metrics/LineLength
281
+ # rubocop:disable Layout/LineLength
281
282
  FastlaneCore::ConfigItem.new(key: :itc_provider,
282
283
  env_name: "DELIVER_ITC_PROVIDER",
283
284
  description: "The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column",
@@ -285,7 +286,7 @@ module Deliver
285
286
  code_gen_sensitive: true,
286
287
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_provider),
287
288
  default_value_dynamic: true),
288
- # rubocop:enable Metrics/LineLength
289
+ # rubocop:enable Layout/LineLength
289
290
 
290
291
  # precheck
291
292
  FastlaneCore::ConfigItem.new(key: :run_precheck_before_submit,
@@ -30,6 +30,10 @@ module Deliver
30
30
  UI.message("Creating authorization token for App Store Connect API")
31
31
  Spaceship::ConnectAPI.token = api_token
32
32
  else
33
+ # Username is now optional since addition of App Store Connect API Key
34
+ # Force asking for username to prompt user if not already set
35
+ options.fetch(:username, force_ask: true)
36
+
33
37
  # Team selection passed though FASTLANE_TEAM_ID and FASTLANE_TEAM_NAME environment variables
34
38
  # Prompts select team if multiple teams and none specified
35
39
  UI.message("Login to App Store Connect (#{options[:username]})")
@@ -1,4 +1,3 @@
1
- require 'open-uri'
2
1
  require 'spaceship/tunes/tunes'
3
2
 
4
3
  require_relative 'module'
@@ -592,8 +592,9 @@ module Deliver
592
592
  end
593
593
 
594
594
  def set_review_information(version, options)
595
- return unless options[:app_review_information]
596
595
  info = options[:app_review_information]
596
+ return if info.nil? || info.empty?
597
+
597
598
  info = info.collect { |k, v| [k.to_sym, v] }.to_h
598
599
  UI.user_error!("`app_review_information` must be a hash", show_github_issues: true) unless info.kind_of?(Hash)
599
600
 
@@ -87,13 +87,13 @@ module Fastlane
87
87
  end
88
88
 
89
89
  # returns a list of official integrations
90
- # rubocop:disable Style/AccessorMethodName
90
+ # rubocop:disable Naming/AccessorMethodName
91
91
  def self.get_all_official_actions
92
92
  Dir[File.expand_path('*.rb', File.dirname(__FILE__))].collect do |file|
93
93
  File.basename(file).gsub('.rb', '').to_sym
94
94
  end
95
95
  end
96
- # rubocop:enable Style/AccessorMethodName
96
+ # rubocop:enable Naming/AccessorMethodName
97
97
 
98
98
  # Returns the class ref to the action based on the action name
99
99
  # Returns nil if the action is not available
@@ -32,6 +32,10 @@ module Fastlane
32
32
  UI.message("Using App Store Connect API token...")
33
33
  Spaceship::ConnectAPI.token = token
34
34
  else
35
+ # Username is now optional since addition of App Store Connect API Key
36
+ # Force asking for username to prompt user if not already set
37
+ params.fetch(:username, force_ask: true)
38
+
35
39
  UI.message("Login to App Store Connect (#{params[:username]})")
36
40
  Spaceship::ConnectAPI.login(params[:username], use_portal: false, use_tunes: true, tunes_team_id: params[:team_id], team_name: params[:team_name])
37
41
  UI.message("Login successful")
@@ -147,6 +151,7 @@ module Fastlane
147
151
  short_option: "-u",
148
152
  env_name: "ITUNESCONNECT_USER",
149
153
  description: "Your Apple ID Username",
154
+ optional: true,
150
155
  default_value: user,
151
156
  default_value_dynamic: true),
152
157
  FastlaneCore::ConfigItem.new(key: :team_id,