fastlane 2.181.0 → 2.184.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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +90 -90
  3. data/cert/lib/cert/commands_generator.rb +2 -1
  4. data/cert/lib/cert/runner.rb +3 -7
  5. data/deliver/lib/assets/summary.html.erb +10 -10
  6. data/deliver/lib/deliver/commands_generator.rb +3 -2
  7. data/deliver/lib/deliver/detect_values.rb +5 -3
  8. data/deliver/lib/deliver/download_screenshots.rb +1 -1
  9. data/deliver/lib/deliver/html_generator.rb +2 -2
  10. data/deliver/lib/deliver/languages.rb +1 -1
  11. data/deliver/lib/deliver/module.rb +6 -0
  12. data/deliver/lib/deliver/options.rb +38 -53
  13. data/deliver/lib/deliver/runner.rb +8 -11
  14. data/deliver/lib/deliver/setup.rb +1 -1
  15. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  16. data/deliver/lib/deliver/upload_metadata.rb +20 -6
  17. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  18. data/deliver/lib/deliver/upload_screenshots.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/actions_helper.rb +2 -2
  20. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +7 -11
  21. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +12 -2
  22. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +5 -1
  24. data/fastlane/lib/fastlane/actions/danger.rb +7 -1
  25. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  26. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +18 -1
  27. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +32 -12
  28. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  29. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +3 -1
  30. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +5 -1
  31. data/fastlane/lib/fastlane/actions/git_commit.rb +3 -1
  32. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  33. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  34. data/fastlane/lib/fastlane/actions/hipchat.rb +2 -1
  35. data/fastlane/lib/fastlane/actions/import_from_git.rb +5 -5
  36. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  37. data/fastlane/lib/fastlane/actions/register_device.rb +7 -10
  38. data/fastlane/lib/fastlane/actions/register_devices.rb +7 -10
  39. data/fastlane/lib/fastlane/actions/set_changelog.rb +7 -10
  40. data/fastlane/lib/fastlane/actions/slack.rb +19 -18
  41. data/fastlane/lib/fastlane/actions/swiftlint.rb +16 -4
  42. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
  43. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -2
  44. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
  45. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -1
  46. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  47. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  48. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  49. data/fastlane/lib/fastlane/fast_file.rb +10 -2
  50. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  51. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  52. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  53. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +30 -35
  54. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  55. data/fastlane/lib/fastlane/swift_fastlane_function.rb +37 -14
  56. data/fastlane/lib/fastlane/version.rb +2 -2
  57. data/fastlane/swift/Deliverfile.swift +1 -1
  58. data/fastlane/swift/DeliverfileProtocol.swift +20 -20
  59. data/fastlane/swift/Fastlane.swift +6749 -3708
  60. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  61. data/fastlane/swift/Gymfile.swift +1 -1
  62. data/fastlane/swift/GymfileProtocol.swift +1 -1
  63. data/fastlane/swift/Matchfile.swift +1 -1
  64. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  65. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  66. data/fastlane/swift/Precheckfile.swift +1 -1
  67. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  68. data/fastlane/swift/Scanfile.swift +1 -1
  69. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  70. data/fastlane/swift/Screengrabfile.swift +1 -1
  71. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  72. data/fastlane/swift/Snapshotfile.swift +1 -1
  73. data/fastlane/swift/SnapshotfileProtocol.swift +5 -1
  74. data/fastlane/swift/formatting/Brewfile.lock.json +12 -12
  75. data/fastlane/swift/upgrade_manifest.json +1 -1
  76. data/fastlane_core/lib/fastlane_core/build_watcher.rb +39 -3
  77. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +5 -0
  78. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +2 -0
  79. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
  80. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  81. data/fastlane_core/lib/fastlane_core/helper.rb +4 -4
  82. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  83. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  84. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  85. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  86. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -1
  87. data/frameit/lib/frameit/commands_generator.rb +2 -1
  88. data/frameit/lib/frameit/config_parser.rb +2 -2
  89. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  90. data/gym/lib/gym/code_signing_mapping.rb +2 -2
  91. data/gym/lib/gym/commands_generator.rb +2 -1
  92. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +6 -5
  93. data/match/lib/match/commands_generator.rb +2 -1
  94. data/match/lib/match/importer.rb +6 -10
  95. data/match/lib/match/migrate.rb +2 -3
  96. data/match/lib/match/nuke.rb +3 -7
  97. data/match/lib/match/runner.rb +2 -3
  98. data/match/lib/match/spaceship_ensure.rb +3 -0
  99. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  100. data/match/lib/match/storage/s3_storage.rb +2 -2
  101. data/pem/lib/pem/commands_generator.rb +2 -1
  102. data/pilot/lib/pilot/build_manager.rb +5 -3
  103. data/pilot/lib/pilot/commands_generator.rb +2 -1
  104. data/pilot/lib/pilot/manager.rb +3 -7
  105. data/pilot/lib/pilot/options.rb +10 -2
  106. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  107. data/pilot/lib/pilot/tester_manager.rb +0 -1
  108. data/precheck/lib/precheck/commands_generator.rb +2 -1
  109. data/precheck/lib/precheck/runner.rb +8 -7
  110. data/produce/lib/produce/commands_generator.rb +2 -1
  111. data/scan/lib/scan/commands_generator.rb +2 -1
  112. data/scan/lib/scan/runner.rb +1 -1
  113. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  114. data/sigh/lib/assets/resign.sh +77 -46
  115. data/sigh/lib/sigh/commands_generator.rb +2 -1
  116. data/sigh/lib/sigh/download_all.rb +4 -8
  117. data/sigh/lib/sigh/runner.rb +4 -8
  118. data/snapshot/lib/assets/SnapfileTemplate +1 -1
  119. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  120. data/snapshot/lib/snapshot/options.rb +5 -0
  121. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  122. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  123. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +8 -4
  124. data/spaceship/README.md +2 -2
  125. data/spaceship/lib/spaceship/base.rb +2 -2
  126. data/spaceship/lib/spaceship/commands_generator.rb +2 -1
  127. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  128. data/spaceship/lib/spaceship/connect_api/models/.age_rating_declaration.rb.swp +0 -0
  129. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +35 -4
  130. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
  131. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
  132. data/spaceship/lib/spaceship/connect_api/models/profile.rb +6 -0
  133. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +6 -2
  134. data/spaceship/lib/spaceship/connect_api/token.rb +6 -0
  135. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +4 -2
  136. data/spaceship/lib/spaceship/ui.rb +2 -2
  137. data/supply/lib/supply/client.rb +2 -2
  138. data/supply/lib/supply/commands_generator.rb +2 -1
  139. data/supply/lib/supply/uploader.rb +2 -2
  140. metadata +74 -86
  141. data/pilot/lib/pilot/tester_util.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38bb5919faa63d99767d24690442b21a5d481b03afe68a1832e4d3d1a4e28e29
