fastlane 2.178.0 → 2.182.0

Sign up to get free protection for your applications and to get access to all the features.
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,