fastlane 2.150.3 → 2.153.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/README.md +86 -86
- data/deliver/lib/deliver/app_screenshot.rb +1 -1
- data/deliver/lib/deliver/commands_generator.rb +7 -4
- data/deliver/lib/deliver/detect_values.rb +9 -3
- data/deliver/lib/deliver/download_screenshots.rb +36 -31
- data/deliver/lib/deliver/options.rb +8 -2
- data/deliver/lib/deliver/runner.rb +5 -10
- data/deliver/lib/deliver/setup.rb +94 -3
- data/deliver/lib/deliver/submit_for_review.rb +11 -13
- data/deliver/lib/deliver/upload_metadata.rb +34 -30
- data/deliver/lib/deliver/upload_price_tier.rb +1 -3
- data/deliver/lib/deliver/upload_screenshots.rb +76 -45
- data/{deliver/lib/deliver/.download_screenshots.rb.swp → fastlane/lib/fastlane/.erb_template_helper.rb.swp} +0 -0
- data/{spaceship/lib/spaceship/connect_api/.file_uploader.rb.swp → fastlane/lib/fastlane/actions/.git_commit.rb.swp} +0 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +3 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +4 -2
- data/fastlane/lib/fastlane/actions/erb.rb +10 -2
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -1
- data/fastlane/lib/fastlane/actions/notarize.rb +13 -3
- data/fastlane/lib/fastlane/actions/pod_push.rb +10 -1
- data/fastlane/lib/fastlane/actions/resign.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_ci.rb +5 -0
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +10 -2
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +11 -3
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/s3_client_helper.rb +28 -11
- data/fastlane/lib/fastlane/runner.rb +3 -1
- data/fastlane/lib/fastlane/server/socket_server.rb +7 -1
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +24 -24
- data/fastlane/swift/ControlCommand.swift +3 -3
- data/fastlane/swift/Deliverfile.swift +4 -8
- data/fastlane/swift/DeliverfileProtocol.swift +181 -182
- data/fastlane/swift/Fastlane.swift +2829 -2806
- data/fastlane/swift/Gymfile.swift +4 -8
- data/fastlane/swift/GymfileProtocol.swift +133 -134
- data/fastlane/swift/LaneFileProtocol.swift +17 -17
- data/fastlane/swift/Matchfile.swift +4 -8
- data/fastlane/swift/MatchfileProtocol.swift +115 -112
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +4 -8
- data/fastlane/swift/PrecheckfileProtocol.swift +22 -23
- data/fastlane/swift/RubyCommand.swift +34 -37
- data/fastlane/swift/RubyCommandable.swift +3 -1
- data/fastlane/swift/Runner.swift +76 -69
- data/fastlane/swift/Scanfile.swift +4 -8
- data/fastlane/swift/ScanfileProtocol.swift +190 -191
- data/fastlane/swift/Screengrabfile.swift +4 -8
- data/fastlane/swift/ScreengrabfileProtocol.swift +67 -68
- data/fastlane/swift/Snapshotfile.swift +4 -8
- data/fastlane/swift/SnapshotfileProtocol.swift +127 -128
- data/fastlane/swift/SocketClient.swift +84 -90
- data/fastlane/swift/SocketResponse.swift +14 -14
- data/fastlane/swift/formatting/Brewfile +1 -0
- data/fastlane/swift/formatting/Brewfile.lock.json +39 -0
- data/fastlane/swift/formatting/Rakefile +18 -0
- data/fastlane/swift/main.swift +5 -6
- data/fastlane_core/lib/fastlane_core/device_manager.rb +20 -6
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +21 -10
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
- data/frameit/lib/frameit/editor.rb +8 -5
- data/match/lib/assets/READMETemplate.md +5 -2
- data/match/lib/match/options.rb +4 -0
- data/match/lib/match/runner.rb +5 -4
- data/match/lib/match/storage/git_storage.rb +1 -1
- data/match/lib/match/storage/s3_storage.rb +25 -7
- data/pilot/lib/pilot/options.rb +6 -0
- data/scan/lib/scan/runner.rb +19 -6
- data/sigh/lib/assets/resign.sh +18 -0
- data/spaceship/lib/spaceship/client.rb +1 -2
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +2 -3
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +0 -1
- data/spaceship/lib/spaceship/connect_api/model.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_screenshot.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +40 -2
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +5 -4
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +44 -5
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +11 -1
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +32 -1
- metadata +49 -84
- data/deliver/lib/deliver/.commands_generator.rb.swp +0 -0
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
- data/deliver/lib/deliver/.upload_metadata.rb.swp +0 -0
- data/deliver/lib/deliver/.upload_screenshots.rb.swp +0 -0
- data/spaceship/lib/spaceship/babosa_fix.rb +0 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0738d9e2b7948bc5c029fff4cc5314accc0285c7e9fa0652c7526c58d4512dbd'
|
|
4
|
+
data.tar.gz: 2999ba6d7c1c5784969196e9d2efe9da82561c74ac218af83e5533a7c28babaa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 94463ea90394a490270ec45cd7a47123cd8da45f7aa1649f302fdabc3e315864bd1366861730ca57a31748f7bd90cc39a5f6d61c67a7ecfb29eccb0be99f457e
|
|
7
|
+
data.tar.gz: a23b7a7e5e74c7301222b9700b8cc6b73124842530fc417987eb95b62ae7d0be65c88b190f0d22c5b847bbb9ed55ad413d1f25c6eb3a20b011ade15af119088b
|
data/README.md
CHANGED
|
@@ -34,55 +34,61 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
|
35
35
|
<table id='team'>
|
|
36
36
|
<tr>
|
|
37
|
-
<td id='
|
|
38
|
-
<a href='https://github.com/
|
|
39
|
-
<img src='https://github.com/
|
|
37
|
+
<td id='andrew-mcburney'>
|
|
38
|
+
<a href='https://github.com/armcburney'>
|
|
39
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
40
40
|
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
41
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
42
42
|
</td>
|
|
43
|
-
<td id='
|
|
44
|
-
<a href='https://github.com/
|
|
45
|
-
<img src='https://github.com/
|
|
43
|
+
<td id='josh-holtz'>
|
|
44
|
+
<a href='https://github.com/joshdholtz'>
|
|
45
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
46
46
|
</a>
|
|
47
|
-
<h4 align='center'>
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
48
48
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
49
|
+
<td id='daniel-jankowski'>
|
|
50
|
+
<a href='https://github.com/mollyIV'>
|
|
51
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
|
52
52
|
</a>
|
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
53
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
54
54
|
</td>
|
|
55
|
-
<td id='
|
|
56
|
-
<a href='https://github.com/
|
|
57
|
-
<img src='https://github.com/
|
|
55
|
+
<td id='max-ott'>
|
|
56
|
+
<a href='https://github.com/max-ott'>
|
|
57
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
58
58
|
</a>
|
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
59
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
60
60
|
</td>
|
|
61
|
-
<td id='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<img src='https://github.com/
|
|
61
|
+
<td id='helmut-januschka'>
|
|
62
|
+
<a href='https://github.com/hjanuschka'>
|
|
63
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
64
64
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
65
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
66
66
|
</td>
|
|
67
67
|
</tr>
|
|
68
68
|
<tr>
|
|
69
|
-
<td id='
|
|
70
|
-
<a href='https://github.com/
|
|
71
|
-
<img src='https://github.com/
|
|
69
|
+
<td id='luka-mirosevic'>
|
|
70
|
+
<a href='https://github.com/lmirosevic'>
|
|
71
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
72
72
|
</a>
|
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
73
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
74
74
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
75
|
+
<td id='fumiya-nakamura'>
|
|
76
|
+
<a href='https://github.com/nafu'>
|
|
77
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
78
78
|
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
79
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
80
80
|
</td>
|
|
81
|
-
<td id='
|
|
82
|
-
<a href='https://github.com/
|
|
83
|
-
<img src='https://github.com/
|
|
81
|
+
<td id='olivier-halligon'>
|
|
82
|
+
<a href='https://github.com/AliSoftware'>
|
|
83
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
84
84
|
</a>
|
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
85
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
86
|
+
</td>
|
|
87
|
+
<td id='kohki-miki'>
|
|
88
|
+
<a href='https://github.com/giginet'>
|
|
89
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
90
|
+
</a>
|
|
91
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
86
92
|
</td>
|
|
87
93
|
<td id='felix-krause'>
|
|
88
94
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -90,89 +96,83 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
90
96
|
</a>
|
|
91
97
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
92
98
|
</td>
|
|
93
|
-
<td id='maksym-grebenets'>
|
|
94
|
-
<a href='https://github.com/mgrebenets'>
|
|
95
|
-
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
96
|
-
</a>
|
|
97
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
98
|
-
</td>
|
|
99
99
|
</tr>
|
|
100
100
|
<tr>
|
|
101
|
-
<td id='
|
|
102
|
-
<a href='https://github.com/
|
|
103
|
-
<img src='https://github.com/
|
|
101
|
+
<td id='stefan-natchev'>
|
|
102
|
+
<a href='https://github.com/snatchev'>
|
|
103
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
104
104
|
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
105
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
106
106
|
</td>
|
|
107
|
-
<td id='
|
|
108
|
-
<a href='https://github.com/
|
|
109
|
-
<img src='https://github.com/
|
|
107
|
+
<td id='jorge-revuelta-h'>
|
|
108
|
+
<a href='https://github.com/minuscorp'>
|
|
109
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
110
110
|
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
111
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
112
112
|
</td>
|
|
113
|
-
<td id='
|
|
114
|
-
<a href='https://github.com/
|
|
115
|
-
<img src='https://github.com/
|
|
113
|
+
<td id='jimmy-dee'>
|
|
114
|
+
<a href='https://github.com/jdee'>
|
|
115
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
116
116
|
</a>
|
|
117
|
-
<h4 align='center'
|
|
117
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
118
118
|
</td>
|
|
119
|
-
<td id='
|
|
120
|
-
<a href='https://github.com/
|
|
121
|
-
<img src='https://github.com/
|
|
119
|
+
<td id='danielle-tomlinson'>
|
|
120
|
+
<a href='https://github.com/endocrimes'>
|
|
121
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
|
122
122
|
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
123
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
124
124
|
</td>
|
|
125
|
-
<td id='
|
|
126
|
-
<a href='https://github.com/
|
|
127
|
-
<img src='https://github.com/
|
|
125
|
+
<td id='matthew-ellis'>
|
|
126
|
+
<a href='https://github.com/matthewellis'>
|
|
127
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
128
128
|
</a>
|
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
129
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
130
130
|
</td>
|
|
131
131
|
</tr>
|
|
132
132
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
133
|
+
<td id='manu-wallner'>
|
|
134
|
+
<a href='https://github.com/milch'>
|
|
135
|
+
<img src='https://github.com/milch.png?size=140'>
|
|
136
136
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
137
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
138
138
|
</td>
|
|
139
|
-
<td id='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
139
|
+
<td id='jérôme-lacoste'>
|
|
140
|
+
<a href='https://github.com/lacostej'>
|
|
141
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
|
142
142
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
143
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
144
144
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
145
|
+
<td id='iulian-onofrei'>
|
|
146
|
+
<a href='https://github.com/revolter'>
|
|
147
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
148
148
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
149
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
150
150
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
151
|
+
<td id='maksym-grebenets'>
|
|
152
|
+
<a href='https://github.com/mgrebenets'>
|
|
153
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
154
154
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
155
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
156
156
|
</td>
|
|
157
|
-
<td id='
|
|
158
|
-
<a href='https://github.com/
|
|
159
|
-
<img src='https://github.com/
|
|
157
|
+
<td id='joshua-liebowitz'>
|
|
158
|
+
<a href='https://github.com/taquitos'>
|
|
159
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
|
160
160
|
</a>
|
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
161
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
162
162
|
</td>
|
|
163
163
|
</tr>
|
|
164
164
|
<tr>
|
|
165
|
-
<td id='
|
|
166
|
-
<a href='https://github.com/
|
|
167
|
-
<img src='https://github.com/
|
|
165
|
+
<td id='aaron-brager'>
|
|
166
|
+
<a href='https://github.com/getaaron'>
|
|
167
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
168
168
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
169
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
170
170
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
171
|
+
<td id='jan-piotrowski'>
|
|
172
|
+
<a href='https://github.com/janpio'>
|
|
173
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
174
174
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
175
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
176
176
|
</td>
|
|
177
177
|
</table>
|
|
178
178
|
|
|
@@ -120,7 +120,7 @@ module Deliver
|
|
|
120
120
|
ScreenSize::MAC => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_DESKTOP,
|
|
121
121
|
ScreenSize::IOS_APPLE_WATCH => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_3,
|
|
122
122
|
ScreenSize::IOS_APPLE_WATCH_SERIES4 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_4,
|
|
123
|
-
|
|
123
|
+
ScreenSize::APPLE_TV => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_APPLE_TV
|
|
124
124
|
}
|
|
125
125
|
return matching[self.screen_size]
|
|
126
126
|
end
|
|
@@ -40,6 +40,7 @@ module Deliver
|
|
|
40
40
|
res
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
|
43
44
|
def run
|
|
44
45
|
program :name, 'deliver'
|
|
45
46
|
program :version, Fastlane::VERSION
|
|
@@ -166,15 +167,17 @@ module Deliver
|
|
|
166
167
|
return 0 unless res
|
|
167
168
|
|
|
168
169
|
require 'deliver/setup'
|
|
169
|
-
|
|
170
|
+
app = options[:app]
|
|
171
|
+
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
172
|
+
v = app.get_latest_app_store_version(platform: platform)
|
|
170
173
|
if options[:app_version].to_s.length > 0
|
|
171
|
-
v =
|
|
172
|
-
if v.
|
|
174
|
+
v = app.get_live_app_store_version(platform: platform) if v.version_string != options[:app_version]
|
|
175
|
+
if v.nil? || v.version_string != options[:app_version]
|
|
173
176
|
raise "Neither the current nor live version match specified app_version \"#{options[:app_version]}\""
|
|
174
177
|
end
|
|
175
178
|
end
|
|
176
179
|
|
|
177
|
-
Deliver::Setup.new.generate_metadata_files(v, path)
|
|
180
|
+
Deliver::Setup.new.generate_metadata_files(app, v, path)
|
|
178
181
|
end
|
|
179
182
|
end
|
|
180
183
|
|
|
@@ -36,9 +36,15 @@ module Deliver
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def find_app(options)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
app_identifier = options[:app_identifier]
|
|
40
|
+
app_id = options[:app] if app_identifier.to_s.empty?
|
|
41
|
+
|
|
42
|
+
if !app_identifier.to_s.empty?
|
|
43
|
+
app = Spaceship::ConnectAPI::App.find(app_identifier)
|
|
44
|
+
elsif !app_id.kind_of?(Spaceship::ConnectAPI::App) && !app_id.to_s.empty?
|
|
45
|
+
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
46
|
+
end
|
|
47
|
+
|
|
42
48
|
if app
|
|
43
49
|
options[:app] = app
|
|
44
50
|
else
|
|
@@ -14,9 +14,7 @@ module Deliver
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def self.download(options, folder_path)
|
|
17
|
-
|
|
18
|
-
app_id = legacy_app.apple_id
|
|
19
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
17
|
+
app = options[:app]
|
|
20
18
|
|
|
21
19
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
22
20
|
if options[:use_live_version]
|
|
@@ -28,42 +26,49 @@ module Deliver
|
|
|
28
26
|
end
|
|
29
27
|
|
|
30
28
|
localizations = version.get_app_store_version_localizations
|
|
29
|
+
threads = []
|
|
31
30
|
localizations.each do |localization|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
url = screenshot.image_asset_url(type: original_file_extension)
|
|
40
|
-
next if url.nil?
|
|
31
|
+
threads << Thread.new do
|
|
32
|
+
download_screenshots(folder_path, localization)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
threads.each(&:join)
|
|
36
|
+
end
|
|
41
37
|
|
|
42
|
-
|
|
38
|
+
def self.download_screenshots(folder_path, localization)
|
|
39
|
+
language = localization.locale
|
|
40
|
+
screenshot_sets = localization.get_app_screenshot_sets
|
|
41
|
+
screenshot_sets.each do |screenshot_set|
|
|
42
|
+
screenshot_set.app_screenshots.each_with_index do |screenshot, index|
|
|
43
|
+
file_name = [index, screenshot_set.screenshot_display_type, index].join("_")
|
|
44
|
+
original_file_extension = File.extname(screenshot.file_name).strip.downcase[1..-1]
|
|
45
|
+
file_name += "." + original_file_extension
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
url = screenshot.image_asset_url(type: original_file_extension)
|
|
48
|
+
next if url.nil?
|
|
45
49
|
|
|
46
|
-
|
|
47
|
-
# screen shot later as the screen size is the same as an iPhone 6 Plus in landscape.
|
|
48
|
-
if screenshot_set.apple_tv?
|
|
49
|
-
containing_folder = File.join(folder_path, "appleTV", language)
|
|
50
|
-
else
|
|
51
|
-
containing_folder = File.join(folder_path, language)
|
|
52
|
-
end
|
|
50
|
+
UI.message("Downloading existing screenshot '#{file_name}' for language '#{language}'")
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
# If the screen shot is for an appleTV we need to store it in a way that we'll know it's an appleTV
|
|
53
|
+
# screen shot later as the screen size is the same as an iPhone 6 Plus in landscape.
|
|
54
|
+
if screenshot_set.apple_tv?
|
|
55
|
+
containing_folder = File.join(folder_path, "appleTV", language)
|
|
56
|
+
else
|
|
57
|
+
containing_folder = File.join(folder_path, language)
|
|
58
|
+
end
|
|
57
59
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
# if it's already there
|
|
62
|
-
end
|
|
60
|
+
if screenshot_set.imessage?
|
|
61
|
+
containing_folder = File.join(folder_path, "iMessage", language)
|
|
62
|
+
end
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
begin
|
|
65
|
+
FileUtils.mkdir_p(containing_folder)
|
|
66
|
+
rescue
|
|
67
|
+
# if it's already there
|
|
66
68
|
end
|
|
69
|
+
|
|
70
|
+
path = File.join(containing_folder, file_name)
|
|
71
|
+
File.binwrite(path, open(url).read)
|
|
67
72
|
end
|
|
68
73
|
end
|
|
69
74
|
end
|
|
@@ -165,11 +165,17 @@ module Deliver
|
|
|
165
165
|
FastlaneCore::ConfigItem.new(key: :auto_release_date,
|
|
166
166
|
env_name: "DELIVER_AUTO_RELEASE_DATE",
|
|
167
167
|
description: "Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)",
|
|
168
|
-
|
|
168
|
+
type: Integer,
|
|
169
169
|
optional: true,
|
|
170
170
|
conflicting_options: [:automatic_release],
|
|
171
171
|
conflict_block: proc do |value|
|
|
172
172
|
UI.user_error!("You can't use 'auto_release_date' and '#{value.key}' options together.")
|
|
173
|
+
end,
|
|
174
|
+
verify_block: proc do |value|
|
|
175
|
+
now_in_ms = Time.now.to_i * 1000
|
|
176
|
+
if value < now_in_ms
|
|
177
|
+
UI.user_error!("'#{value}' needs to be in the future and in milliseonds (current time is '#{now_in_ms}')")
|
|
178
|
+
end
|
|
173
179
|
end),
|
|
174
180
|
FastlaneCore::ConfigItem.new(key: :phased_release,
|
|
175
181
|
env_name: "DELIVER_PHASED_RELEASE",
|
|
@@ -286,7 +292,7 @@ module Deliver
|
|
|
286
292
|
deprecated: "Removed after the migration to the new App Store Connect API in June 2020",
|
|
287
293
|
is_string: false,
|
|
288
294
|
type: Array,
|
|
289
|
-
|
|
295
|
+
optional: true),
|
|
290
296
|
|
|
291
297
|
# Non Localised
|
|
292
298
|
FastlaneCore::ConfigItem.new(key: :app_icon,
|
|
@@ -91,9 +91,7 @@ module Deliver
|
|
|
91
91
|
app_version = options[:app_version]
|
|
92
92
|
UI.message("Making sure the latest version on App Store Connect matches '#{app_version}'...")
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
app_id = legacy_app.apple_id
|
|
96
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
94
|
+
app = options[:app]
|
|
97
95
|
|
|
98
96
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
99
97
|
changed = app.ensure_version!(app_version, platform: platform)
|
|
@@ -142,14 +140,14 @@ module Deliver
|
|
|
142
140
|
|
|
143
141
|
if upload_ipa
|
|
144
142
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
145
|
-
app_id: options[:app].
|
|
143
|
+
app_id: options[:app].id,
|
|
146
144
|
ipa_path: options[:ipa],
|
|
147
145
|
package_path: "/tmp",
|
|
148
146
|
platform: options[:platform]
|
|
149
147
|
)
|
|
150
148
|
elsif upload_pkg
|
|
151
149
|
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
|
152
|
-
app_id: options[:app].
|
|
150
|
+
app_id: options[:app].id,
|
|
153
151
|
pkg_path: options[:pkg],
|
|
154
152
|
package_path: "/tmp",
|
|
155
153
|
platform: options[:platform]
|
|
@@ -157,15 +155,12 @@ module Deliver
|
|
|
157
155
|
end
|
|
158
156
|
|
|
159
157
|
transporter = transporter_for_selected_team
|
|
160
|
-
result = transporter.upload(options[:app].
|
|
158
|
+
result = transporter.upload(options[:app].id, package_path)
|
|
161
159
|
UI.user_error!("Could not upload binary to App Store Connect. Check out the error above", show_github_issues: true) unless result
|
|
162
160
|
end
|
|
163
161
|
|
|
164
162
|
def reject_version_if_possible
|
|
165
|
-
|
|
166
|
-
app_id = legacy_app.apple_id
|
|
167
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
168
|
-
|
|
163
|
+
app = options[:app]
|
|
169
164
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
170
165
|
if app.reject_version_if_possible!(platform: platform)
|
|
171
166
|
UI.success("Successfully rejected previous version!")
|