4
- data.tar.gz: 5553432685d7e0474eec0b6a76e932834ae0afd741f0ac02af7e1ec2b755af80
3
+ metadata.gz: c8a9d0fade7d8368a2ece893d0142c9b22d103b890653d286e7c08de844016ac
4
+ data.tar.gz: c61acc200330d009626673188948f3c554afcfabecb8ba45e91bd9b697a636ec
5
5
  SHA512:
6
- metadata.gz: 6c6db2341264725bb9af7c225cacd888a044949311402de5d9cd0c917a73ffcccf4627adee7d160a1fe46e1e150d855dbd41951b0d50a06dd97fc27f8b78888f
7
- data.tar.gz: 384e80ffe1b82abd1b84b2f09e7367da9e8cfbf5ce2427ccb61b62b738a1b91ff5091da839afc23d7ddec123d16d0e3ff8f3186eef3fc41b9e547a7a685b63e4
6
+ metadata.gz: a24b27118a95a7b1c36cbc0710b7bcf9357d52d4c362805ee9e4f84574c7dae49cf09fc4abd6286054a4b330c67a23e1ea349e47e1d27ba6eba3dcd9e9319b82
7
+ data.tar.gz: 006fd0a41af019175f59dd1a1571611a0255f32c45bdc6a5bebe0fbfc3191b5163981a87b12bd77e38f659406b3687ad15cb8ae9945c7e8d46fc2bb4bc4de562
data/README.md CHANGED
@@ -35,113 +35,119 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='matthew-ellis'>
39
- <a href='https://github.com/matthewellis'>
40
- <img src='https://github.com/matthewellis.png?size=140'>
38
+ <td id='iulian-onofrei'>
39
+ <a href='https://github.com/revolter'>
40
+ <img src='https://github.com/revolter.png?size=140'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
43
43
  </td>
