fastlane 2.185.1 → 2.189.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/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -2
- data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -2
- data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
- data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +25 -26
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
- data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
- data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
- data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
- data/fastlane/lib/fastlane/actions/erb.rb +2 -5
- data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
- data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
- data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
- data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +4 -5
- data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
- data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
- data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -4
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
- data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
- data/fastlane/lib/fastlane/actions/installr.rb +22 -25
- data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
- data/fastlane/lib/fastlane/actions/jazzy.rb +8 -14
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
- data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
- data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
- data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
- data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
- data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
- data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
- data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
- data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
- data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
- data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
- data/fastlane/lib/fastlane/actions/puts.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
- data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
- data/fastlane/lib/fastlane/actions/resign.rb +2 -9
- data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
- data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
- data/fastlane/lib/fastlane/actions/s3.rb +1 -1
- data/fastlane/lib/fastlane/actions/say.rb +2 -3
- data/fastlane/lib/fastlane/actions/scp.rb +4 -10
- data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
- data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
- data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
- data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
- data/fastlane/lib/fastlane/actions/sh.rb +2 -4
- data/fastlane/lib/fastlane/actions/slack.rb +6 -8
- data/fastlane/lib/fastlane/actions/slather.rb +3 -19
- data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
- data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
- data/fastlane/lib/fastlane/actions/spm.rb +3 -3
- data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
- data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
- data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
- data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
- data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
- data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
- data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
- data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/git_helper.rb +17 -5
- data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +158 -125
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- 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 +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +5 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +13 -0
- data/match/lib/match/importer.rb +3 -0
- data/match/lib/match/nuke.rb +2 -3
- data/pilot/lib/pilot.rb +0 -1
- data/pilot/lib/pilot/build_manager.rb +0 -3
- data/pilot/lib/pilot/manager.rb +4 -1
- data/precheck/lib/precheck/module.rb +2 -0
- data/precheck/lib/precheck/options.rb +3 -3
- data/produce/lib/produce/commands_generator.rb +99 -27
- data/produce/lib/produce/developer_center.rb +42 -4
- data/produce/lib/produce/options.rb +1 -1
- data/produce/lib/produce/service.rb +270 -179
- data/scan/lib/scan/detect_values.rb +22 -13
- data/scan/lib/scan/module.rb +1 -0
- data/scan/lib/scan/options.rb +12 -1
- data/scan/lib/scan/test_command_generator.rb +29 -6
- data/screengrab/lib/screengrab/android_environment.rb +2 -52
- data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
- data/screengrab/lib/screengrab/options.rb +5 -2
- data/screengrab/lib/screengrab/runner.rb +109 -107
- data/snapshot/lib/assets/SnapfileTemplate +2 -1
- data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
- data/snapshot/lib/snapshot/reports_generator.rb +3 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +16 -2
- data/spaceship/lib/spaceship/client.rb +13 -3
- data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- data/supply/lib/supply/client.rb +7 -1
- data/supply/lib/supply/options.rb +5 -0
- metadata +27 -32
- data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
- data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
- data/pilot/lib/pilot/features.rb +0 -0
- data/spaceship/lib/spaceship/.DS_Store +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e220b24ad58be1b3108fa1a5c3c76326da0036e3823d39757ad46c038375c72
|
4
|
+
data.tar.gz: 164b1297dccb44d1c43138c3eb8ff654c33ec6860392f284ca9a294c5f4e0091
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1658928b8523a0b15400cbf2bbe8f66492f1abaf33aa5dedc56e0ebfe9ff38c8b7f546748a0048a38d81856806d1588b81d136b51c80927bdced727f483fae0
|
7
|
+
data.tar.gz: cd2c243360d99b90fba4dbcae7d31062bdd74a562a61f2092c8ef0604d5fb207f3d62c905f5f38c65add6df6f980801cacf316878009c8b68ddc59f6d3ec2fbb
|
data/README.md
CHANGED
@@ -35,75 +35,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
36
36
|
<table id='team'>
|
37
37
|
<tr>
|
38
|
-
<td id='
|
39
|
-
<a href='https://github.com/
|
40
|
-
<img src='https://github.com/
|
41
|
-
</a>
|
42
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
43
|
-
</td>
|
44
|
-
<td id='jimmy-dee'>
|
45
|
-
<a href='https://github.com/jdee'>
|
46
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
47
|
-
</a>
|
48
|
-
<h4 align='center'>Jimmy Dee</h4>
|
49
|
-
</td>
|
50
|
-
<td id='olivier-halligon'>
|
51
|
-
<a href='https://github.com/AliSoftware'>
|
52
|
-
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
53
|
-
</a>
|
54
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
55
|
-
</td>
|
56
|
-
<td id='maksym-grebenets'>
|
57
|
-
<a href='https://github.com/mgrebenets'>
|
58
|
-
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
59
|
-
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
61
|
-
</td>
|
62
|
-
<td id='kohki-miki'>
|
63
|
-
<a href='https://github.com/giginet'>
|
64
|
-
<img src='https://github.com/giginet.png' width='140px;'>
|
65
|
-
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
<tr>
|
70
|
-
<td id='manu-wallner'>
|
71
|
-
<a href='https://github.com/milch'>
|
72
|
-
<img src='https://github.com/milch.png' width='140px;'>
|
38
|
+
<td id='jérôme-lacoste'>
|
39
|
+
<a href='https://github.com/lacostej'>
|
40
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
73
41
|
</a>
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
42
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
75
43
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
44
|
+
<td id='satoshi-namai'>
|
45
|
+
<a href='https://github.com/ainame'>
|
46
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
79
47
|
</a>
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
48
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
81
49
|
</td>
|
82
|
-
<td id='
|
83
|
-
<a href='https://github.com/
|
84
|
-
<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' width='140px;'>
|
85
53
|
</a>
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
54
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
87
55
|
</td>
|
88
|
-
<td id='
|
89
|
-
<a href='https://github.com/
|
90
|
-
<img src='https://github.com/
|
56
|
+
<td id='jorge-revuelta-h'>
|
57
|
+
<a href='https://github.com/minuscorp'>
|
58
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
91
59
|
</a>
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
60
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
93
61
|
</td>
|
94
|
-
<td id='
|
95
|
-
<a href='https://github.com/
|
96
|
-
<img src='https://github.com/
|
62
|
+
<td id='olivier-halligon'>
|
63
|
+
<a href='https://github.com/AliSoftware'>
|
64
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
97
65
|
</a>
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
66
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
99
67
|
</td>
|
100
68
|
</tr>
|
101
69
|
<tr>
|
102
|
-
<td id='
|
103
|
-
<a href='https://github.com/
|
104
|
-
<img src='https://github.com/
|
70
|
+
<td id='luka-mirosevic'>
|
71
|
+
<a href='https://github.com/lmirosevic'>
|
72
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
105
73
|
</a>
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
74
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
107
75
|
</td>
|
108
76
|
<td id='iulian-onofrei'>
|
109
77
|
<a href='https://github.com/revolter'>
|
@@ -111,17 +79,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
111
79
|
</a>
|
112
80
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
113
81
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
82
|
+
<td id='fumiya-nakamura'>
|
83
|
+
<a href='https://github.com/nafu'>
|
84
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
117
85
|
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
86
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
119
87
|
</td>
|
120
|
-
<td id='
|
121
|
-
<a href='https://github.com/
|
122
|
-
<img src='https://github.com/
|
88
|
+
<td id='stefan-natchev'>
|
89
|
+
<a href='https://github.com/snatchev'>
|
90
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
123
91
|
</a>
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
92
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
125
93
|
</td>
|
126
94
|
<td id='helmut-januschka'>
|
127
95
|
<a href='https://github.com/hjanuschka'>
|
@@ -131,17 +99,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
131
99
|
</td>
|
132
100
|
</tr>
|
133
101
|
<tr>
|
102
|
+
<td id='maksym-grebenets'>
|
103
|
+
<a href='https://github.com/mgrebenets'>
|
104
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
105
|
+
</a>
|
106
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
107
|
+
</td>
|
134
108
|
<td id='max-ott'>
|
135
109
|
<a href='https://github.com/max-ott'>
|
136
110
|
<img src='https://github.com/max-ott.png' width='140px;'>
|
137
111
|
</a>
|
138
112
|
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
139
113
|
</td>
|
140
|
-
<td id='
|
141
|
-
<a href='https://github.com/
|
142
|
-
<img src='https://github.com/
|
114
|
+
<td id='josh-holtz'>
|
115
|
+
<a href='https://github.com/joshdholtz'>
|
116
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
143
117
|
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
118
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
145
119
|
</td>
|
146
120
|
<td id='jan-piotrowski'>
|
147
121
|
<a href='https://github.com/janpio'>
|
@@ -149,11 +123,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
149
123
|
</a>
|
150
124
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
151
125
|
</td>
|
152
|
-
<td id='
|
153
|
-
<a href='https://github.com/
|
154
|
-
<img src='https://github.com/
|
126
|
+
<td id='manish-rathi'>
|
127
|
+
<a href='https://github.com/crazymanish'>
|
128
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
155
129
|
</a>
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
130
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
131
|
+
</td>
|
132
|
+
</tr>
|
133
|
+
<tr>
|
134
|
+
<td id='kohki-miki'>
|
135
|
+
<a href='https://github.com/giginet'>
|
136
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
137
|
+
</a>
|
138
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
157
139
|
</td>
|
158
140
|
<td id='daniel-jankowski'>
|
159
141
|
<a href='https://github.com/mollyIV'>
|
@@ -161,8 +143,32 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
161
143
|
</a>
|
162
144
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
163
145
|
</td>
|
146
|
+
<td id='aaron-brager'>
|
147
|
+
<a href='https://github.com/getaaron'>
|
148
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
149
|
+
</a>
|
150
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
151
|
+
</td>
|
152
|
+
<td id='roger-oba'>
|
153
|
+
<a href='https://github.com/rogerluan'>
|
154
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
155
|
+
</a>
|
156
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
157
|
+
</td>
|
158
|
+
<td id='matthew-ellis'>
|
159
|
+
<a href='https://github.com/matthewellis'>
|
160
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
161
|
+
</a>
|
162
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
163
|
+
</td>
|
164
164
|
</tr>
|
165
165
|
<tr>
|
166
|
+
<td id='manu-wallner'>
|
167
|
+
<a href='https://github.com/milch'>
|
168
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
169
|
+
</a>
|
170
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
171
|
+
</td>
|
166
172
|
<td id='danielle-tomlinson'>
|
167
173
|
<a href='https://github.com/endocrimes'>
|
168
174
|
<img src='https://github.com/endocrimes.png' width='140px;'>
|
@@ -175,23 +181,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
175
181
|
</a>
|
176
182
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
177
183
|
</td>
|
178
|
-
<td id='
|
179
|
-
<a href='https://github.com/
|
180
|
-
<img src='https://github.com/
|
181
|
-
</a>
|
182
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
183
|
-
</td>
|
184
|
-
<td id='jorge-revuelta-h'>
|
185
|
-
<a href='https://github.com/minuscorp'>
|
186
|
-
<img src='https://github.com/minuscorp.png' width='140px;'>
|
184
|
+
<td id='felix-krause'>
|
185
|
+
<a href='https://github.com/KrauseFx'>
|
186
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
187
187
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
188
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
189
189
|
</td>
|
190
|
-
<td id='
|
191
|
-
<a href='https://github.com/
|
192
|
-
<img src='https://github.com/
|
190
|
+
<td id='jimmy-dee'>
|
191
|
+
<a href='https://github.com/jdee'>
|
192
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
193
193
|
</a>
|
194
|
-
<h4 align='center'
|
194
|
+
<h4 align='center'>Jimmy Dee</h4>
|
195
195
|
</td>
|
196
196
|
</tr>
|
197
197
|
</table>
|
@@ -125,63 +125,63 @@ module Fastlane
|
|
125
125
|
def self.available_options
|
126
126
|
[
|
127
127
|
# PATHS
|
128
|
-
FastlaneCore::ConfigItem.new(key: :input, env_name: "FL_APPLEDOC_INPUT", description: "Path(s) to source file directories or individual source files. Accepts a single path or an array of paths",
|
129
|
-
FastlaneCore::ConfigItem.new(key: :output, env_name: "FL_APPLEDOC_OUTPUT", description: "Output path",
|
130
|
-
FastlaneCore::ConfigItem.new(key: :templates, env_name: "FL_APPLEDOC_TEMPLATES", description: "Template files path",
|
131
|
-
FastlaneCore::ConfigItem.new(key: :docset_install_path, env_name: "FL_APPLEDOC_DOCSET_INSTALL_PATH", description: "DocSet installation path",
|
132
|
-
FastlaneCore::ConfigItem.new(key: :include, env_name: "FL_APPLEDOC_INCLUDE", description: "Include static doc(s) at path",
|
133
|
-
FastlaneCore::ConfigItem.new(key: :ignore, env_name: "FL_APPLEDOC_IGNORE", description: "Ignore given path",
|
134
|
-
FastlaneCore::ConfigItem.new(key: :exclude_output, env_name: "FL_APPLEDOC_EXCLUDE_OUTPUT", description: "Exclude given path from output",
|
135
|
-
FastlaneCore::ConfigItem.new(key: :index_desc, env_name: "FL_APPLEDOC_INDEX_DESC", description: "File including main index description",
|
128
|
+
FastlaneCore::ConfigItem.new(key: :input, env_name: "FL_APPLEDOC_INPUT", description: "Path(s) to source file directories or individual source files. Accepts a single path or an array of paths", type: Array),
|
129
|
+
FastlaneCore::ConfigItem.new(key: :output, env_name: "FL_APPLEDOC_OUTPUT", description: "Output path", optional: true),
|
130
|
+
FastlaneCore::ConfigItem.new(key: :templates, env_name: "FL_APPLEDOC_TEMPLATES", description: "Template files path", optional: true),
|
131
|
+
FastlaneCore::ConfigItem.new(key: :docset_install_path, env_name: "FL_APPLEDOC_DOCSET_INSTALL_PATH", description: "DocSet installation path", optional: true),
|
132
|
+
FastlaneCore::ConfigItem.new(key: :include, env_name: "FL_APPLEDOC_INCLUDE", description: "Include static doc(s) at path", optional: true),
|
133
|
+
FastlaneCore::ConfigItem.new(key: :ignore, env_name: "FL_APPLEDOC_IGNORE", description: "Ignore given path", type: Array, optional: true),
|
134
|
+
FastlaneCore::ConfigItem.new(key: :exclude_output, env_name: "FL_APPLEDOC_EXCLUDE_OUTPUT", description: "Exclude given path from output", type: Array, optional: true),
|
135
|
+
FastlaneCore::ConfigItem.new(key: :index_desc, env_name: "FL_APPLEDOC_INDEX_DESC", description: "File including main index description", optional: true),
|
136
136
|
|
137
137
|
# PROJECT INFO
|
138
|
-
FastlaneCore::ConfigItem.new(key: :project_name, env_name: "FL_APPLEDOC_PROJECT_NAME", description: "Project name"
|
139
|
-
FastlaneCore::ConfigItem.new(key: :project_version, env_name: "FL_APPLEDOC_PROJECT_VERSION", description: "Project version",
|
140
|
-
FastlaneCore::ConfigItem.new(key: :project_company, env_name: "FL_APPLEDOC_PROJECT_COMPANY", description: "Project company"
|
141
|
-
FastlaneCore::ConfigItem.new(key: :company_id, env_name: "FL_APPLEDOC_COMPANY_ID", description: "Company UTI (i.e. reverse DNS name)",
|
138
|
+
FastlaneCore::ConfigItem.new(key: :project_name, env_name: "FL_APPLEDOC_PROJECT_NAME", description: "Project name"),
|
139
|
+
FastlaneCore::ConfigItem.new(key: :project_version, env_name: "FL_APPLEDOC_PROJECT_VERSION", description: "Project version", optional: true),
|
140
|
+
FastlaneCore::ConfigItem.new(key: :project_company, env_name: "FL_APPLEDOC_PROJECT_COMPANY", description: "Project company"),
|
141
|
+
FastlaneCore::ConfigItem.new(key: :company_id, env_name: "FL_APPLEDOC_COMPANY_ID", description: "Company UTI (i.e. reverse DNS name)", optional: true),
|
142
142
|
|
143
143
|
# OUTPUT GENERATION
|
144
|
-
FastlaneCore::ConfigItem.new(key: :create_html, env_name: "FL_APPLEDOC_CREATE_HTML", description: "Create HTML",
|
145
|
-
FastlaneCore::ConfigItem.new(key: :create_docset, env_name: "FL_APPLEDOC_CREATE_DOCSET", description: "Create documentation set",
|
146
|
-
FastlaneCore::ConfigItem.new(key: :install_docset, env_name: "FL_APPLEDOC_INSTALL_DOCSET", description: "Install documentation set to Xcode",
|
147
|
-
FastlaneCore::ConfigItem.new(key: :publish_docset, env_name: "FL_APPLEDOC_PUBLISH_DOCSET", description: "Prepare DocSet for publishing",
|
148
|
-
FastlaneCore::ConfigItem.new(key: :no_create_docset, env_name: "FL_APPLEDOC_NO_CREATE_DOCSET", description: "Create HTML and skip creating a DocSet",
|
149
|
-
FastlaneCore::ConfigItem.new(key: :html_anchors, env_name: "FL_APPLEDOC_HTML_ANCHORS", description: "The html anchor format to use in DocSet HTML",
|
150
|
-
FastlaneCore::ConfigItem.new(key: :clean_output, env_name: "FL_APPLEDOC_CLEAN_OUTPUT", description: "Remove contents of output path before starting",
|
144
|
+
FastlaneCore::ConfigItem.new(key: :create_html, env_name: "FL_APPLEDOC_CREATE_HTML", description: "Create HTML", type: Boolean, default_value: false),
|
145
|
+
FastlaneCore::ConfigItem.new(key: :create_docset, env_name: "FL_APPLEDOC_CREATE_DOCSET", description: "Create documentation set", type: Boolean, default_value: false),
|
146
|
+
FastlaneCore::ConfigItem.new(key: :install_docset, env_name: "FL_APPLEDOC_INSTALL_DOCSET", description: "Install documentation set to Xcode", type: Boolean, default_value: false),
|
147
|
+
FastlaneCore::ConfigItem.new(key: :publish_docset, env_name: "FL_APPLEDOC_PUBLISH_DOCSET", description: "Prepare DocSet for publishing", type: Boolean, default_value: false),
|
148
|
+
FastlaneCore::ConfigItem.new(key: :no_create_docset, env_name: "FL_APPLEDOC_NO_CREATE_DOCSET", description: "Create HTML and skip creating a DocSet", type: Boolean, default_value: false),
|
149
|
+
FastlaneCore::ConfigItem.new(key: :html_anchors, env_name: "FL_APPLEDOC_HTML_ANCHORS", description: "The html anchor format to use in DocSet HTML", optional: true),
|
150
|
+
FastlaneCore::ConfigItem.new(key: :clean_output, env_name: "FL_APPLEDOC_CLEAN_OUTPUT", description: "Remove contents of output path before starting", type: Boolean, default_value: false),
|
151
151
|
|
152
152
|
# DOCUMENTATION SET INFO
|
153
|
-
FastlaneCore::ConfigItem.new(key: :docset_bundle_id, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_ID", description: "DocSet bundle identifier",
|
154
|
-
FastlaneCore::ConfigItem.new(key: :docset_bundle_name, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_NAME", description: "DocSet bundle name",
|
155
|
-
FastlaneCore::ConfigItem.new(key: :docset_desc, env_name: "FL_APPLEDOC_DOCSET_DESC", description: "DocSet description",
|
156
|
-
FastlaneCore::ConfigItem.new(key: :docset_copyright, env_name: "FL_APPLEDOC_DOCSET_COPYRIGHT", description: "DocSet copyright message",
|
157
|
-
FastlaneCore::ConfigItem.new(key: :docset_feed_name, env_name: "FL_APPLEDOC_DOCSET_FEED_NAME", description: "DocSet feed name",
|
158
|
-
FastlaneCore::ConfigItem.new(key: :docset_feed_url, env_name: "FL_APPLEDOC_DOCSET_FEED_URL", description: "DocSet feed URL",
|
159
|
-
FastlaneCore::ConfigItem.new(key: :docset_feed_formats, env_name: "FL_APPLEDOC_DOCSET_FEED_FORMATS", description: "DocSet feed formats. Separated by a comma [atom,xml]",
|
160
|
-
FastlaneCore::ConfigItem.new(key: :docset_package_url, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_URL", description: "DocSet package (.xar) URL",
|
161
|
-
FastlaneCore::ConfigItem.new(key: :docset_fallback_url, env_name: "FL_APPLEDOC_DOCSET_FALLBACK_URL", description: "DocSet fallback URL",
|
162
|
-
FastlaneCore::ConfigItem.new(key: :docset_publisher_id, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_ID", description: "DocSet publisher identifier",
|
163
|
-
FastlaneCore::ConfigItem.new(key: :docset_publisher_name, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_NAME", description: "DocSet publisher name",
|
164
|
-
FastlaneCore::ConfigItem.new(key: :docset_min_xcode_version, env_name: "FL_APPLEDOC_DOCSET_MIN_XCODE_VERSION", description: "DocSet min. Xcode version",
|
165
|
-
FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform family",
|
166
|
-
FastlaneCore::ConfigItem.new(key: :docset_cert_issuer, env_name: "FL_APPLEDOC_DOCSET_CERT_ISSUER", description: "DocSet certificate issuer",
|
167
|
-
FastlaneCore::ConfigItem.new(key: :docset_cert_signer, env_name: "FL_APPLEDOC_DOCSET_CERT_SIGNER", description: "DocSet certificate signer",
|
168
|
-
FastlaneCore::ConfigItem.new(key: :docset_bundle_filename, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_FILENAME", description: "DocSet bundle filename",
|
169
|
-
FastlaneCore::ConfigItem.new(key: :docset_atom_filename, env_name: "FL_APPLEDOC_DOCSET_ATOM_FILENAME", description: "DocSet atom feed filename",
|
170
|
-
FastlaneCore::ConfigItem.new(key: :docset_xml_filename, env_name: "FL_APPLEDOC_DOCSET_XML_FILENAME", description: "DocSet xml feed filename",
|
171
|
-
FastlaneCore::ConfigItem.new(key: :docset_package_filename, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_FILENAME", description: "DocSet package (.xar,.tgz) filename",
|
153
|
+
FastlaneCore::ConfigItem.new(key: :docset_bundle_id, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_ID", description: "DocSet bundle identifier", optional: true),
|
154
|
+
FastlaneCore::ConfigItem.new(key: :docset_bundle_name, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_NAME", description: "DocSet bundle name", optional: true),
|
155
|
+
FastlaneCore::ConfigItem.new(key: :docset_desc, env_name: "FL_APPLEDOC_DOCSET_DESC", description: "DocSet description", optional: true),
|
156
|
+
FastlaneCore::ConfigItem.new(key: :docset_copyright, env_name: "FL_APPLEDOC_DOCSET_COPYRIGHT", description: "DocSet copyright message", optional: true),
|
157
|
+
FastlaneCore::ConfigItem.new(key: :docset_feed_name, env_name: "FL_APPLEDOC_DOCSET_FEED_NAME", description: "DocSet feed name", optional: true),
|
158
|
+
FastlaneCore::ConfigItem.new(key: :docset_feed_url, env_name: "FL_APPLEDOC_DOCSET_FEED_URL", description: "DocSet feed URL", optional: true),
|
159
|
+
FastlaneCore::ConfigItem.new(key: :docset_feed_formats, env_name: "FL_APPLEDOC_DOCSET_FEED_FORMATS", description: "DocSet feed formats. Separated by a comma [atom,xml]", optional: true),
|
160
|
+
FastlaneCore::ConfigItem.new(key: :docset_package_url, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_URL", description: "DocSet package (.xar) URL", optional: true),
|
161
|
+
FastlaneCore::ConfigItem.new(key: :docset_fallback_url, env_name: "FL_APPLEDOC_DOCSET_FALLBACK_URL", description: "DocSet fallback URL", optional: true),
|
162
|
+
FastlaneCore::ConfigItem.new(key: :docset_publisher_id, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_ID", description: "DocSet publisher identifier", optional: true),
|
163
|
+
FastlaneCore::ConfigItem.new(key: :docset_publisher_name, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_NAME", description: "DocSet publisher name", optional: true),
|
164
|
+
FastlaneCore::ConfigItem.new(key: :docset_min_xcode_version, env_name: "FL_APPLEDOC_DOCSET_MIN_XCODE_VERSION", description: "DocSet min. Xcode version", optional: true),
|
165
|
+
FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform family", optional: true),
|
166
|
+
FastlaneCore::ConfigItem.new(key: :docset_cert_issuer, env_name: "FL_APPLEDOC_DOCSET_CERT_ISSUER", description: "DocSet certificate issuer", optional: true),
|
167
|
+
FastlaneCore::ConfigItem.new(key: :docset_cert_signer, env_name: "FL_APPLEDOC_DOCSET_CERT_SIGNER", description: "DocSet certificate signer", optional: true),
|
168
|
+
FastlaneCore::ConfigItem.new(key: :docset_bundle_filename, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_FILENAME", description: "DocSet bundle filename", optional: true),
|
169
|
+
FastlaneCore::ConfigItem.new(key: :docset_atom_filename, env_name: "FL_APPLEDOC_DOCSET_ATOM_FILENAME", description: "DocSet atom feed filename", optional: true),
|
170
|
+
FastlaneCore::ConfigItem.new(key: :docset_xml_filename, env_name: "FL_APPLEDOC_DOCSET_XML_FILENAME", description: "DocSet xml feed filename", optional: true),
|
171
|
+
FastlaneCore::ConfigItem.new(key: :docset_package_filename, env_name: "FL_APPLEDOC_DOCSET_PACKAGE_FILENAME", description: "DocSet package (.xar,.tgz) filename", optional: true),
|
172
172
|
|
173
173
|
# OPTIONS
|
174
|
-
FastlaneCore::ConfigItem.new(key: :options, env_name: "FL_APPLEDOC_OPTIONS", description: "Documentation generation options",
|
175
|
-
FastlaneCore::ConfigItem.new(key: :crossref_format, env_name: "FL_APPLEDOC_OPTIONS_CROSSREF_FORMAT", description: "Cross reference template regex",
|
176
|
-
FastlaneCore::ConfigItem.new(key: :exit_threshold, env_name: "FL_APPLEDOC_OPTIONS_EXIT_THRESHOLD", description: "Exit code threshold below which 0 is returned",
|
177
|
-
FastlaneCore::ConfigItem.new(key: :docs_section_title, env_name: "FL_APPLEDOC_OPTIONS_DOCS_SECTION_TITLE", description: "Title of the documentation section (defaults to \"Programming Guides\"",
|
174
|
+
FastlaneCore::ConfigItem.new(key: :options, env_name: "FL_APPLEDOC_OPTIONS", description: "Documentation generation options", optional: true),
|
175
|
+
FastlaneCore::ConfigItem.new(key: :crossref_format, env_name: "FL_APPLEDOC_OPTIONS_CROSSREF_FORMAT", description: "Cross reference template regex", optional: true),
|
176
|
+
FastlaneCore::ConfigItem.new(key: :exit_threshold, env_name: "FL_APPLEDOC_OPTIONS_EXIT_THRESHOLD", description: "Exit code threshold below which 0 is returned", type: Integer, default_value: 2, optional: true),
|
177
|
+
FastlaneCore::ConfigItem.new(key: :docs_section_title, env_name: "FL_APPLEDOC_OPTIONS_DOCS_SECTION_TITLE", description: "Title of the documentation section (defaults to \"Programming Guides\"", optional: true),
|
178
178
|
|
179
179
|
# WARNINGS
|
180
|
-
FastlaneCore::ConfigItem.new(key: :warnings, env_name: "FL_APPLEDOC_WARNINGS", description: "Documentation generation warnings",
|
180
|
+
FastlaneCore::ConfigItem.new(key: :warnings, env_name: "FL_APPLEDOC_WARNINGS", description: "Documentation generation warnings", optional: true),
|
181
181
|
|
182
182
|
# MISCELLANEOUS
|
183
|
-
FastlaneCore::ConfigItem.new(key: :logformat, env_name: "FL_APPLEDOC_LOGFORMAT", description: "Log format [0-3]",
|
184
|
-
FastlaneCore::ConfigItem.new(key: :verbose, env_name: "FL_APPLEDOC_VERBOSE", description: "Log verbosity level [0-6,xcode]",
|
183
|
+
FastlaneCore::ConfigItem.new(key: :logformat, env_name: "FL_APPLEDOC_LOGFORMAT", description: "Log format [0-3]", type: Integer, optional: true),
|
184
|
+
FastlaneCore::ConfigItem.new(key: :verbose, env_name: "FL_APPLEDOC_VERBOSE", description: "Log verbosity level [0-6,xcode]", skip_type_validation: true, optional: true) # allow Integer, String
|
185
185
|
]
|
186
186
|
end
|
187
187
|
|
@@ -136,8 +136,7 @@ module Fastlane
|
|
136
136
|
env_name: "FL_PROJECT_SIGNING_TARGETS",
|
137
137
|
optional: true,
|
138
138
|
type: Array,
|
139
|
-
description: "Specify targets you want to toggle the signing mech. (default to all targets)",
|
140
|
-
is_string: false),
|
139
|
+
description: "Specify targets you want to toggle the signing mech. (default to all targets)"),
|
141
140
|
FastlaneCore::ConfigItem.new(key: :code_sign_identity,
|
142
141
|
env_name: "FL_CODE_SIGN_IDENTITY",
|
143
142
|
description: "Code signing identity type (iPhone Developer, iPhone Distribution)",
|
@@ -47,7 +47,10 @@ module Fastlane
|
|
47
47
|
commands << Fastlane::Actions.sh("security unlock-keychain -p #{escaped_password} #{keychain_path}", log: false) if params[:unlock]
|
48
48
|
|
49
49
|
command = "security set-keychain-settings"
|
50
|
-
|
50
|
+
|
51
|
+
# https://ss64.com/osx/security-keychain-settings.html
|
52
|
+
# omitting 'timeout' option to specify "no timeout" if required
|
53
|
+
command << " -t #{params[:timeout]}" if params[:timeout] > 0
|
51
54
|
command << " -l" if params[:lock_when_sleeps]
|
52
55
|
command << " -u" if params[:lock_after_timeout]
|
53
56
|
command << " #{keychain_path}"
|
@@ -126,7 +129,7 @@ module Fastlane
|
|
126
129
|
type: Boolean,
|
127
130
|
default_value: false),
|
128
131
|
FastlaneCore::ConfigItem.new(key: :timeout,
|
129
|
-
description: 'timeout interval in seconds',
|
132
|
+
description: 'timeout interval in seconds. Set `0` if you want to specify "no time-out"',
|
130
133
|
type: Integer,
|
131
134
|
default_value: 300),
|
132
135
|
FastlaneCore::ConfigItem.new(key: :lock_when_sleeps,
|
@@ -157,13 +157,12 @@ module Fastlane
|
|
157
157
|
description: "Release note for distribution page"),
|
158
158
|
FastlaneCore::ConfigItem.new(key: :disable_notify,
|
159
159
|
optional: true,
|
160
|
-
|
160
|
+
type: Boolean,
|
161
161
|
default_value: false,
|
162
162
|
env_name: "DEPLOYGATE_DISABLE_NOTIFY",
|
163
163
|
description: "Disables Push notification emails"),
|
164
164
|
FastlaneCore::ConfigItem.new(key: :distribution_name,
|
165
165
|
optional: true,
|
166
|
-
is_string: true,
|
167
166
|
env_name: "DEPLOYGATE_DISTRIBUTION_NAME",
|
168
167
|
description: "Target Distribution Name")
|
169
168
|
]
|
@@ -148,8 +148,8 @@ Optional: If _gym_ can't automatically detect the provisioning profiles to use,
|
|
148
148
|
```ruby
|
149
149
|
build_app(
|
150
150
|
scheme: "Release",
|
151
|
+
export_method: "app-store",
|
151
152
|
export_options: {
|
152
|
-
method: "app-store",
|
153
153
|
provisioningProfiles: {
|
154
154
|
"com.example.bundleid" => "Provisioning Profile Name",
|
155
155
|
"com.example.bundleid2" => "Provisioning Profile Name 2"
|
@@ -38,21 +38,28 @@ As of Screengrab version 2.0.0, all Android test dependencies are AndroidX depen
|
|
38
38
|
Ensure that the following permissions exist in your **src/debug/AndroidManifest.xml**
|
39
39
|
|
40
40
|
```xml
|
41
|
-
|
42
|
-
|
43
|
-
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
41
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
42
|
+
xmlns:tools="http://schemas.android.com/tools">
|
44
43
|
|
45
|
-
<!-- Allows
|
46
|
-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
47
|
-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
44
|
+
<!-- Allows storing screenshots on external storage, where it can be accessed by ADB -->
|
45
|
+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
|
48
46
|
|
49
|
-
<!-- Allows changing locales -->
|
50
|
-
<uses-permission
|
47
|
+
<!-- Allows changing locales -->
|
48
|
+
<uses-permission
|
49
|
+
android:name="android.permission.CHANGE_CONFIGURATION"
|
50
|
+
tools:ignore="ProtectedPermissions" />
|
51
|
+
|
52
|
+
<!-- Allows changing SystemUI demo mode -->
|
53
|
+
<uses-permission
|
54
|
+
android:name="android.permission.DUMP"
|
55
|
+
tools:ignore="ProtectedPermissions" />
|
56
|
+
|
57
|
+
</manifest>
|
51
58
|
```
|
52
59
|
|
53
60
|
##### Configuring your <a href="#ui-tests">UI Tests</a> for Screenshots
|
54
61
|
|
55
|
-
1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
|
62
|
+
1. Add `LocaleTestRule` to your tests class to handle automatic switching of locales.
|
56
63
|
If you're using Java use:
|
57
64
|
```java
|
58
65
|
@ClassRule
|
@@ -63,7 +70,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
|
|
63
70
|
@Rule @JvmField
|
64
71
|
val localeTestRule = LocaleTestRule()
|
65
72
|
```
|
66
|
-
|
73
|
+
The `@JvmField` annotation is important. It won't work like this:
|
67
74
|
```kotlin
|
68
75
|
companion object {
|
69
76
|
@get:ClassRule
|
@@ -79,7 +86,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
|
|
79
86
|
- You can also create a lane and use `build_android_app`:
|
80
87
|
```ruby
|
81
88
|
desc "Build debug and test APK for screenshots"
|
82
|
-
lane :
|
89
|
+
lane :build_and_screengrab do
|
83
90
|
build_android_app(
|
84
91
|
task: 'assemble',
|
85
92
|
build_type: 'Debug'
|
@@ -88,6 +95,7 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
|
|
88
95
|
task: 'assemble',
|
89
96
|
build_type: 'AndroidTest'
|
90
97
|
)
|
98
|
+
screengrab()
|
91
99
|
end
|
92
100
|
```
|
93
101
|
- Once complete run `fastlane screengrab` in your app project directory to generate screenshots
|
@@ -163,7 +171,7 @@ public class JUnit4StyleTests {
|
|
163
171
|
public static final LocaleTestRule localeTestRule = new LocaleTestRule();
|
164
172
|
|
165
173
|
@Rule
|
166
|
-
public
|
174
|
+
public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class);
|
167
175
|
|
168
176
|
@Test
|
169
177
|
public void testTakeScreenshot() {
|
@@ -181,7 +189,7 @@ Kotlin:
|
|
181
189
|
@RunWith(JUnit4.class)
|
182
190
|
class JUnit4StyleTests {
|
183
191
|
@get:Rule
|
184
|
-
var activityRule =
|
192
|
+
var activityRule = ActivityScenarioRule(MainActivity::class.java)
|
185
193
|
|
186
194
|
@Rule @JvmField
|
187
195
|
val localeTestRule = LocaleTestRule()
|
@@ -208,22 +216,13 @@ When using JUnit 3 you'll need to add a bit more code:
|
|
208
216
|
- Use `LocaleUtil.changeDeviceLocaleTo(LocaleUtil.getEndingLocale());` in `tearDown()`
|
209
217
|
- Use `Screengrab.screenshot("name_of_screenshot_here");` to capture screenshots at the appropriate points in your tests
|
210
218
|
|
211
|
-
If you're having trouble getting your device unlocked and the screen activated to run tests, try using `ScreenUtil.activateScreenForTesting(activity);` in your test setup.
|
212
|
-
|
213
219
|
## Clean Status Bar
|
214
220
|
|
215
|
-
Screengrab can clean your status bar to make your screenshots even more beautiful.
|
221
|
+
Screengrab can clean your status bar to make your screenshots even more beautiful.
|
222
|
+
It is simply a wrapper that allows configuring SystemUI DemoMode in your code.
|
216
223
|
Note: the clean status bar feature is only supported on devices with *API level >= 23*.
|
217
224
|
|
218
|
-
|
219
|
-
```xml
|
220
|
-
<!-- Indicates the use of the clean status bar feature -->
|
221
|
-
<uses-feature android:name="tools.fastlane.screengrab.cleanstatusbar"/>
|
222
|
-
<!-- Allows for changing the status bar -->
|
223
|
-
<uses-permission android:name="android.permission.DUMP"/>
|
224
|
-
```
|
225
|
-
|
226
|
-
After that you can enable and disable the clean status bar at any moment during your tests.
|
225
|
+
You can enable and disable the clean status bar at any moment during your tests.
|
227
226
|
In most cases you probably want to do this in the @BeforeClass and @AfterClass methods.
|
228
227
|
```java
|
229
228
|
@BeforeClass
|
@@ -237,7 +236,7 @@ public static void afterAll() {
|
|
237
236
|
}
|
238
237
|
```
|
239
238
|
|
240
|
-
Have a look at the methods of the `CleanStatusBar` class to customize the status bar even more.
|
239
|
+
Have a look at the methods of the `CleanStatusBar` class to customize the status bar even more.
|
241
240
|
You could for example show the Bluetooth icon and the LTE text.
|
242
241
|
```java
|
243
242
|
new CleanStatusBar()
|