fastlane 2.146.1 → 2.149.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +82 -82
- data/cert/lib/cert/commands_generator.rb +1 -0
- data/credentials_manager/lib/credentials_manager/cli.rb +2 -0
- data/deliver/lib/deliver/app_screenshot.rb +3 -3
- data/deliver/lib/deliver/commands_generator.rb +1 -0
- data/deliver/lib/deliver/html_generator.rb +2 -2
- data/deliver/lib/deliver/submit_for_review.rb +5 -1
- data/fastlane/lib/assets/custom_action_template.rb +6 -6
- data/fastlane/lib/assets/s3_html_template.erb +1 -1
- data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
- data/fastlane/lib/fastlane/actions/crashlytics.rb +0 -4
- data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +42 -2
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +12 -0
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_branch.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -3
- data/fastlane/lib/fastlane/actions/slack.rb +1 -1
- data/fastlane/lib/fastlane/actions/slather.rb +8 -1
- data/fastlane/lib/fastlane/actions/swiftlint.rb +14 -0
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +1 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +18 -3
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +2 -2
- data/fastlane/lib/fastlane/actions/verify_xcode.rb +7 -0
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +4 -4
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +28 -6
- data/fastlane/lib/fastlane/commands_generator.rb +5 -2
- data/fastlane/lib/fastlane/documentation/actions_list.rb +1 -1
- data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
- data/fastlane/lib/fastlane/lane_manager.rb +0 -10
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +3 -3
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +15 -2
- data/fastlane/lib/fastlane/swift_lane_manager.rb +0 -8
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +130 -26
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +5 -2
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +9 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +15 -3
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +25 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +17 -0
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +46 -2
- data/frameit/lib/frameit/commands_generator.rb +1 -0
- data/frameit/lib/frameit/device_types.rb +10 -0
- data/frameit/lib/frameit/options.rb +5 -2
- data/frameit/lib/frameit/runner.rb +5 -0
- data/frameit/lib/frameit/screenshot.rb +1 -0
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +4 -0
- data/gym/lib/gym/options.rb +1 -1
- data/gym/lib/gym/runner.rb +14 -0
- data/match/lib/match/change_password.rb +1 -18
- data/match/lib/match/commands_generator.rb +1 -0
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/match/lib/match/generator.rb +7 -2
- data/match/lib/match/nuke.rb +21 -16
- data/match/lib/match/options.rb +23 -1
- data/match/lib/match/storage/git_storage.rb +4 -0
- data/match/lib/match/storage/google_cloud_storage.rb +4 -0
- data/match/lib/match/storage/interface.rb +4 -0
- data/match/lib/match/storage/s3_storage.rb +4 -0
- data/match/lib/match/utils.rb +1 -1
- data/pem/lib/pem/commands_generator.rb +1 -0
- data/pilot/lib/pilot/build_manager.rb +23 -7
- data/pilot/lib/pilot/options.rb +5 -0
- data/produce/lib/produce/commands_generator.rb +1 -0
- data/scan/lib/scan/.test_command_generator.rb.swp +0 -0
- data/scan/lib/scan/detect_values.rb +3 -0
- data/scan/lib/scan/options.rb +26 -3
- data/scan/lib/scan/runner.rb +2 -0
- data/scan/lib/scan/test_command_generator.rb +7 -2
- data/scan/lib/scan/test_result_parser.rb +9 -2
- data/screengrab/lib/screengrab/runner.rb +10 -9
- data/sigh/lib/sigh/commands_generator.rb +1 -0
- data/sigh/lib/sigh/options.rb +7 -1
- data/sigh/lib/sigh/runner.rb +2 -1
- data/snapshot/lib/assets/SnapfileTemplate +3 -0
- data/snapshot/lib/assets/SnapshotHelper.swift +12 -33
- data/snapshot/lib/snapshot/.test_command_generator_base.rb.swp +0 -0
- data/snapshot/lib/snapshot/detect_values.rb +15 -0
- data/snapshot/lib/snapshot/options.rb +42 -0
- data/snapshot/lib/snapshot/reports_generator.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +4 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +24 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +8 -3
- data/snapshot/lib/snapshot/test_command_generator_base.rb +10 -1
- data/spaceship/lib/spaceship/base.rb +1 -1
- data/spaceship/lib/spaceship/client.rb +9 -1
- data/spaceship/lib/spaceship/commands_generator.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/model.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
- data/spaceship/lib/spaceship/errors.rb +3 -0
- data/spaceship/lib/spaceship/tunes/iap.rb +15 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +14 -0
- data/supply/lib/supply/commands_generator.rb +1 -0
- data/supply/lib/supply/options.rb +9 -0
- data/supply/lib/supply/uploader.rb +4 -0
- metadata +46 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e38d836b49a278f1c3fd95c820aa3fe9dd7fa4d7f3c0fedfa5ff4fdf4ef033a
|
4
|
+
data.tar.gz: 7a5d7180b0bf7f32989a7dbc8396a2215d68e645691f0c7afff75817324a3e1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51f0e319102f54e6e1a3878b40adf4a019042e64fcee0047d81564321f5e6b11803ac5701171f7e5ef23403f8ed169204e18635109a94928e61334b16cb36f22
|
7
|
+
data.tar.gz: 8d86698444bc4f689bc7ada08f30e5e9b335f8f32e8a87c7d9f919bb99f148afd0c4fe84abd421fe2c3114f9c530f75cc26dd360d7108a5f6e93a820ed2bedcc
|
data/README.md
CHANGED
@@ -34,61 +34,17 @@ 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='daniel-jankowski'>
|
38
|
-
<a href='https://github.com/mollyIV'>
|
39
|
-
<img src='https://github.com/mollyIV.png?size=140'>
|
40
|
-
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
42
|
-
</td>
|
43
|
-
<td id='fumiya-nakamura'>
|
44
|
-
<a href='https://github.com/nafu'>
|
45
|
-
<img src='https://github.com/nafu.png?size=140'>
|
46
|
-
</a>
|
47
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
48
|
-
</td>
|
49
|
-
<td id='matthew-ellis'>
|
50
|
-
<a href='https://github.com/matthewellis'>
|
51
|
-
<img src='https://github.com/matthewellis.png?size=140'>
|
52
|
-
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
54
|
-
</td>
|
55
37
|
<td id='iulian-onofrei'>
|
56
38
|
<a href='https://github.com/revolter'>
|
57
39
|
<img src='https://github.com/revolter.png?size=140'>
|
58
40
|
</a>
|
59
41
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
60
42
|
</td>
|
61
|
-
<td id='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
64
|
-
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
66
|
-
</td>
|
67
|
-
</tr>
|
68
|
-
<tr>
|
69
|
-
<td id='olivier-halligon'>
|
70
|
-
<a href='https://github.com/AliSoftware'>
|
71
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
72
|
-
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
74
|
-
</td>
|
75
|
-
<td id='josh-holtz'>
|
76
|
-
<a href='https://github.com/joshdholtz'>
|
77
|
-
<img src='https://github.com/joshdholtz.png?size=140'>
|
78
|
-
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
80
|
-
</td>
|
81
|
-
<td id='aaron-brager'>
|
82
|
-
<a href='https://github.com/getaaron'>
|
83
|
-
<img src='https://github.com/getaaron.png?size=140'>
|
84
|
-
</a>
|
85
|
-
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
86
|
-
</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'>
|
43
|
+
<td id='stefan-natchev'>
|
44
|
+
<a href='https://github.com/snatchev'>
|
45
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
90
46
|
</a>
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
47
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
92
48
|
</td>
|
93
49
|
<td id='joshua-liebowitz'>
|
94
50
|
<a href='https://github.com/taquitos'>
|
@@ -96,6 +52,18 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
96
52
|
</a>
|
97
53
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
98
54
|
</td>
|
55
|
+
<td id='helmut-januschka'>
|
56
|
+
<a href='https://github.com/hjanuschka'>
|
57
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
58
|
+
</a>
|
59
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
60
|
+
</td>
|
61
|
+
<td id='jorge-revuelta-h'>
|
62
|
+
<a href='https://github.com/minuscorp'>
|
63
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
64
|
+
</a>
|
65
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
66
|
+
</td>
|
99
67
|
</tr>
|
100
68
|
<tr>
|
101
69
|
<td id='luka-mirosevic'>
|
@@ -104,29 +72,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
104
72
|
</a>
|
105
73
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
106
74
|
</td>
|
107
|
-
<td id='stefan-natchev'>
|
108
|
-
<a href='https://github.com/snatchev'>
|
109
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
110
|
-
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
112
|
-
</td>
|
113
|
-
<td id='helmut-januschka'>
|
114
|
-
<a href='https://github.com/hjanuschka'>
|
115
|
-
<img src='https://github.com/hjanuschka.png?size=140'>
|
116
|
-
</a>
|
117
|
-
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
118
|
-
</td>
|
119
75
|
<td id='danielle-tomlinson'>
|
120
76
|
<a href='https://github.com/endocrimes'>
|
121
77
|
<img src='https://github.com/endocrimes.png?size=140'>
|
122
78
|
</a>
|
123
79
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
124
80
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
81
|
+
<td id='jan-piotrowski'>
|
82
|
+
<a href='https://github.com/janpio'>
|
83
|
+
<img src='https://github.com/janpio.png?size=140'>
|
128
84
|
</a>
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
86
|
+
</td>
|
87
|
+
<td id='aaron-brager'>
|
88
|
+
<a href='https://github.com/getaaron'>
|
89
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
90
|
+
</a>
|
91
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
92
|
+
</td>
|
93
|
+
<td id='olivier-halligon'>
|
94
|
+
<a href='https://github.com/AliSoftware'>
|
95
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
96
|
+
</a>
|
97
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
130
98
|
</td>
|
131
99
|
</tr>
|
132
100
|
<tr>
|
@@ -136,44 +104,76 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
136
104
|
</a>
|
137
105
|
<h4 align='center'>Jimmy Dee</h4>
|
138
106
|
</td>
|
107
|
+
<td id='daniel-jankowski'>
|
108
|
+
<a href='https://github.com/mollyIV'>
|
109
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
110
|
+
</a>
|
111
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
112
|
+
</td>
|
113
|
+
<td id='felix-krause'>
|
114
|
+
<a href='https://github.com/KrauseFx'>
|
115
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
116
|
+
</a>
|
117
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
118
|
+
</td>
|
119
|
+
<td id='matthew-ellis'>
|
120
|
+
<a href='https://github.com/matthewellis'>
|
121
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
122
|
+
</a>
|
123
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
124
|
+
</td>
|
139
125
|
<td id='manu-wallner'>
|
140
126
|
<a href='https://github.com/milch'>
|
141
127
|
<img src='https://github.com/milch.png?size=140'>
|
142
128
|
</a>
|
143
129
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
144
130
|
</td>
|
145
|
-
|
146
|
-
<
|
147
|
-
<
|
131
|
+
</tr>
|
132
|
+
<tr>
|
133
|
+
<td id='andrew-mcburney'>
|
134
|
+
<a href='https://github.com/armcburney'>
|
135
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
148
136
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
150
138
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<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'>
|
154
142
|
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
156
144
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
145
|
+
<td id='max-ott'>
|
146
|
+
<a href='https://github.com/max-ott'>
|
147
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
160
148
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
150
|
+
</td>
|
151
|
+
<td id='josh-holtz'>
|
152
|
+
<a href='https://github.com/joshdholtz'>
|
153
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
154
|
+
</a>
|
155
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
156
|
+
</td>
|
157
|
+
<td id='fumiya-nakamura'>
|
158
|
+
<a href='https://github.com/nafu'>
|
159
|
+
<img src='https://github.com/nafu.png?size=140'>
|
160
|
+
</a>
|
161
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
162
162
|
</td>
|
163
163
|
</tr>
|
164
164
|
<tr>
|
165
|
+
<td id='maksym-grebenets'>
|
166
|
+
<a href='https://github.com/mgrebenets'>
|
167
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
168
|
+
</a>
|
169
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
170
|
+
</td>
|
165
171
|
<td id='kohki-miki'>
|
166
172
|
<a href='https://github.com/giginet'>
|
167
173
|
<img src='https://github.com/giginet.png?size=140'>
|
168
174
|
</a>
|
169
175
|
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
170
176
|
</td>
|
171
|
-
<td id='jorge-revuelta-h'>
|
172
|
-
<a href='https://github.com/minuscorp'>
|
173
|
-
<img src='https://github.com/minuscorp.png?size=140'>
|
174
|
-
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
176
|
-
</td>
|
177
177
|
</table>
|
178
178
|
|
179
179
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
@@ -26,6 +26,7 @@ module Cert
|
|
26
26
|
program :help_formatter, :compact
|
27
27
|
|
28
28
|
global_option('--verbose') { FastlaneCore::Globals.verbose = true }
|
29
|
+
global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
29
30
|
|
30
31
|
command :create do |c|
|
31
32
|
c.syntax = 'fastlane cert create'
|
@@ -12,6 +12,8 @@ module CredentialsManager
|
|
12
12
|
program :version, Fastlane::VERSION
|
13
13
|
program :description, 'Manage credentials for fastlane tools.'
|
14
14
|
|
15
|
+
global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
16
|
+
|
15
17
|
# Command to add entry to Keychain
|
16
18
|
command :add do |c|
|
17
19
|
c.syntax = 'fastlane fastlane-credentials add'
|
@@ -97,7 +97,7 @@ module Deliver
|
|
97
97
|
matching = {
|
98
98
|
ScreenSize::IOS_35 => "iphone35",
|
99
99
|
ScreenSize::IOS_40 => "iphone4",
|
100
|
-
ScreenSize::IOS_47 => "iphone6", # also 7
|
100
|
+
ScreenSize::IOS_47 => "iphone6", # also 7 & 8
|
101
101
|
ScreenSize::IOS_55 => "iphone6Plus", # also 7 Plus & 8 Plus
|
102
102
|
ScreenSize::IOS_58 => "iphone58",
|
103
103
|
ScreenSize::IOS_65 => "iphone65",
|
@@ -129,8 +129,8 @@ module Deliver
|
|
129
129
|
matching = {
|
130
130
|
ScreenSize::IOS_35 => "iPhone 4",
|
131
131
|
ScreenSize::IOS_40 => "iPhone 5",
|
132
|
-
ScreenSize::IOS_47 => "iPhone 6", #
|
133
|
-
ScreenSize::IOS_55 => "iPhone 6 Plus", #
|
132
|
+
ScreenSize::IOS_47 => "iPhone 6", # also 7 & 8
|
133
|
+
ScreenSize::IOS_55 => "iPhone 6 Plus", # also 7 Plus & 8 Plus
|
134
134
|
ScreenSize::IOS_58 => "iPhone XS",
|
135
135
|
ScreenSize::IOS_61 => "iPhone XR",
|
136
136
|
ScreenSize::IOS_65 => "iPhone XS Max",
|
@@ -35,8 +35,8 @@ module Deliver
|
|
35
35
|
# Returns a path relative to FastlaneFolder.path
|
36
36
|
# This is needed as the Preview.html file is located inside FastlaneFolder.path
|
37
37
|
def render_relative_path(export_path, path)
|
38
|
-
export_path = Pathname.new(export_path)
|
39
|
-
path = Pathname.new(path).relative_path_from(export_path)
|
38
|
+
export_path = Pathname.new(File.expand_path(export_path))
|
39
|
+
path = Pathname.new(File.expand_path(path)).relative_path_from(export_path)
|
40
40
|
return path.to_path
|
41
41
|
end
|
42
42
|
|
@@ -36,7 +36,11 @@ module Deliver
|
|
36
36
|
|
37
37
|
if options[:build_number] && options[:build_number] != "latest"
|
38
38
|
UI.message("Selecting existing build-number: #{options[:build_number]}")
|
39
|
-
|
39
|
+
if app_version
|
40
|
+
build = v.candidate_builds.detect { |a| a.build_version == options[:build_number] && a.train_version == app_version }
|
41
|
+
else
|
42
|
+
build = v.candidate_builds.detect { |a| a.build_version == options[:build_number] }
|
43
|
+
end
|
40
44
|
unless build
|
41
45
|
UI.user_error!("Build number: #{options[:build_number]} does not exist")
|
42
46
|
end
|
@@ -29,8 +29,8 @@ module Fastlane
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.available_options
|
32
|
-
# Define all options your action supports.
|
33
|
-
|
32
|
+
# Define all options your action supports.
|
33
|
+
|
34
34
|
# Below a few examples
|
35
35
|
[
|
36
36
|
FastlaneCore::ConfigItem.new(key: :api_token,
|
@@ -67,13 +67,13 @@ module Fastlane
|
|
67
67
|
|
68
68
|
def self.is_supported?(platform)
|
69
69
|
# you can do things like
|
70
|
-
#
|
70
|
+
#
|
71
71
|
# true
|
72
|
-
#
|
72
|
+
#
|
73
73
|
# platform == :ios
|
74
|
-
#
|
74
|
+
#
|
75
75
|
# [:ios, :mac].include?(platform)
|
76
|
-
#
|
76
|
+
#
|
77
77
|
|
78
78
|
platform == :ios
|
79
79
|
end
|
@@ -72,7 +72,7 @@
|
|
72
72
|
<p id="footnote">
|
73
73
|
This is a beta version and is not meant to share with the public.
|
74
74
|
</p>
|
75
|
-
<img src="https://
|
75
|
+
<img src="https://fastlane.tools/assets/img/fastlane_icon.png" id="fastlaneLogo" />
|
76
76
|
</body>
|
77
77
|
|
78
78
|
<script type='text/javascript'>
|
@@ -169,10 +169,6 @@ module Fastlane
|
|
169
169
|
|
170
170
|
def self.details
|
171
171
|
[
|
172
|
-
"Crashlytics Beta has been deprecated and replaced with Firebase App Distribution.",
|
173
|
-
"Beta will continue working until May 4, 2020.",
|
174
|
-
"Check out the [Firebase App Distribution docs](https://github.com/fastlane/fastlane-plugin-firebase_app_distribution) to get started.",
|
175
|
-
"",
|
176
172
|
"Additionally, you can specify `notes`, `emails`, `groups` and `notifications`.",
|
177
173
|
"Distributing to Groups: When using the `groups` parameter, it's important to use the group **alias** names for each group you'd like to distribute to. A group's alias can be found in the web UI. If you're viewing the Beta page, you can open the groups dialog by clicking the 'Manage Groups' button.",
|
178
174
|
"This action uses the `submit` binary provided by the Crashlytics framework. If the binary is not found in its usual path, you'll need to specify the path manually by using the `crashlytics_path` option."
|
@@ -158,7 +158,7 @@ build_app(
|
|
158
158
|
)
|
159
159
|
```
|
160
160
|
|
161
|
-
**Note**: If you use [_fastlane_](https://fastlane.tools) with [_match_](https://fastlane.tools/match) you don't need to provide those values manually
|
161
|
+
**Note**: If you use [_fastlane_](https://fastlane.tools) with [_match_](https://fastlane.tools/match) you don't need to provide those values manually, unless you pass a plist file into `export_options`
|
162
162
|
|
163
163
|
For the list of available options run `xcodebuild -help`.
|
164
164
|
|
@@ -52,7 +52,25 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
|
|
52
52
|
|
53
53
|
##### Configuring your <a href="#ui-tests">UI Tests</a> for Screenshots
|
54
54
|
|
55
|
-
1. Add
|
55
|
+
1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
|
56
|
+
If you're using Java use:
|
57
|
+
```java
|
58
|
+
@ClassRule
|
59
|
+
public static final LocaleTestRule localeTestRule = new LocaleTestRule();
|
60
|
+
```
|
61
|
+
If you're using Kotlin use:
|
62
|
+
```kotlin
|
63
|
+
@Rule @JvmField
|
64
|
+
val localeTestRule = LocaleTestRule()
|
65
|
+
```
|
66
|
+
Important is the `@JvmField` annotation. It won't work like that:
|
67
|
+
```kotlin
|
68
|
+
companion object {
|
69
|
+
@get:ClassRule
|
70
|
+
val localeTestRule = LocaleTestRule()
|
71
|
+
}
|
72
|
+
```
|
73
|
+
|
56
74
|
2. To capture screenshots, add the following to your tests `Screengrab.screenshot("name_of_screenshot_here");` on the appropriate screens
|
57
75
|
|
58
76
|
# Generating Screenshots with Screengrab
|
@@ -137,6 +155,7 @@ fastlane action screengrab
|
|
137
155
|
Check out [Testing UI for a Single App](http://developer.android.com/training/testing/ui-testing/espresso-testing.html) for an introduction to using Espresso for UI testing.
|
138
156
|
|
139
157
|
##### Example UI Test Class (Using JUnit4)
|
158
|
+
Java:
|
140
159
|
```java
|
141
160
|
@RunWith(JUnit4.class)
|
142
161
|
public class JUnit4StyleTests {
|
@@ -157,6 +176,28 @@ public class JUnit4StyleTests {
|
|
157
176
|
}
|
158
177
|
|
159
178
|
```
|
179
|
+
Kotlin:
|
180
|
+
```kotlin
|
181
|
+
@RunWith(JUnit4.class)
|
182
|
+
class JUnit4StyleTests {
|
183
|
+
@get:Rule
|
184
|
+
var activityRule = ActivityTestRule(MainActivity::class.java)
|
185
|
+
|
186
|
+
@Rule @JvmField
|
187
|
+
val localeTestRule = LocaleTestRule()
|
188
|
+
|
189
|
+
@Test
|
190
|
+
fun testTakeScreenshot() {
|
191
|
+
Screengrab.screenshot("before_button_click")
|
192
|
+
|
193
|
+
onView(withId(R.id.fab)).perform(click())
|
194
|
+
|
195
|
+
Screengrab.screenshot("after_button_click")
|
196
|
+
}
|
197
|
+
}
|
198
|
+
|
199
|
+
```
|
200
|
+
|
160
201
|
There is an [example project](https://github.com/fastlane/fastlane/tree/master/screengrab/example/src/androidTest/java/tools/fastlane/localetester) showing how to use use JUnit 3 or 4 and Espresso with the screengrab Java library to capture screenshots during a UI test run.
|
161
202
|
|
162
203
|
Using JUnit 4 is preferable because of its ability to perform actions before and after the entire test class is run. This means you will change the device's locale far fewer times when compared with JUnit 3 running those commands before and after each test method.
|
@@ -290,4 +331,3 @@ Sit back and enjoy your new screenshots!
|
|
290
331
|
Note: while this could also be done by creating a new build variant (i.e. debug, release and creating a new one called screengrab), [Android only allows one build type to be tested](http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing) which defaults to debug. That's why we use product flavors.
|
291
332
|
|
292
333
|
</details>
|
293
|
-
|