44
- <td id='danielle-tomlinson'>
45
- <a href='https://github.com/endocrimes'>
46
- <img src='https://github.com/endocrimes.png?size=140'>
44
+ <td id='jimmy-dee'>
45
+ <a href='https://github.com/jdee'>
46
+ <img src='https://github.com/jdee.png?size=140'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
48
+ <h4 align='center'>Jimmy Dee</h4>
49
49
  </td>
50
- <td id='satoshi-namai'>
51
- <a href='https://github.com/ainame'>
52
- <img src='https://github.com/ainame.png?size=140'>
50
+ <td id='kohki-miki'>
51
+ <a href='https://github.com/giginet'>
52
+ <img src='https://github.com/giginet.png?size=140'>
53
53
  </a>
54
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
55
55
  </td>
56
- <td id='olivier-halligon'>
57
- <a href='https://github.com/AliSoftware'>
58
- <img src='https://github.com/AliSoftware.png?size=140'>
56
+ <td id='josh-holtz'>
57
+ <a href='https://github.com/joshdholtz'>
58
+ <img src='https://github.com/joshdholtz.png?size=140'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
61
61
  </td>
62
- <td id='max-ott'>
63
- <a href='https://github.com/max-ott'>
64
- <img src='https://github.com/max-ott.png?size=140'>
62
+ <td id='aaron-brager'>
63
+ <a href='https://github.com/getaaron'>
64
+ <img src='https://github.com/getaaron.png?size=140'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
70
- <td id='maksym-grebenets'>
71
- <a href='https://github.com/mgrebenets'>
72
- <img src='https://github.com/mgrebenets.png?size=140'>
70
+ <td id='stefan-natchev'>
71
+ <a href='https://github.com/snatchev'>
72
+ <img src='https://github.com/snatchev.png?size=140'>
73
73
  </a>
74
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
75
75
  </td>
76
- <td id='felix-krause'>
77
- <a href='https://github.com/KrauseFx'>
78
- <img src='https://github.com/KrauseFx.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'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
81
81
  </td>
82
- <td id='iulian-onofrei'>
83
- <a href='https://github.com/revolter'>
84
- <img src='https://github.com/revolter.png?size=140'>
82
+ <td id='jorge-revuelta-h'>
83
+ <a href='https://github.com/minuscorp'>
84
+ <img src='https://github.com/minuscorp.png?size=140'>
85
85
  </a>
86
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
87
87
  </td>
88
- <td id='luka-mirosevic'>
89
- <a href='https://github.com/lmirosevic'>
90
- <img src='https://github.com/lmirosevic.png?size=140'>
88
+ <td id='satoshi-namai'>
89
+ <a href='https://github.com/ainame'>
90
+ <img src='https://github.com/ainame.png?size=140'>
91
91
  </a>
92
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
93
93
  </td>
