fastlane 2.146.0 → 2.149.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +86 -86
- 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/{fastlane/actions/.update_code_signing_settings.rb.swp → assets/.s3_html_template.erb.swp} +0 -0
- 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/.hipchat.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- 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/update_code_signing_settings.rb +7 -2
- 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/fastlane_core/lib/fastlane_core/project.rb +1 -0
- 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/.options.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/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 +47 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1a754f320b6a2a0f0f624fa8fd7d7b51fd0a46060a2baad5097716e3236e7ca
|
4
|
+
data.tar.gz: cc01aeb35c73ac933644477ccceff7c0c2c0b11c9ef866b0bac94ebc7bf83648
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 253bb74d256220c9c5807c8675696930e836b2e780135d4c4d95d1dc9feb61d2049c7b713e43a3b198bbf79447c73182f9d6a34f2a4d5b92b9997bffaf15bc57
|
7
|
+
data.tar.gz: f612886813a3cb594e45dfaf1bb4901cf21fc834fa1b63bf5623765314003410fac0ae7ccf5624bfd9de36a5fd2abc5207cd0c71ed379ff858905a2ba21b2e81
|
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='olivier-halligon'>
|
38
|
+
<a href='https://github.com/AliSoftware'>
|
39
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
40
40
|
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
41
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
42
42
|
</td>
|
43
|
-
<td id='
|
44
|
-
<a href='https://github.com/
|
45
|
-
<img src='https://github.com/
|
43
|
+
<td id='jimmy-dee'>
|
44
|
+
<a href='https://github.com/jdee'>
|
45
|
+
<img src='https://github.com/jdee.png?size=140'>
|
46
46
|
</a>
|
47
|
-
<h4 align='center'
|
47
|
+
<h4 align='center'>Jimmy Dee</h4>
|
48
48
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
49
|
+
<td id='matthew-ellis'>
|
50
|
+
<a href='https://github.com/matthewellis'>
|
51
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
52
52
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
53
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
54
54
|
</td>
|
55
|
-
<td id='
|
56
|
-
<a href='https://github.com/
|
57
|
-
<img src='https://github.com/
|
55
|
+
<td id='felix-krause'>
|
56
|
+
<a href='https://github.com/KrauseFx'>
|
57
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
58
58
|
</a>
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
60
60
|
</td>
|
61
|
-
<td id='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
61
|
+
<td id='fumiya-nakamura'>
|
62
|
+
<a href='https://github.com/nafu'>
|
63
|
+
<img src='https://github.com/nafu.png?size=140'>
|
64
64
|
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
65
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</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='daniel-jankowski'>
|
70
|
+
<a href='https://github.com/mollyIV'>
|
71
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
72
72
|
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
74
74
|
</td>
|
75
|
-
<td id='
|
76
|
-
<a href='https://github.com/
|
77
|
-
<img src='https://github.com/
|
75
|
+
<td id='manu-wallner'>
|
76
|
+
<a href='https://github.com/milch'>
|
77
|
+
<img src='https://github.com/milch.png?size=140'>
|
78
78
|
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
79
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
80
80
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<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'>
|
84
84
|
</a>
|
85
|
-
<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='stefan-natchev'>
|
88
|
+
<a href='https://github.com/snatchev'>
|
89
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
90
|
+
</a>
|
91
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
86
92
|
</td>
|
87
93
|
<td id='jérôme-lacoste'>
|
88
94
|
<a href='https://github.com/lacostej'>
|
@@ -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/lacostej'>Jérôme Lacoste</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='kohki-miki'>
|
102
|
+
<a href='https://github.com/giginet'>
|
103
|
+
<img src='https://github.com/giginet.png?size=140'>
|
104
104
|
</a>
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
105
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
106
106
|
</td>
|
107
|
-
<td id='
|
108
|
-
<a href='https://github.com/
|
109
|
-
<img src='https://github.com/
|
107
|
+
<td id='danielle-tomlinson'>
|
108
|
+
<a href='https://github.com/endocrimes'>
|
109
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
110
110
|
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/
|
111
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
112
112
|
</td>
|
113
|
-
<td id='
|
114
|
-
<a href='https://github.com/
|
115
|
-
<img src='https://github.com/
|
113
|
+
<td id='andrew-mcburney'>
|
114
|
+
<a href='https://github.com/armcburney'>
|
115
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
116
116
|
</a>
|
117
|
-
<h4 align='center'><a href='https://twitter.com/
|
117
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
118
118
|
</td>
|
119
|
-
<td id='
|
120
|
-
<a href='https://github.com/
|
121
|
-
<img src='https://github.com/
|
119
|
+
<td id='iulian-onofrei'>
|
120
|
+
<a href='https://github.com/revolter'>
|
121
|
+
<img src='https://github.com/revolter.png?size=140'>
|
122
122
|
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
123
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
124
124
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
125
|
+
<td id='helmut-januschka'>
|
126
|
+
<a href='https://github.com/hjanuschka'>
|
127
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
128
128
|
</a>
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
129
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</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='joshua-liebowitz'>
|
134
|
+
<a href='https://github.com/taquitos'>
|
135
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
136
136
|
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
138
138
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
139
|
+
<td id='aaron-brager'>
|
140
|
+
<a href='https://github.com/getaaron'>
|
141
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
142
142
|
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
144
144
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
145
|
+
<td id='jorge-revuelta-h'>
|
146
|
+
<a href='https://github.com/minuscorp'>
|
147
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
148
148
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
150
150
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<img src='https://github.com/
|
151
|
+
<td id='max-ott'>
|
152
|
+
<a href='https://github.com/max-ott'>
|
153
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
154
154
|
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
156
156
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
157
|
+
<td id='maksym-grebenets'>
|
158
|
+
<a href='https://github.com/mgrebenets'>
|
159
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
160
160
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
161
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</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='josh-holtz'>
|
166
|
+
<a href='https://github.com/joshdholtz'>
|
167
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
168
168
|
</a>
|
169
|
-
<h4 align='center'>
|
169
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
170
170
|
</td>
|
171
|
-
<td id='
|
172
|
-
<a href='https://github.com/
|
173
|
-
<img src='https://github.com/
|
171
|
+
<td id='luka-mirosevic'>
|
172
|
+
<a href='https://github.com/lmirosevic'>
|
173
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
174
174
|
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
175
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
176
176
|
</td>
|
177
177
|
</table>
|
178
178
|
|
@@ -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
|
Binary file
|
@@ -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'>
|
Binary file
|
Binary file
|
@@ -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
|
-
|