fastlane 2.217.0 → 2.219.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +102 -102
- data/deliver/lib/deliver/app_screenshot.rb +2 -2
- data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
- data/deliver/lib/deliver/detect_values.rb +1 -1
- data/deliver/lib/deliver/languages.rb +1 -1
- data/deliver/lib/deliver/loader.rb +2 -2
- data/deliver/lib/deliver/options.rb +4 -4
- data/deliver/lib/deliver/runner.rb +1 -1
- data/deliver/lib/deliver/sync_screenshots.rb +2 -2
- data/deliver/lib/deliver/upload_metadata.rb +4 -4
- data/deliver/lib/deliver/upload_price_tier.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +3 -3
- data/fastlane/lib/fastlane/action.rb +1 -1
- data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
- data/fastlane/lib/fastlane/actions/apteligent.rb +1 -1
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +2 -2
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/create_app_online.rb +1 -1
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_certificates.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_github_release.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +1 -1
- data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
- data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
- data/fastlane/lib/fastlane/actions/install_on_device.rb +1 -1
- data/fastlane/lib/fastlane/actions/ipa.rb +1 -1
- data/fastlane/lib/fastlane/actions/jazzy.rb +1 -1
- data/fastlane/lib/fastlane/actions/oclint.rb +3 -3
- data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +2 -2
- data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_github_release.rb +1 -1
- data/fastlane/lib/fastlane/actions/slather.rb +1 -1
- data/fastlane/lib/fastlane/actions/sonar.rb +12 -3
- data/fastlane/lib/fastlane/actions/splunkmint.rb +1 -1
- data/fastlane/lib/fastlane/actions/spm.rb +76 -2
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -2
- data/fastlane/lib/fastlane/actions/verify_build.rb +7 -4
- data/fastlane/lib/fastlane/actions/xcov.rb +1 -1
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
- data/fastlane/lib/fastlane/command_line_handler.rb +2 -4
- data/fastlane/lib/fastlane/commands_generator.rb +2 -2
- data/fastlane/lib/fastlane/fast_file.rb +1 -1
- data/fastlane/lib/fastlane/helper/dotenv_helper.rb +1 -1
- data/fastlane/lib/fastlane/junit_generator.rb +1 -1
- data/fastlane/lib/fastlane/lane_manager.rb +1 -2
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +0 -11
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/plugins/template/Gemfile.erb +27 -0
- data/fastlane/lib/fastlane/runner.rb +1 -1
- data/fastlane/lib/fastlane/setup/setup.rb +1 -1
- data/fastlane/lib/fastlane/swift_lane_manager.rb +2 -5
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +7 -4
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/Atomic.swift +1 -1
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +2 -2
- data/fastlane/swift/DeliverfileProtocol.swift +4 -4
- data/fastlane/swift/Fastlane.swift +79 -27
- data/fastlane/swift/Gymfile.swift +2 -2
- data/fastlane/swift/GymfileProtocol.swift +2 -2
- data/fastlane/swift/LaneFileProtocol.swift +5 -5
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +2 -2
- data/fastlane/swift/MatchfileProtocol.swift +2 -2
- data/fastlane/swift/OptionalConfigValue.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +2 -2
- data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +1 -1
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +2 -2
- data/fastlane/swift/ScanfileProtocol.swift +2 -2
- data/fastlane/swift/Screengrabfile.swift +2 -2
- data/fastlane/swift/ScreengrabfileProtocol.swift +2 -2
- data/fastlane/swift/Snapshotfile.swift +2 -2
- data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
- data/fastlane/swift/SocketClient.swift +1 -1
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/SocketResponse.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +26 -18
- data/fastlane/swift/main.swift +1 -1
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +1 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +17 -15
- data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +34 -12
- data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +5 -2
- data/fastlane_core/lib/fastlane_core/project.rb +3 -2
- data/fastlane_core/lib/fastlane_core/queue_worker.rb +1 -1
- data/fastlane_core/lib/fastlane_core/string_filters.rb +6 -6
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +2 -2
- data/frameit/lib/frameit/editor.rb +4 -4
- data/frameit/lib/frameit/trim_box.rb +1 -1
- data/gym/lib/gym/error_handler.rb +1 -1
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +3 -3
- data/gym/lib/gym/runner.rb +1 -1
- data/gym/lib/gym/xcodebuild_fixes/README.md +1 -1
- data/match/lib/match/generator.rb +9 -1
- data/match/lib/match/module.rb +2 -1
- data/match/lib/match/portal_cache.rb +106 -0
- data/match/lib/match/portal_fetcher.rb +72 -0
- data/match/lib/match/profile_includes.rb +120 -0
- data/match/lib/match/runner.rb +79 -175
- data/match/lib/match/spaceship_ensure.rb +15 -11
- data/match/lib/match/storage/git_storage.rb +8 -3
- data/match/lib/match/storage/gitlab/client.rb +1 -1
- data/match/lib/match/storage/gitlab_secure_files.rb +1 -1
- data/match/lib/match/storage/interface.rb +1 -1
- data/match/lib/match/storage/s3_storage.rb +1 -1
- data/match/lib/match.rb +3 -0
- data/produce/lib/produce/itunes_connect.rb +1 -1
- data/scan/lib/scan/detect_values.rb +78 -20
- data/scan/lib/scan/options.rb +1 -1
- data/scan/lib/scan/runner.rb +1 -1
- data/screengrab/lib/screengrab/runner.rb +1 -1
- data/sigh/lib/assets/resign.sh +10 -10
- data/sigh/lib/sigh/commands_generator.rb +1 -1
- data/sigh/lib/sigh/module.rb +98 -0
- data/sigh/lib/sigh/options.rb +55 -1
- data/sigh/lib/sigh/resign.rb +1 -1
- data/sigh/lib/sigh/runner.rb +36 -112
- data/snapshot/lib/snapshot/setup.rb +2 -2
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +23 -22
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -2
- data/spaceship/lib/spaceship/client.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/api_client.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/client.rb +4 -4
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +2 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/models/device.rb +82 -3
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +3 -3
- data/spaceship/lib/spaceship/connect_api.rb +2 -0
- data/spaceship/lib/spaceship/portal/app.rb +1 -1
- data/spaceship/lib/spaceship/portal/app_group.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/client.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_details.rb +2 -2
- data/spaceship/lib/spaceship/tunes/app_image.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +5 -5
- data/spaceship/lib/spaceship/tunes/build_details.rb +1 -1
- data/spaceship/lib/spaceship/tunes/iap.rb +3 -3
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +2 -2
- data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
- data/spaceship/lib/spaceship/tunes/iap_family_details.rb +2 -2
- data/spaceship/lib/spaceship/tunes/iap_family_list.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/supply/lib/supply/client.rb +1 -1
- data/supply/lib/supply/setup.rb +1 -1
- data/trainer/lib/trainer/junit_generator.rb +1 -1
- data/trainer/lib/trainer/test_parser.rb +1 -1
- metadata +45 -288
- data/fastlane/lib/fastlane/plugins/template/Gemfile +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fc5ecf6d8cf5ad100811fa9a386cf6bdc02d8e4054663e2c3a59d94624a7cda8
|
|
4
|
+
data.tar.gz: 4bf38a96eba5cf4cb1918155136ead760e2462e8b2bdbd19bf2f7f29afbb39a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 67749a0ada8ac8654b5d3b42221e41562249a014435e9f0bf8354e441370b072e34a25e422d40c81266a1395969d56c8898e6e0492d7d17b82e2c98864d97791
|
|
7
|
+
data.tar.gz: 7e9d404f597ad89a09df94ca1c51b4f1bf6a894493cf66c6efb69eefd93bce34e429407d80cdb289a2170b70f9619ef4f8f77af1065c78aa3ba6a6602540b034
|
data/README.md
CHANGED
|
@@ -35,17 +35,11 @@ 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'>Jimmy Dee</h4>
|
|
43
|
-
</td>
|
|
44
|
-
<td id='andrew-mcburney'>
|
|
45
|
-
<a href='https://github.com/armcburney'>
|
|
46
|
-
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
38
|
+
<td id='manu-wallner'>
|
|
39
|
+
<a href='https://github.com/milch'>
|
|
40
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
47
41
|
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
49
43
|
</td>
|
|
50
44
|
<td id='joshua-liebowitz'>
|
|
51
45
|
<a href='https://github.com/taquitos'>
|
|
@@ -53,153 +47,159 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
53
47
|
</a>
|
|
54
48
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
55
49
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='danielle-tomlinson'>
|
|
51
|
+
<a href='https://github.com/endocrimes'>
|
|
52
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
59
53
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
61
55
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='satoshi-namai'>
|
|
57
|
+
<a href='https://github.com/ainame'>
|
|
58
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
65
59
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
61
|
+
</td>
|
|
62
|
+
<td id='felix-krause'>
|
|
63
|
+
<a href='https://github.com/KrauseFx'>
|
|
64
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
65
|
+
</a>
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
67
67
|
</td>
|
|
68
68
|
</tr>
|
|
69
69
|
<tr>
|
|
70
|
-
<td id='
|
|
71
|
-
<a href='https://github.com/
|
|
72
|
-
<img src='https://github.com/
|
|
70
|
+
<td id='łukasz-grabowski'>
|
|
71
|
+
<a href='https://github.com/lucgrabowski'>
|
|
72
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'
|
|
74
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
75
75
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='maksym-grebenets'>
|
|
77
|
+
<a href='https://github.com/mgrebenets'>
|
|
78
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
79
79
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
81
81
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<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;'>
|
|
85
85
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
87
87
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='jérôme-lacoste'>
|
|
89
|
+
<a href='https://github.com/lacostej'>
|
|
90
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
91
91
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
93
93
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
94
|
+
<td id='stefan-natchev'>
|
|
95
|
+
<a href='https://github.com/snatchev'>
|
|
96
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
97
97
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
99
99
|
</td>
|
|
100
100
|
</tr>
|
|
101
101
|
<tr>
|
|
102
|
-
<td id='
|
|
103
|
-
<a href='https://github.com/
|
|
104
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='helmut-januschka'>
|
|
103
|
+
<a href='https://github.com/hjanuschka'>
|
|
104
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
107
107
|
</td>
|
|
108
|
-
<td id='
|
|
109
|
-
<a href='https://github.com/
|
|
110
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='manish-rathi'>
|
|
109
|
+
<a href='https://github.com/crazymanish'>
|
|
110
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
111
111
|
</a>
|
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
113
113
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='max-ott'>
|
|
115
|
+
<a href='https://github.com/max-ott'>
|
|
116
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
117
117
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
119
119
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='jimmy-dee'>
|
|
121
|
+
<a href='https://github.com/jdee'>
|
|
122
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
123
123
|
</a>
|
|
124
|
-
<h4 align='center'
|
|
124
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
125
125
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='roger-oba'>
|
|
127
|
+
<a href='https://github.com/rogerluan'>
|
|
128
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
129
129
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
131
131
|
</td>
|
|
132
132
|
</tr>
|
|
133
133
|
<tr>
|
|
134
|
-
<td id='
|
|
135
|
-
<a href='https://github.com/
|
|
136
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='iulian-onofrei'>
|
|
135
|
+
<a href='https://github.com/revolter'>
|
|
136
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
137
137
|
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
139
139
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='josh-holtz'>
|
|
141
|
+
<a href='https://github.com/joshdholtz'>
|
|
142
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
143
143
|
</a>
|
|
144
|
-
<h4 align='center'
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
145
145
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='daniel-jankowski'>
|
|
147
|
+
<a href='https://github.com/mollyIV'>
|
|
148
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
149
149
|
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
151
151
|
</td>
|
|
152
|
-
<td id='
|
|
153
|
-
<a href='https://github.com/
|
|
154
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='andrew-mcburney'>
|
|
153
|
+
<a href='https://github.com/armcburney'>
|
|
154
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
155
155
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
157
157
|
</td>
|
|
158
|
-
<td id='
|
|
159
|
-
<a href='https://github.com/
|
|
160
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='jan-piotrowski'>
|
|
159
|
+
<a href='https://github.com/janpio'>
|
|
160
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
161
161
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
163
163
|
</td>
|
|
164
164
|
</tr>
|
|
165
165
|
<tr>
|
|
166
|
-
<td id='
|
|
167
|
-
<a href='https://github.com/
|
|
168
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='luka-mirosevic'>
|
|
167
|
+
<a href='https://github.com/lmirosevic'>
|
|
168
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
169
169
|
</a>
|
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
171
171
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='kohki-miki'>
|
|
173
|
+
<a href='https://github.com/giginet'>
|
|
174
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
175
175
|
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
177
177
|
</td>
|
|
178
|
-
<td id='
|
|
179
|
-
<a href='https://github.com/
|
|
180
|
-
<img src='https://github.com/
|
|
178
|
+
<td id='aaron-brager'>
|
|
179
|
+
<a href='https://github.com/getaaron'>
|
|
180
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
181
181
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
183
183
|
</td>
|
|
184
|
-
<td id='
|
|
185
|
-
<a href='https://github.com/
|
|
186
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='olivier-halligon'>
|
|
185
|
+
<a href='https://github.com/AliSoftware'>
|
|
186
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
187
187
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
189
189
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='jorge-revuelta-h'>
|
|
191
|
+
<a href='https://github.com/minuscorp'>
|
|
192
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
193
193
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
195
195
|
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='matthew-ellis'>
|
|
199
|
+
<a href='https://github.com/matthewellis'>
|
|
200
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -201,7 +201,7 @@ module Deliver
|
|
|
201
201
|
|
|
202
202
|
def self.device_messages
|
|
203
203
|
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
|
204
|
-
# because it has same
|
|
204
|
+
# because it has same resolution as IOS_IPAD_PRO and will clobber
|
|
205
205
|
return {
|
|
206
206
|
ScreenSize::IOS_67_MESSAGES => [
|
|
207
207
|
[1290, 2796],
|
|
@@ -265,7 +265,7 @@ module Deliver
|
|
|
265
265
|
# reference: https://help.apple.com/app-store-connect/#/devd274dd925
|
|
266
266
|
def self.devices
|
|
267
267
|
# This list does not include iPad Pro 12.9-inch (3rd generation)
|
|
268
|
-
# because it has same
|
|
268
|
+
# because it has same resolution as IOS_IPAD_PRO and will clobber
|
|
269
269
|
return {
|
|
270
270
|
ScreenSize::IOS_67 => [
|
|
271
271
|
[1290, 2796],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Deliver
|
|
2
|
-
# This is a
|
|
2
|
+
# This is a convenient class that enumerates app store connect's screenshots in various degrees.
|
|
3
3
|
class AppScreenshotIterator
|
|
4
4
|
NUMBER_OF_THREADS = Helper.test? ? 1 : [ENV.fetch("DELIVER_NUMBER_OF_THREADS", 10).to_i, 10].min
|
|
5
5
|
|
|
@@ -59,7 +59,7 @@ module Deliver
|
|
|
59
59
|
# @yieldparam [optional, Spaceship::ConnectAPI::AppStoreVersionLocalization] localization
|
|
60
60
|
# @yieldparam [optional, Spaceship::ConnectAPI::AppStoreScreenshotSet] app_screenshot_set
|
|
61
61
|
# @yieldparam [optional, Deliver::AppScreenshot] screenshot
|
|
62
|
-
# @yieldparam [optional, Integer] index a number
|
|
62
|
+
# @yieldparam [optional, Integer] index a number represents which position the screenshot will be
|
|
63
63
|
def each_local_screenshot(screenshots_per_language, &block)
|
|
64
64
|
return enum_for(__method__, screenshots_per_language) unless block_given?
|
|
65
65
|
|
|
@@ -92,7 +92,7 @@ module Deliver
|
|
|
92
92
|
return unless languages
|
|
93
93
|
|
|
94
94
|
# 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
|
|
95
|
-
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is
|
|
95
|
+
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
|
|
96
96
|
all_languages = Deliver::Languages::ALL_LANGUAGES
|
|
97
97
|
diff = languages - all_languages
|
|
98
98
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Deliver
|
|
2
2
|
module Languages
|
|
3
3
|
# 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
|
|
4
|
-
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is
|
|
4
|
+
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
|
|
5
5
|
ALL_LANGUAGES = %w[ar-SA ca cs da de-DE el en-AU en-CA en-GB en-US es-ES es-MX fi fr-CA fr-FR he hi hr hu id it ja ko ms nl-NL no pl pt-BR pt-PT ro ru sk sv th tr uk vi zh-Hans zh-Hant]
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -31,7 +31,7 @@ module Deliver
|
|
|
31
31
|
|
|
32
32
|
def self.available_languages
|
|
33
33
|
# 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
|
|
34
|
-
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is
|
|
34
|
+
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
|
|
35
35
|
Deliver::Languages::ALL_LANGUAGES
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -40,7 +40,7 @@ module Deliver
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
# @param path [String] A directory path otherwise this initializer fails
|
|
43
|
-
# @param nested [
|
|
43
|
+
# @param nested [Boolean] Whether given path is nested of another special directory.
|
|
44
44
|
# This affects `expandable?` to return `false` when this set to `true`.
|
|
45
45
|
def initialize(path, nested: false)
|
|
46
46
|
raise(ArgumentError, "Given path must be a directory path - #{path}") unless File.directory?(path)
|
|
@@ -186,12 +186,12 @@ module Deliver
|
|
|
186
186
|
# release
|
|
187
187
|
FastlaneCore::ConfigItem.new(key: :automatic_release,
|
|
188
188
|
env_name: "DELIVER_AUTOMATIC_RELEASE",
|
|
189
|
-
description: "Should the app be automatically released once it's approved? (
|
|
189
|
+
description: "Should the app be automatically released once it's approved? (Cannot be used together with `auto_release_date`)",
|
|
190
190
|
type: Boolean,
|
|
191
191
|
optional: true),
|
|
192
192
|
FastlaneCore::ConfigItem.new(key: :auto_release_date,
|
|
193
193
|
env_name: "DELIVER_AUTO_RELEASE_DATE",
|
|
194
|
-
description: "Date in milliseconds for automatically releasing on pending approval (
|
|
194
|
+
description: "Date in milliseconds for automatically releasing on pending approval (Cannot be used together with `automatic_release`)",
|
|
195
195
|
type: Integer,
|
|
196
196
|
optional: true,
|
|
197
197
|
conflicting_options: [:automatic_release],
|
|
@@ -201,7 +201,7 @@ module Deliver
|
|
|
201
201
|
verify_block: proc do |value|
|
|
202
202
|
now_in_ms = Time.now.to_i * 1000
|
|
203
203
|
if value < now_in_ms
|
|
204
|
-
UI.user_error!("'#{value}' needs to be in the future and in
|
|
204
|
+
UI.user_error!("'#{value}' needs to be in the future and in milliseconds (current time is '#{now_in_ms}')")
|
|
205
205
|
end
|
|
206
206
|
end),
|
|
207
207
|
FastlaneCore::ConfigItem.new(key: :phased_release,
|
|
@@ -311,7 +311,7 @@ module Deliver
|
|
|
311
311
|
|
|
312
312
|
# App Metadata
|
|
313
313
|
FastlaneCore::ConfigItem.new(key: :individual_metadata_items,
|
|
314
|
-
|
|
314
|
+
env_names: ["DELIVER_INDIVUDAL_METADATA_ITEMS", "DELIVER_INDIVIDUAL_METADATA_ITEMS"], # The version with typo must be deprecated
|
|
315
315
|
description: "An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow",
|
|
316
316
|
deprecated: "Removed after the migration to the new App Store Connect API in June 2020",
|
|
317
317
|
type: Array,
|
|
@@ -55,7 +55,7 @@ module Deliver
|
|
|
55
55
|
verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
|
|
56
56
|
|
|
57
57
|
# Rejecting before upload meta
|
|
58
|
-
# Screenshots
|
|
58
|
+
# Screenshots cannot be updated or deleted if the app is in the "waiting for review" state
|
|
59
59
|
reject_version_if_possible if options[:reject_if_possible]
|
|
60
60
|
|
|
61
61
|
upload_metadata
|
|
@@ -45,7 +45,7 @@ module Deliver
|
|
|
45
45
|
|
|
46
46
|
unless FastlaneCore::Feature.enabled?('FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS')
|
|
47
47
|
UI.user_error!('Please set a value to "FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS" environment variable ' \
|
|
48
|
-
'if you
|
|
48
|
+
'if you acknowledge the risk and try this out.')
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
UI.important("Will begin uploading snapshots for '#{version.version_string}' on App Store Connect")
|
|
@@ -106,7 +106,7 @@ module Deliver
|
|
|
106
106
|
local_screenshots = iterator.each_local_screenshot(screenshots.group_by(&:language)).map do |localization, app_screenshot_set, screenshot, index|
|
|
107
107
|
if index >= 10
|
|
108
108
|
UI.user_error!("Found #{localization.locale} has more than 10 screenshots for #{app_screenshot_set.screenshot_display_type}. "\
|
|
109
|
-
"Make sure
|
|
109
|
+
"Make sure contains only necessary screenshots.")
|
|
110
110
|
end
|
|
111
111
|
ScreenshotComparable.create_from_local(screenshot: screenshot, app_screenshot_set: app_screenshot_set)
|
|
112
112
|
end
|
|
@@ -237,7 +237,7 @@ module Deliver
|
|
|
237
237
|
|
|
238
238
|
mapped_values = {}
|
|
239
239
|
|
|
240
|
-
# Only update primary and
|
|
240
|
+
# Only update primary and secondary category if explicitly set
|
|
241
241
|
unless primary_category.empty?
|
|
242
242
|
mapped = Spaceship::ConnectAPI::AppCategory.map_category_from_itc(
|
|
243
243
|
primary_category
|
|
@@ -468,7 +468,7 @@ module Deliver
|
|
|
468
468
|
end
|
|
469
469
|
localizations = app_info.get_app_info_localizations
|
|
470
470
|
|
|
471
|
-
LOCALISED_APP_VALUES.
|
|
471
|
+
LOCALISED_APP_VALUES.each do |key, localized_key|
|
|
472
472
|
current = options[key]
|
|
473
473
|
next unless current
|
|
474
474
|
|
|
@@ -485,7 +485,7 @@ module Deliver
|
|
|
485
485
|
next if app_info_locale.nil?
|
|
486
486
|
|
|
487
487
|
begin
|
|
488
|
-
current_value = app_info_locale.public_send(
|
|
488
|
+
current_value = app_info_locale.public_send(localized_key.to_sym)
|
|
489
489
|
rescue NoMethodError
|
|
490
490
|
next
|
|
491
491
|
end
|
|
@@ -699,7 +699,7 @@ module Deliver
|
|
|
699
699
|
end
|
|
700
700
|
UI.message("Setting the app's age rating...")
|
|
701
701
|
|
|
702
|
-
#
|
|
702
|
+
# Mapping from legacy ITC values to App Store Connect Values
|
|
703
703
|
mapped_values = {}
|
|
704
704
|
attributes = {}
|
|
705
705
|
json.each do |k, v|
|
|
@@ -19,7 +19,7 @@ module Deliver
|
|
|
19
19
|
# As of 2020-09-14:
|
|
20
20
|
# Official App Store Connect does not have an endpoint to get app prices for an app
|
|
21
21
|
# Need to get prices from the app's relationships
|
|
22
|
-
# Prices from app's relationship
|
|
22
|
+
# Prices from app's relationship does not have price tier so need to fetch app price with price tier relationship
|
|
23
23
|
app_prices = app.prices
|
|
24
24
|
if app_prices&.first
|
|
25
25
|
app_price = Spaceship::ConnectAPI.get_app_price(app_price_id: app_prices.first.id, includes: "priceTier").first
|
|
@@ -85,7 +85,7 @@ module Deliver
|
|
|
85
85
|
# Only delete screenshots if trying to upload
|
|
86
86
|
next unless screenshots_per_language.keys.include?(localization.locale)
|
|
87
87
|
|
|
88
|
-
UI.verbose("Queued delete
|
|
88
|
+
UI.verbose("Queued delete screenshot set job for #{localization.locale} #{app_screenshot_set.screenshot_display_type}")
|
|
89
89
|
worker.enqueue(DeleteScreenshotSetJob.new(app_screenshot_set, localization))
|
|
90
90
|
end
|
|
91
91
|
|
|
@@ -145,7 +145,7 @@ module Deliver
|
|
|
145
145
|
if duplicate
|
|
146
146
|
UI.message("Previous uploaded. Skipping '#{screenshot.path}'...")
|
|
147
147
|
else
|
|
148
|
-
UI.verbose("Queued upload
|
|
148
|
+
UI.verbose("Queued upload screenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{screenshot.path}")
|
|
149
149
|
worker.enqueue(UploadScreenshotJob.new(app_screenshot_set, screenshot.path))
|
|
150
150
|
number_of_screenshots_per_set[app_screenshot_set] += 1
|
|
151
151
|
end
|
|
@@ -258,7 +258,7 @@ module Deliver
|
|
|
258
258
|
# helper method so Spaceship::Tunes.client.available_languages is easier to test
|
|
259
259
|
def self.available_languages
|
|
260
260
|
# 2020-08-24 - Available locales are not available as an endpoint in App Store Connect
|
|
261
|
-
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is
|
|
261
|
+
# Update with Spaceship::Tunes.client.available_languages.sort (as long as endpoint is available)
|
|
262
262
|
Deliver::Languages::ALL_LANGUAGES
|
|
263
263
|
end
|
|
264
264
|
|
|
@@ -179,7 +179,7 @@ class String
|
|
|
179
179
|
|
|
180
180
|
def markdown_clean_heredoc!
|
|
181
181
|
self.chomp! # remove the last new line added by the heredoc
|
|
182
|
-
self.dedent! # remove the leading whitespace (similar to the
|
|
182
|
+
self.dedent! # remove the leading whitespace (similar to the squiggly heredoc `<<~`)
|
|
183
183
|
end
|
|
184
184
|
|
|
185
185
|
def dedent!
|
|
@@ -8,7 +8,7 @@ module Fastlane
|
|
|
8
8
|
command << upload_url(params[:app_id].shellescape)
|
|
9
9
|
|
|
10
10
|
# Fastlane::Actions.sh has buffering issues, no progress bar is shown in real time
|
|
11
|
-
# will
|
|
11
|
+
# will reenable it when it is fixed
|
|
12
12
|
# result = Fastlane::Actions.sh(command.join(' '), log: false)
|
|
13
13
|
shell_command = command.join(' ')
|
|
14
14
|
return shell_command if Helper.test?
|
|
@@ -45,7 +45,7 @@ module Fastlane
|
|
|
45
45
|
error = if json['message'] == "Invalid request.\n\n\"sha\" wasn't supplied."
|
|
46
46
|
"File already exists - please remove from repo before uploading or rename this upload"
|
|
47
47
|
else
|
|
48
|
-
"
|
|
48
|
+
"Unprocessable error"
|
|
49
49
|
end
|
|
50
50
|
UI.user_error!(error)
|
|
51
51
|
end
|
|
@@ -115,7 +115,7 @@ module Fastlane
|
|
|
115
115
|
env_name: "FL_COMMIT_GITHUB_FILE_API_BEARER",
|
|
116
116
|
sensitive: true,
|
|
117
117
|
code_gen_sensitive: true,
|
|
118
|
-
description: "Use a Bearer authorization token. Usually generated by
|
|
118
|
+
description: "Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
|
|
119
119
|
conflicting_options: [:api_token],
|
|
120
120
|
optional: true,
|
|
121
121
|
default_value: nil),
|
|
@@ -25,7 +25,7 @@ module Fastlane
|
|
|
25
25
|
missing = artifacts.reject { |a| File.exist?(a) }
|
|
26
26
|
UI.user_error!("Not all files were present in copy artifacts. Missing #{missing.join(', ')}") unless missing.empty?
|
|
27
27
|
else
|
|
28
|
-
# If we don't fail on
|
|
28
|
+
# If we don't fail on nonexistent files, don't try to copy nonexistent files
|
|
29
29
|
artifacts.select! { |artifact| File.exist?(artifact) }
|
|
30
30
|
end
|
|
31
31
|
|
|
@@ -10,7 +10,7 @@ module Fastlane
|
|
|
10
10
|
|
|
11
11
|
return if Helper.test?
|
|
12
12
|
|
|
13
|
-
Produce.config = params # we
|
|
13
|
+
Produce.config = params # we already have the finished config
|
|
14
14
|
|
|
15
15
|
Dir.chdir(FastlaneCore::FastlaneFolder.path || Dir.pwd) do
|
|
16
16
|
# This should be executed in the fastlane folder
|
|
@@ -169,7 +169,7 @@ module Fastlane
|
|
|
169
169
|
optional: true),
|
|
170
170
|
FastlaneCore::ConfigItem.new(key: :api_bearer,
|
|
171
171
|
env_name: "GITHUB_PULL_REQUEST_API_BEARER",
|
|
172
|
-
description: "Use a Bearer authorization token. Usually generated by
|
|
172
|
+
description: "Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
|
|
173
173
|
sensitive: true,
|
|
174
174
|
code_gen_sensitive: true,
|
|
175
175
|
conflicting_options: [:api_token],
|
|
@@ -17,7 +17,7 @@ module Fastlane
|
|
|
17
17
|
params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
Cert.config = params # we
|
|
20
|
+
Cert.config = params # we already have the finished config
|
|
21
21
|
|
|
22
22
|
Cert::Runner.new.launch
|
|
23
23
|
cert_file_path = ENV["CER_FILE_PATH"]
|
|
@@ -140,7 +140,7 @@ module Fastlane
|
|
|
140
140
|
env_name: "FL_GITHUB_RELEASE_API_BEARER",
|
|
141
141
|
sensitive: true,
|
|
142
142
|
code_gen_sensitive: true,
|
|
143
|
-
description: "Use a Bearer authorization token. Usually generated by
|
|
143
|
+
description: "Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
|
|
144
144
|
conflicting_options: [:api_token],
|
|
145
145
|
optional: true,
|
|
146
146
|
default_value: nil)
|