94
- <td id='fumiya-nakamura'>
95
- <a href='https://github.com/nafu'>
96
- <img src='https://github.com/nafu.png?size=140'>
94
+ <td id='jan-piotrowski'>
95
+ <a href='https://github.com/janpio'>
96
+ <img src='https://github.com/janpio.png?size=140'>
97
97
  </a>
98
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='jorge-revuelta-h'>
103
- <a href='https://github.com/minuscorp'>
104
- <img src='https://github.com/minuscorp.png?size=140'>
102
+ <td id='felix-krause'>
103
+ <a href='https://github.com/KrauseFx'>
104
+ <img src='https://github.com/KrauseFx.png?size=140'>
105
105
  </a>
106
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
107
107
  </td>
108
- <td id='manu-wallner'>
109
- <a href='https://github.com/milch'>
110
- <img src='https://github.com/milch.png?size=140'>
108
+ <td id='fumiya-nakamura'>
109
+ <a href='https://github.com/nafu'>
110
+ <img src='https://github.com/nafu.png?size=140'>
111
111
  </a>
112
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
113
113
  </td>
114
- <td id='daniel-jankowski'>
115
- <a href='https://github.com/mollyIV'>
116
- <img src='https://github.com/mollyIV.png?size=140'>
114
+ <td id='andrew-mcburney'>
115
+ <a href='https://github.com/armcburney'>
116
+ <img src='https://github.com/armcburney.png?size=140'>
117
117
  </a>
118
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
119
119
  </td>
120
- <td id='jérôme-lacoste'>
121
- <a href='https://github.com/lacostej'>
122
- <img src='https://github.com/lacostej.png?size=140'>
120
+ <td id='luka-mirosevic'>
121
+ <a href='https://github.com/lmirosevic'>
122
+ <img src='https://github.com/lmirosevic.png?size=140'>
123
123
  </a>
124
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
125
125
  </td>
126
- <td id='aaron-brager'>
127
- <a href='https://github.com/getaaron'>
128
- <img src='https://github.com/getaaron.png?size=140'>
126
+ <td id='olivier-halligon'>
127
+ <a href='https://github.com/AliSoftware'>
128
+ <img src='https://github.com/AliSoftware.png?size=140'>
129
129
  </a>
130
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='jan-piotrowski'>
135
- <a href='https://github.com/janpio'>
136
- <img src='https://github.com/janpio.png?size=140'>
134
+ <td id='danielle-tomlinson'>
135
+ <a href='https://github.com/endocrimes'>
136
+ <img src='https://github.com/endocrimes.png?size=140'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
139
139
  </td>
140
- <td id='andrew-mcburney'>
141
- <a href='https://github.com/armcburney'>
142
- <img src='https://github.com/armcburney.png?size=140'>
140
+ <td id='max-ott'>
141
+ <a href='https://github.com/max-ott'>
142
+ <img src='https://github.com/max-ott.png?size=140'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
145
+ </td>
146
+ <td id='matthew-ellis'>
147
+ <a href='https://github.com/matthewellis'>
148
+ <img src='https://github.com/matthewellis.png?size=140'>
149
+ </a>
150
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
145
151
  </td>
146
152
  <td id='joshua-liebowitz'>
147
153
  <a href='https://github.com/taquitos'>
@@ -149,44 +155,38 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
149
155
  </a>
150
156
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
151
157
  </td>
152
- <td id='stefan-natchev'>
153
- <a href='https://github.com/snatchev'>
154
- <img src='https://github.com/snatchev.png?size=140'>
155
- </a>
156
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
157
- </td>
158
- <td id='josh-holtz'>
159
- <a href='https://github.com/joshdholtz'>
160
- <img src='https://github.com/joshdholtz.png?size=140'>
158
+ <td id='daniel-jankowski'>
159
+ <a href='https://github.com/mollyIV'>
160
+ <img src='https://github.com/mollyIV.png?size=140'>
161
161
  </a>
