fastlane 2.175.0 → 2.180.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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +95 -82
- data/cert/lib/cert/options.rb +1 -0
- data/cert/lib/cert/runner.rb +5 -1
- data/deliver/lib/deliver/app_screenshot.rb +6 -2
- data/deliver/lib/deliver/download_screenshots.rb +1 -2
- data/deliver/lib/deliver/options.rb +1 -0
- data/deliver/lib/deliver/runner.rb +12 -4
- data/deliver/lib/deliver/setup.rb +0 -1
- data/deliver/lib/deliver/upload_metadata.rb +5 -4
- data/deliver/lib/deliver/upload_screenshots.rb +10 -10
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +6 -1
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +8 -5
- data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
- data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +4 -0
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +11 -1
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +5 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
- data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -1
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -1
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
- data/fastlane/lib/fastlane/actions/jira.rb +61 -14
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -0
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +98 -51
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +0 -1
- data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
- data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +164 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -2
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
- data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
- data/fastlane/lib/fastlane/fast_file.rb +9 -5
- data/fastlane/lib/fastlane/helper/git_helper.rb +11 -7
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -2
- data/fastlane/lib/fastlane/setup/setup.rb +23 -10
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -0
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +574 -332
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +9 -3
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +13 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/SocketClient.swift +2 -1
- data/fastlane/swift/SocketResponse.swift +4 -2
- data/fastlane/swift/formatting/Brewfile.lock.json +12 -12
- data/fastlane_core/lib/fastlane_core.rb +1 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +24 -1
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +14 -8
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/project.rb +3 -14
- data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +12 -1
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
- data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +13 -8
- data/gym/lib/gym/runner.rb +11 -4
- data/match/lib/match/change_password.rb +3 -3
- data/match/lib/match/encryption/interface.rb +1 -1
- data/match/lib/match/encryption/openssl.rb +2 -2
- data/match/lib/match/importer.rb +1 -1
- data/match/lib/match/migrate.rb +1 -1
- data/match/lib/match/module.rb +1 -0
- data/match/lib/match/nuke.rb +1 -1
- data/match/lib/match/runner.rb +1 -1
- data/match/lib/match/storage/google_cloud_storage.rb +1 -1
- data/match/lib/match/storage/s3_storage.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +25 -8
- data/pilot/lib/pilot/manager.rb +5 -1
- data/pilot/lib/pilot/options.rb +4 -3
- data/precheck/lib/precheck/options.rb +1 -0
- data/precheck/lib/precheck/runner.rb +6 -2
- data/scan/lib/scan/detect_values.rb +4 -1
- data/scan/lib/scan/options.rb +20 -5
- data/scan/lib/scan/runner.rb +79 -1
- data/scan/lib/scan/test_command_generator.rb +8 -8
- data/screengrab/lib/screengrab/android_environment.rb +6 -4
- data/screengrab/lib/screengrab/runner.rb +2 -3
- data/sigh/lib/sigh/download_all.rb +1 -1
- data/sigh/lib/sigh/options.rb +1 -0
- data/sigh/lib/sigh/runner.rb +5 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
- data/spaceship/lib/spaceship/client.rb +18 -17
- data/spaceship/lib/spaceship/connect_api/api_client.rb +24 -6
- data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +8 -2
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +41 -28
- metadata +26 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d47a944d1f222d53ea13b59b215a89b39bf0e2498f366860a4e5bbbfe73055ac
|
|
4
|
+
data.tar.gz: 0de45e4351069b144d5d98b74238db10e93b1d6d36c05d7346f7117f2e68f0e7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f70ad0a907abfe6f29d9db3f6c8b7a2d62c154e5706421cbbe9b0f2c478c447046cb2f84e2dcd78f38d7a7cc31f2be4fcc89ab3d8096ed40f3b8cb02863cd351
|
|
7
|
+
data.tar.gz: a9ecd2ddac8fe476e6278187599302ce830c8cd61afa8c5e45b054693696fb6ecf0b0b953f5499e7ead0accb3d49d8cba5c3d6b43468aa109c62034ae98457fa
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2015-
|
|
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
|
[](https://twitter.com/FastlaneTools)
|
|
8
8
|
[](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
|
9
9
|
[](https://rubygems.org/gems/fastlane)
|
|
10
|
+
[](https://formulae.brew.sh/formula/fastlane)
|
|
10
11
|
[](https://circleci.com/gh/fastlane/fastlane)
|
|
11
12
|
[](https://github.com/fastlane/fastlane/blob/master/CONTRIBUTING.md)
|
|
12
13
|
|
|
@@ -34,61 +35,61 @@ 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='
|
|
38
|
-
<a href='https://github.com/
|
|
39
|
-
<img src='https://github.com/
|
|
38
|
+
<td id='jimmy-dee'>
|
|
39
|
+
<a href='https://github.com/jdee'>
|
|
40
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
40
41
|
</a>
|
|
41
|
-
<h4 align='center'
|
|
42
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
42
43
|
</td>
|
|
43
|
-
<td id='
|
|
44
|
-
<a href='https://github.com/
|
|
45
|
-
<img src='https://github.com/
|
|
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/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
48
49
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='andrew-mcburney'>
|
|
51
|
+
<a href='https://github.com/armcburney'>
|
|
52
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
52
53
|
</a>
|
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
54
55
|
</td>
|
|
55
|
-
<td id='
|
|
56
|
-
<a href='https://github.com/
|
|
57
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='manu-wallner'>
|
|
57
|
+
<a href='https://github.com/milch'>
|
|
58
|
+
<img src='https://github.com/milch.png?size=140'>
|
|
58
59
|
</a>
|
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
60
61
|
</td>
|
|
61
|
-
<td id='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='roger-oba'>
|
|
63
|
+
<a href='https://github.com/rogerluan'>
|
|
64
|
+
<img src='https://github.com/rogerluan.png?size=140'>
|
|
64
65
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
66
67
|
</td>
|
|
67
68
|
</tr>
|
|
68
69
|
<tr>
|
|
69
|
-
<td id='
|
|
70
|
-
<a href='https://github.com/
|
|
71
|
-
<img src='https://github.com/
|
|
70
|
+
<td id='iulian-onofrei'>
|
|
71
|
+
<a href='https://github.com/revolter'>
|
|
72
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
72
73
|
</a>
|
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
74
75
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='luka-mirosevic'>
|
|
77
|
+
<a href='https://github.com/lmirosevic'>
|
|
78
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
78
79
|
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
80
81
|
</td>
|
|
81
|
-
<td id='
|
|
82
|
-
<a href='https://github.com/
|
|
83
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='aaron-brager'>
|
|
83
|
+
<a href='https://github.com/getaaron'>
|
|
84
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
84
85
|
</a>
|
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
86
87
|
</td>
|
|
87
|
-
<td id='
|
|
88
|
-
<a href='https://github.com/
|
|
89
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='jorge-revuelta-h'>
|
|
89
|
+
<a href='https://github.com/minuscorp'>
|
|
90
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
90
91
|
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
92
93
|
</td>
|
|
93
94
|
<td id='jérôme-lacoste'>
|
|
94
95
|
<a href='https://github.com/lacostej'>
|
|
@@ -98,17 +99,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
98
99
|
</td>
|
|
99
100
|
</tr>
|
|
100
101
|
<tr>
|
|
101
|
-
<td id='
|
|
102
|
-
<a href='https://github.com/
|
|
103
|
-
<img src='https://github.com/
|
|
104
|
-
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
106
|
-
</td>
|
|
107
|
-
<td id='jimmy-dee'>
|
|
108
|
-
<a href='https://github.com/jdee'>
|
|
109
|
-
<img src='https://github.com/jdee.png?size=140'>
|
|
102
|
+
<td id='matthew-ellis'>
|
|
103
|
+
<a href='https://github.com/matthewellis'>
|
|
104
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
110
105
|
</a>
|
|
111
|
-
<h4 align='center'>
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
112
107
|
</td>
|
|
113
108
|
<td id='joshua-liebowitz'>
|
|
114
109
|
<a href='https://github.com/taquitos'>
|
|
@@ -116,63 +111,81 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
116
111
|
</a>
|
|
117
112
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
118
113
|
</td>
|
|
119
|
-
<td id='aaron-brager'>
|
|
120
|
-
<a href='https://github.com/getaaron'>
|
|
121
|
-
<img src='https://github.com/getaaron.png?size=140'>
|
|
122
|
-
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
124
|
-
</td>
|
|
125
114
|
<td id='daniel-jankowski'>
|
|
126
115
|
<a href='https://github.com/mollyIV'>
|
|
127
116
|
<img src='https://github.com/mollyIV.png?size=140'>
|
|
128
117
|
</a>
|
|
129
118
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
130
119
|
</td>
|
|
120
|
+
<td id='jan-piotrowski'>
|
|
121
|
+
<a href='https://github.com/janpio'>
|
|
122
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
123
|
+
</a>
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
125
|
+
</td>
|
|
126
|
+
<td id='felix-krause'>
|
|
127
|
+
<a href='https://github.com/KrauseFx'>
|
|
128
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
129
|
+
</a>
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
131
|
+
</td>
|
|
131
132
|
</tr>
|
|
132
133
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='satoshi-namai'>
|
|
135
|
+
<a href='https://github.com/ainame'>
|
|
136
|
+
<img src='https://github.com/ainame.png?size=140'>
|
|
136
137
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
138
139
|
</td>
|
|
139
|
-
<td id='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='maksym-grebenets'>
|
|
141
|
+
<a href='https://github.com/mgrebenets'>
|
|
142
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
142
143
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
144
145
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='max-ott'>
|
|
147
|
+
<a href='https://github.com/max-ott'>
|
|
148
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
148
149
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
150
151
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='fumiya-nakamura'>
|
|
153
|
+
<a href='https://github.com/nafu'>
|
|
154
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
154
155
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
157
|
+
</td>
|
|
158
|
+
<td id='olivier-halligon'>
|
|
159
|
+
<a href='https://github.com/AliSoftware'>
|
|
160
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
161
|
+
</a>
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
156
163
|
</td>
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
157
166
|
<td id='helmut-januschka'>
|
|
158
167
|
<a href='https://github.com/hjanuschka'>
|
|
159
168
|
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
160
169
|
</a>
|
|
161
170
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
162
171
|
</td>
|
|
163
|
-
|
|
164
|
-
<
|
|
165
|
-
<
|
|
166
|
-
<a href='https://github.com/AliSoftware'>
|
|
167
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
172
|
+
<td id='josh-holtz'>
|
|
173
|
+
<a href='https://github.com/joshdholtz'>
|
|
174
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
168
175
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
170
177
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
178
|
+
<td id='kohki-miki'>
|
|
179
|
+
<a href='https://github.com/giginet'>
|
|
180
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
174
181
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
183
|
+
</td>
|
|
184
|
+
<td id='stefan-natchev'>
|
|
185
|
+
<a href='https://github.com/snatchev'>
|
|
186
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
187
|
+
</a>
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</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
|
data/cert/lib/cert/options.rb
CHANGED
data/cert/lib/cert/runner.rb
CHANGED
|
@@ -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")
|
|
@@ -31,7 +35,7 @@ module Cert
|
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
def api_token
|
|
34
|
-
@api_token ||= Spaceship::ConnectAPI::Token.create(Cert.config[:api_key]) if Cert.config[:api_key]
|
|
38
|
+
@api_token ||= Spaceship::ConnectAPI::Token.create(**Cert.config[:api_key]) if Cert.config[:api_key]
|
|
35
39
|
@api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Cert.config[:api_key_path]) if Cert.config[:api_key_path]
|
|
36
40
|
return @api_token
|
|
37
41
|
end
|
|
@@ -195,7 +195,9 @@ module Deliver
|
|
|
195
195
|
],
|
|
196
196
|
ScreenSize::IOS_58_MESSAGES => [
|
|
197
197
|
[1125, 2436],
|
|
198
|
-
[2436, 1125]
|
|
198
|
+
[2436, 1125],
|
|
199
|
+
[1170, 2532],
|
|
200
|
+
[2532, 1170]
|
|
199
201
|
],
|
|
200
202
|
ScreenSize::IOS_55_MESSAGES => [
|
|
201
203
|
[1242, 2208],
|
|
@@ -253,7 +255,9 @@ module Deliver
|
|
|
253
255
|
],
|
|
254
256
|
ScreenSize::IOS_58 => [
|
|
255
257
|
[1125, 2436],
|
|
256
|
-
[2436, 1125]
|
|
258
|
+
[2436, 1125],
|
|
259
|
+
[1170, 2532],
|
|
260
|
+
[2532, 1170]
|
|
257
261
|
],
|
|
258
262
|
ScreenSize::IOS_55 => [
|
|
259
263
|
[1242, 2208],
|
|
@@ -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,
|
|
70
|
+
File.binwrite(path, FastlaneCore::Helper.open_uri(url).read)
|
|
72
71
|
end
|
|
73
72
|
end
|
|
74
73
|
end
|
|
@@ -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]})")
|
|
@@ -39,7 +43,7 @@ module Deliver
|
|
|
39
43
|
end
|
|
40
44
|
|
|
41
45
|
def api_token
|
|
42
|
-
@api_token ||= Spaceship::ConnectAPI::Token.create(options[:api_key]) if options[:api_key]
|
|
46
|
+
@api_token ||= Spaceship::ConnectAPI::Token.create(**options[:api_key]) if options[:api_key]
|
|
43
47
|
@api_token ||= Spaceship::ConnectAPI::Token.from_json_file(options[:api_key_path]) if options[:api_key_path]
|
|
44
48
|
return @api_token
|
|
45
49
|
end
|
|
@@ -83,7 +87,7 @@ module Deliver
|
|
|
83
87
|
|
|
84
88
|
if options[:api_key] || options[:api_key_path]
|
|
85
89
|
if options[:precheck_include_in_app_purchases]
|
|
86
|
-
UI.user_error!("Precheck cannot check In-app purchases with the App Store Connect API Key (yet). Exclude In-app purchases from precheck or use Apple ID login")
|
|
90
|
+
UI.user_error!("Precheck cannot check In-app purchases with the App Store Connect API Key (yet). Exclude In-app purchases from precheck, disable the precheck step in your build step, or use Apple ID login")
|
|
87
91
|
end
|
|
88
92
|
|
|
89
93
|
precheck_options[:api_key] = options[:api_key]
|
|
@@ -178,8 +182,12 @@ module Deliver
|
|
|
178
182
|
end
|
|
179
183
|
|
|
180
184
|
transporter = transporter_for_selected_team
|
|
181
|
-
result = transporter.upload(
|
|
182
|
-
|
|
185
|
+
result = transporter.upload(package_path: package_path)
|
|
186
|
+
|
|
187
|
+
unless result
|
|
188
|
+
transporter_errors = transporter.displayable_errors
|
|
189
|
+
UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
|
|
190
|
+
end
|
|
183
191
|
end
|
|
184
192
|
|
|
185
193
|
def reject_version_if_possible
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
require 'fastlane_core'
|
|
1
2
|
require 'spaceship'
|
|
2
3
|
|
|
3
4
|
require_relative 'module'
|
|
4
|
-
require_relative 'queue_worker'
|
|
5
5
|
|
|
6
6
|
module Deliver
|
|
7
7
|
# upload description, rating, etc.
|
|
@@ -200,7 +200,7 @@ module Deliver
|
|
|
200
200
|
sleep(1)
|
|
201
201
|
|
|
202
202
|
# Update app store version localizations
|
|
203
|
-
store_version_worker =
|
|
203
|
+
store_version_worker = FastlaneCore::QueueWorker.new do |app_store_version_localization|
|
|
204
204
|
attributes = localized_version_attributes_by_locale[app_store_version_localization.locale]
|
|
205
205
|
if attributes
|
|
206
206
|
UI.message("Uploading metadata to App Store Connect for localized version '#{app_store_version_localization.locale}'")
|
|
@@ -211,7 +211,7 @@ module Deliver
|
|
|
211
211
|
store_version_worker.start
|
|
212
212
|
|
|
213
213
|
# Update app info localizations
|
|
214
|
-
app_info_worker =
|
|
214
|
+
app_info_worker = FastlaneCore::QueueWorker.new do |app_info_localization|
|
|
215
215
|
attributes = localized_info_attributes_by_locale[app_info_localization.locale]
|
|
216
216
|
if attributes
|
|
217
217
|
UI.message("Uploading metadata to App Store Connect for localized info '#{app_info_localization.locale}'")
|
|
@@ -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
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
require 'fastlane_core'
|
|
1
2
|
require 'spaceship/tunes/tunes'
|
|
2
3
|
require 'digest/md5'
|
|
3
4
|
|
|
4
5
|
require_relative 'app_screenshot'
|
|
5
6
|
require_relative 'module'
|
|
6
7
|
require_relative 'loader'
|
|
7
|
-
require_relative 'queue_worker'
|
|
8
8
|
require_relative 'app_screenshot_iterator'
|
|
9
9
|
|
|
10
10
|
module Deliver
|
|
11
11
|
# upload screenshots to App Store Connect
|
|
12
12
|
class UploadScreenshots
|
|
13
|
-
|
|
13
|
+
DeleteScreenshotSetJob = Struct.new(:app_screenshot_set, :localization)
|
|
14
14
|
UploadScreenshotJob = Struct.new(:app_screenshot_set, :path)
|
|
15
15
|
|
|
16
16
|
def upload(options, screenshots)
|
|
@@ -67,12 +67,12 @@ module Deliver
|
|
|
67
67
|
def delete_screenshots(localizations, screenshots_per_language, tries: 5)
|
|
68
68
|
tries -= 1
|
|
69
69
|
|
|
70
|
-
worker = QueueWorker.new do |job|
|
|
70
|
+
worker = FastlaneCore::QueueWorker.new do |job|
|
|
71
71
|
start_time = Time.now
|
|
72
|
-
target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type}
|
|
72
|
+
target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type}"
|
|
73
73
|
begin
|
|
74
74
|
UI.verbose("Deleting '#{target}'")
|
|
75
|
-
job.
|
|
75
|
+
job.app_screenshot_set.delete!
|
|
76
76
|
UI.message("Deleted '#{target}' - (#{Time.now - start_time} secs)")
|
|
77
77
|
rescue => error
|
|
78
78
|
UI.error("Failed to delete screenshot #{target} - (#{Time.now - start_time} secs)")
|
|
@@ -81,12 +81,12 @@ module Deliver
|
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
iterator = AppScreenshotIterator.new(localizations)
|
|
84
|
-
iterator.
|
|
84
|
+
iterator.each_app_screenshot_set do |localization, app_screenshot_set|
|
|
85
85
|
# Only delete screenshots if trying to upload
|
|
86
86
|
next unless screenshots_per_language.keys.include?(localization.locale)
|
|
87
87
|
|
|
88
|
-
UI.verbose("Queued delete sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type}
|
|
89
|
-
worker.enqueue(
|
|
88
|
+
UI.verbose("Queued delete sceeenshot set job for #{localization.locale} #{app_screenshot_set.screenshot_display_type}")
|
|
89
|
+
worker.enqueue(DeleteScreenshotSetJob.new(app_screenshot_set, localization))
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
worker.start
|
|
@@ -113,7 +113,7 @@ module Deliver
|
|
|
113
113
|
tries -= 1
|
|
114
114
|
|
|
115
115
|
# Upload screenshots
|
|
116
|
-
worker = QueueWorker.new do |job|
|
|
116
|
+
worker = FastlaneCore::QueueWorker.new do |job|
|
|
117
117
|
begin
|
|
118
118
|
UI.verbose("Uploading '#{job.path}'...")
|
|
119
119
|
start_time = Time.now
|
|
@@ -235,7 +235,7 @@ module Deliver
|
|
|
235
235
|
iterator = AppScreenshotIterator.new(localizations)
|
|
236
236
|
|
|
237
237
|
# Re-order screenshots within app_screenshot_set
|
|
238
|
-
worker = QueueWorker.new do |app_screenshot_set|
|
|
238
|
+
worker = FastlaneCore::QueueWorker.new do |app_screenshot_set|
|
|
239
239
|
original_ids = app_screenshot_set.app_screenshots.map(&:id)
|
|
240
240
|
sorted_ids = Naturally.sort(app_screenshot_set.app_screenshots, by: :file_name).map(&:id)
|
|
241
241
|
if original_ids != sorted_ids
|