162
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='jimmy-dee'>
167
- <a href='https://github.com/jdee'>
168
- <img src='https://github.com/jdee.png?size=140'>
169
- </a>
170
- <h4 align='center'>Jimmy Dee</h4>
171
- </td>
172
- <td id='kohki-miki'>
173
- <a href='https://github.com/giginet'>
174
- <img src='https://github.com/giginet.png?size=140'>
175
- </a>
176
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
177
- </td>
178
166
  <td id='roger-oba'>
179
167
  <a href='https://github.com/rogerluan'>
180
168
  <img src='https://github.com/rogerluan.png?size=140'>
181
169
  </a>
182
170
  <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
183
171
  </td>
172
+ <td id='maksym-grebenets'>
173
+ <a href='https://github.com/mgrebenets'>
174
+ <img src='https://github.com/mgrebenets.png?size=140'>
175
+ </a>
176
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
177
+ </td>
184
178
  <td id='helmut-januschka'>
185
179
  <a href='https://github.com/hjanuschka'>
186
180
  <img src='https://github.com/hjanuschka.png?size=140'>
187
181
  </a>
188
182
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
189
183
  </td>
184
+ <td id='jérôme-lacoste'>
185
+ <a href='https://github.com/lacostej'>
186
+ <img src='https://github.com/lacostej.png?size=140'>
187
+ </a>
188
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
189
+ </td>
190
190
  </table>
191
191
 
192
192
  Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
@@ -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`')
@@ -20,9 +20,11 @@ module Cert
20
20
  end
21
21
 
22
22
  def login
23
- if api_token
23
+ if (api_token = Spaceship::ConnectAPI::Token.from(hash: Cert.config[:api_key], filepath: Cert.config[:api_key_path]))
24
24
  UI.message("Creating authorization token for App Store Connect API")
25
25
  Spaceship::ConnectAPI.token = api_token
26
+ elsif !Spaceship::ConnectAPI.token.nil?
27
+ UI.message("Using existing authorization token for App Store Connect API")
26
28
  else
27
29
  # Username is now optional since addition of App Store Connect API Key
28
30
  # Force asking for username to prompt user if not already set
@@ -34,12 +36,6 @@ module Cert
34
36
  end
35
37
  end
36
38
 
37
- def api_token
38
- @api_token ||= Spaceship::ConnectAPI::Token.create(**Cert.config[:api_key]) if Cert.config[:api_key]
39
- @api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Cert.config[:api_key_path]) if Cert.config[:api_key_path]
40
- return @api_token
41
- end
42
-
43
39
  def run
44
40
  FileUtils.mkdir_p(Cert.config[:output_path])
45
41
 
@@ -91,7 +91,7 @@
91
91
 
92
92
  .app-changelog-list {
93
93
  list-style-type: square;
94
-
94
+
95
95
  font-weight: 300;
96
96
  }
97
97
 
@@ -137,10 +137,10 @@
137
137
  }
138
138
  </style>
139
139
  </head>
140
-
140
+
141
141
  <body>
142
142
  <div class="app-icons">
143
-
143
+
144
144
  <% if @options[:app_icon] %>
145
145
  <div class="app-icon">
146
146
  Large App Icon:<br>
@@ -182,7 +182,7 @@
182
182
  <% end %>
183
183
  <% end %>
184
184
  </div>
185
-
185
+
186
186
  <% if @options[:keywords] and @options[:keywords][language] %>
187
187
  <div class="app-keyword">
188
188
  <div class="cat-headline">Keywords</div>
@@ -193,7 +193,7 @@
193
193
  </ul>
194
194
  </div>
195
195
  <% end %>
196
-
196
+
197
197
  <% if @options[:description] %>
198
198
  <div class="app-description">
199
199
  <div class="cat-headline">Description</div>
@@ -202,7 +202,7 @@
202
202
  </div>
203
203
  </div>
204
204
  <% end %>
205
-
205
+
206
206
  <% if @options[:release_notes] %>
207
207
  <div class="app-changelog">
208
208
  <div class="cat-headline">Changelog</div>
@@ -216,7 +216,7 @@
216
216
  <%= (@options[:promotional_text][language] || '').gsub("\n", "<br />") %>
217
217
  </div>
218
218
  <% end %>
219
-
219
+
220
220
  <div class="app-screenshots">
221
221
  <div class="cat-headline">Screenshots</div>
222
222
 
@@ -237,7 +237,7 @@
237
237
  <div class="app-screenshot-row">
238
238
 
239
239
  <% screenshots.each_with_index do |screenshot, index| %>
240
- <a href="<%= URI.escape(screenshot.path) %>" target="_blank"><img class="app-screenshot" src="<%= render_relative_path(@export_path, URI.escape(screenshot.path)) %>" title="Screenshot #<%=index%> for <%=language%>"></a>
240
+ <a href="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" target="_blank"><img class="app-screenshot" src="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" title="Screenshot #<%=index%> for <%=language%>"></a>
241
241
  <% end %>
242
242
  </div>
243
243
  <% end %>
@@ -250,7 +250,7 @@
250
250
  <% if options[:overwrite_screenshots] %>
251
251
  <b>--overwrite_screenshots</b> is set, existing screenshots will be removed, but none will be uploaded.
252
252
  <% else %>
253
- The existing screenshots on App Store Connect will be kept.
253
+ The existing screenshots on App Store Connect will be kept.
254
254
  if you want to remove them you have to use the <i>--overwrite_screenshots</i> flag.
255
255
  <% end %>
256
256
  <p>
@@ -259,7 +259,7 @@
259
259
  </div>
260
260
  <% end %>
261
261
  </div>
262
-
262
+
263
263
  <hr />
264
264
  <% end # end data
265
265
  %>
@@ -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`')
@@ -167,7 +168,7 @@ module Deliver
167
168
  return 0 unless res
168
169
 
169
170
  require 'deliver/setup'
170
- app = options[:app]
171
+ app = Deliver.cache[:app]
171
172
  platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
172
173
  v = app.get_latest_app_store_version(platform: platform)
173
174
  if options[:app_version].to_s.length > 0
@@ -10,6 +10,8 @@ require_relative 'languages'
10
10
  module Deliver
11
11
  class DetectValues
12
12
  def run!(options, skip_params = {})
13
+ Deliver.cache = {}
14
+
13
15
  find_platform(options)
14
16
  find_app_identifier(options)
15
17
  find_app(options)
@@ -46,9 +48,9 @@ module Deliver
46
48
  app = Spaceship::ConnectAPI::App.get(app_id: app_id)
47
49
  end
48
50
 
49
- if app
50
- options[:app] = app
51
- else
51
+ Deliver.cache[:app] = app
52
+
53
+ unless app
52
54
  UI.user_error!("Could not find app with app identifier '#{options[:app_identifier]}' in your App Store Connect account (#{options[:username]} - Team: #{Spaceship::Tunes.client.team_id})")
53
55
  end
54
56
  end
@@ -13,7 +13,7 @@ module Deliver
13
13
  end
14
14
 
15
15
  def self.download(options, folder_path)
16
- app = options[:app]
16
+ app = Deliver.cache[:app]
17
17
 
18
18
  platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
19
19
  if options[:use_live_version]
@@ -50,12 +50,12 @@ module Deliver
50
50
  @export_path = export_path
51
51
 
52
52
  @app_name = (options[:name]['en-US'] || options[:name].values.first) if options[:name]
53
- @app_name ||= options[:app].name
53
+ @app_name ||= Deliver.cache[:app].name
54
54
 
55
55
  @languages = options[:description].keys if options[:description]
56
56
  @languages ||= begin
57
57
  platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
58
- version = options[:app].get_edit_app_store_version(platform: platform)
58
+ version = Deliver.cache[:app].get_edit_app_store_version(platform: platform)
59
59
 
60
60
  version.get_app_store_version_localizations.collect(&:locale)
61
61
  end