fastlane 2.172.0 → 2.177.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 +82 -82
- data/cert/lib/cert/options.rb +2 -2
- data/deliver/lib/deliver/app_screenshot.rb +6 -2
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/upload_metadata.rb +3 -3
- data/deliver/lib/deliver/upload_screenshots.rb +12 -11
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -1
- data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
- data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
- data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
- data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
- data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
- data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
- data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
- 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/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +54 -19
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +2 -2
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +9 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- 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 +20 -14
- data/fastlane/swift/main.swift +1 -1
- data/fastlane_core/lib/fastlane_core.rb +1 -0
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +9 -5
- data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -2
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/project.rb +23 -9
- data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/gym/lib/gym/.runner.rb.swp +0 -0
- data/gym/lib/gym/error_handler.rb +8 -0
- data/{fastlane/lib/fastlane/actions/.update_fastlane.rb.swp → gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp} +0 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
- data/match/lib/match/nuke.rb +5 -0
- data/match/lib/match/options.rb +2 -2
- data/pilot/lib/pilot/build_manager.rb +16 -4
- data/pilot/lib/pilot/options.rb +3 -3
- data/precheck/lib/precheck/options.rb +2 -2
- data/precheck/lib/precheck/runner.rb +1 -1
- data/scan/lib/scan/detect_values.rb +4 -1
- data/scan/lib/scan/options.rb +10 -0
- data/scan/lib/scan/runner.rb +27 -0
- data/screengrab/lib/screengrab/android_environment.rb +2 -2
- data/screengrab/lib/screengrab/runner.rb +1 -2
- data/sigh/lib/sigh/options.rb +2 -2
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/client.rb +32 -18
- data/spaceship/lib/spaceship/connect_api/api_client.rb +40 -7
- data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
- data/spaceship/lib/spaceship/playground.rb +2 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
- data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
- metadata +35 -19
@@ -10,7 +10,7 @@ module Fastlane
|
|
10
10
|
binary_url = get_binary_link(binary, api_key, store_id, params[:group_ids])
|
11
11
|
return if binary_url.nil?
|
12
12
|
screenshots_url = get_screenshots_links(api_key, store_id, params[:screenshots], params[:locale], params[:device])
|
13
|
-
upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description])
|
13
|
+
upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description], params[:changelog])
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.get_binary_link(binary, api_key, store_id, group_ids)
|
@@ -101,7 +101,7 @@ module Fastlane
|
|
101
101
|
end.compact
|
102
102
|
end
|
103
103
|
|
104
|
-
def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description)
|
104
|
+
def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description, changelog)
|
105
105
|
screenshots = all_screenshots_links(screenshots)
|
106
106
|
uri = URI("#{APPALOOSA_SERVER}/#{store_id}/mobile_application_updates/upload")
|
107
107
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -111,6 +111,7 @@ module Fastlane
|
|
111
111
|
api_key: api_key,
|
112
112
|
mobile_application_update: {
|
113
113
|
description: description,
|
114
|
+
changelog: changelog,
|
114
115
|
binary_path: binary_path,
|
115
116
|
screenshot1: screenshots[0],
|
116
117
|
screenshot2: screenshots[1],
|
@@ -218,6 +219,10 @@ module Fastlane
|
|
218
219
|
FastlaneCore::ConfigItem.new(key: :description,
|
219
220
|
env_name: 'FL_APPALOOSA_DESCRIPTION',
|
220
221
|
description: 'Your app description',
|
222
|
+
optional: true),
|
223
|
+
FastlaneCore::ConfigItem.new(key: :changelog,
|
224
|
+
env_name: 'FL_APPALOOSA_CHANGELOG',
|
225
|
+
description: 'Your app changelog',
|
221
226
|
optional: true)
|
222
227
|
]
|
223
228
|
end
|
@@ -31,6 +31,10 @@ module Fastlane
|
|
31
31
|
|
32
32
|
params[:note] = options[:note] if options[:note].to_s.length > 0
|
33
33
|
|
34
|
+
if options[:timeout]
|
35
|
+
params[:timeout] = options[:timeout]
|
36
|
+
end
|
37
|
+
|
34
38
|
uri = URI.parse(appetize_url(options))
|
35
39
|
req = create_request(uri, params)
|
36
40
|
req.basic_auth(options[:api_token], nil)
|
@@ -147,7 +151,15 @@ module Fastlane
|
|
147
151
|
env_name: "APPETIZE_NOTE",
|
148
152
|
description: "Notes you wish to add to the uploaded app",
|
149
153
|
is_string: true,
|
150
|
-
optional: true)
|
154
|
+
optional: true),
|
155
|
+
FastlaneCore::ConfigItem.new(key: :timeout,
|
156
|
+
env_name: "APPETIZE_TIMEOUT",
|
157
|
+
description: "The number of seconds to wait until automatically ending the session due to user inactivity. Must be 30, 60, 90, 120, 180, 300, 600, 1800, 3600 or 7200. Default is 120",
|
158
|
+
type: Integer,
|
159
|
+
optional: true,
|
160
|
+
verify_block: proc do |value|
|
161
|
+
UI.user_error!("The value provided doesn't match any of the supported options.") unless [30, 60, 90, 120, 180, 300, 600, 1800, 3600, 7200].include?(value)
|
162
|
+
end)
|
151
163
|
]
|
152
164
|
end
|
153
165
|
|
@@ -21,7 +21,8 @@ module Fastlane
|
|
21
21
|
other_action.appetize(path: zipped_bundle,
|
22
22
|
api_token: params[:api_token],
|
23
23
|
public_key: params[:public_key],
|
24
|
-
note: params[:note]
|
24
|
+
note: params[:note],
|
25
|
+
timeout: params[:timeout])
|
25
26
|
|
26
27
|
public_key = Actions.lane_context[SharedValues::APPETIZE_PUBLIC_KEY]
|
27
28
|
UI.success("Generated Public Key: #{Actions.lane_context[SharedValues::APPETIZE_PUBLIC_KEY]}")
|
@@ -76,7 +77,14 @@ module Fastlane
|
|
76
77
|
FastlaneCore::ConfigItem.new(key: :note,
|
77
78
|
description: "Notes you wish to add to the uploaded app",
|
78
79
|
is_string: true,
|
79
|
-
optional: true)
|
80
|
+
optional: true),
|
81
|
+
FastlaneCore::ConfigItem.new(key: :timeout,
|
82
|
+
description: "The number of seconds to wait until automatically ending the session due to user inactivity. Must be 30, 60, 90, 120, 180, 300, 600, 1800, 3600 or 7200. Default is 120",
|
83
|
+
type: Integer,
|
84
|
+
optional: true,
|
85
|
+
verify_block: proc do |value|
|
86
|
+
UI.user_error!("The value provided doesn't match any of the supported options.") unless [30, 60, 90, 120, 180, 300, 600, 1800, 3600, 7200].include?(value)
|
87
|
+
end)
|
80
88
|
]
|
81
89
|
end
|
82
90
|
|
@@ -33,6 +33,8 @@ module Fastlane
|
|
33
33
|
cmd << "--cache-builds" if params[:cache_builds]
|
34
34
|
cmd << "--new-resolver" if params[:new_resolver]
|
35
35
|
cmd << "--log-path #{params[:log_path]}" if params[:log_path]
|
36
|
+
cmd << "--use-xcframeworks" if params[:use_xcframeworks]
|
37
|
+
cmd << "--archive" if params[:archive]
|
36
38
|
|
37
39
|
Actions.sh(cmd.join(' '))
|
38
40
|
end
|
@@ -50,6 +52,14 @@ module Fastlane
|
|
50
52
|
if params[:log_path] && !%w(build bootstrap update).include?(command_name)
|
51
53
|
UI.user_error!("Log path option is available only for 'build', 'bootstrap', and 'update' command.")
|
52
54
|
end
|
55
|
+
|
56
|
+
if params[:use_xcframeworks] && !%w(build bootstrap update).include?(command_name)
|
57
|
+
UI.user_error!("Use XCFrameworks option is available only for 'build', 'bootstrap', and 'update' command.")
|
58
|
+
end
|
59
|
+
|
60
|
+
if command_name != "build" && params[:archive]
|
61
|
+
UI.user_error!("Archive option is available only for 'build' command.")
|
62
|
+
end
|
53
63
|
end
|
54
64
|
|
55
65
|
def self.description
|
@@ -183,6 +193,18 @@ module Fastlane
|
|
183
193
|
env_name: "FL_CARTHAGE_LOG_PATH",
|
184
194
|
description: "Path to the xcode build output",
|
185
195
|
optional: true),
|
196
|
+
FastlaneCore::ConfigItem.new(key: :use_xcframeworks,
|
197
|
+
env_name: "FL_CARTHAGE_USE_XCFRAMEWORKS",
|
198
|
+
description: "Create xcframework bundles instead of one framework per platform (requires Xcode 12+)",
|
199
|
+
type: Boolean,
|
200
|
+
is_string: false,
|
201
|
+
default_value: false),
|
202
|
+
FastlaneCore::ConfigItem.new(key: :archive,
|
203
|
+
env_name: "FL_CARTHAGE_ARCHIVE",
|
204
|
+
description: "Archive built frameworks from the current project",
|
205
|
+
is_string: false,
|
206
|
+
type: Boolean,
|
207
|
+
default_value: false),
|
186
208
|
FastlaneCore::ConfigItem.new(key: :executable,
|
187
209
|
env_name: "FL_CARTHAGE_EXECUTABLE",
|
188
210
|
description: "Path to the `carthage` executable on your machine",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Fastlane
|
2
2
|
module Actions
|
3
3
|
class CocoapodsAction < Action
|
4
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
4
5
|
def self.run(params)
|
5
6
|
Actions.verify_gem!('cocoapods')
|
6
7
|
cmd = []
|
@@ -19,7 +20,8 @@ module Fastlane
|
|
19
20
|
|
20
21
|
cmd << '--no-clean' unless params[:clean]
|
21
22
|
cmd << '--no-integrate' unless params[:integrate]
|
22
|
-
cmd << '--clean-install' if params[:clean_install] &&
|
23
|
+
cmd << '--clean-install' if params[:clean_install] && pod_version_at_least("1.7", params)
|
24
|
+
cmd << '--allow-root' if params[:allow_root] && pod_version_at_least("1.10", params)
|
23
25
|
cmd << '--repo-update' if params[:repo_update]
|
24
26
|
cmd << '--silent' if params[:silent]
|
25
27
|
cmd << '--verbose' if params[:verbose]
|
@@ -46,6 +48,11 @@ module Fastlane
|
|
46
48
|
use_bundle_exec?(params) ? `bundle exec pod --version` : `pod --version`
|
47
49
|
end
|
48
50
|
|
51
|
+
def self.pod_version_at_least(at_least_version, params)
|
52
|
+
version = pod_version(params)
|
53
|
+
return Gem::Version.new(version) >= Gem::Version.new(at_least_version)
|
54
|
+
end
|
55
|
+
|
49
56
|
def self.call_error_callback(params, result)
|
50
57
|
if params[:error_callback]
|
51
58
|
Dir.chdir(FastlaneCore::FastlaneFolder.path) do
|
@@ -120,6 +127,13 @@ module Fastlane
|
|
120
127
|
is_string: false,
|
121
128
|
default_value: false,
|
122
129
|
type: Boolean),
|
130
|
+
FastlaneCore::ConfigItem.new(key: :allow_root,
|
131
|
+
env_name: "FL_COCOAPODS_ALLOW_ROOT",
|
132
|
+
description: 'Allows CocoaPods to run as root',
|
133
|
+
optional: true,
|
134
|
+
is_string: false,
|
135
|
+
default_value: false,
|
136
|
+
type: Boolean),
|
123
137
|
|
124
138
|
# Deprecated
|
125
139
|
FastlaneCore::ConfigItem.new(key: :clean,
|
@@ -99,16 +99,22 @@ If your machine is currently using SSH to authenticate with GitHub, you'll want
|
|
99
99
|
Using parameter:
|
100
100
|
|
101
101
|
```
|
102
|
-
match(git_basic_authorization: '<YOUR KEY>')
|
102
|
+
match(git_basic_authorization: '<YOUR BASE64 KEY>')
|
103
103
|
```
|
104
104
|
|
105
105
|
Using environment variable:
|
106
106
|
|
107
107
|
```
|
108
|
-
ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR KEY>'
|
108
|
+
ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR BASE64 KEY>'
|
109
109
|
match
|
110
110
|
```
|
111
111
|
|
112
|
+
To generate your base64 key [according to RFC 7617](https://tools.ietf.org/html/rfc7617), run this:
|
113
|
+
|
114
|
+
```
|
115
|
+
echo -n your_github_username:your_personal_access_token | base64
|
116
|
+
```
|
117
|
+
|
112
118
|
You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
|
113
119
|
|
114
120
|
##### Git Storage on GitHub - Deploy keys
|
@@ -39,13 +39,8 @@ module Fastlane
|
|
39
39
|
# Set version if it is latest
|
40
40
|
if version == 'latest'
|
41
41
|
# Try to grab the edit version first, else fallback to live version
|
42
|
-
UI.message("Looking for latest
|
43
|
-
|
44
|
-
|
45
|
-
UI.user_error!("Could not find latest version for your app, please try setting a specific version") if latest_version.nil?
|
46
|
-
|
47
|
-
latest_build = get_latest_build!(app_id: app.id, version: latest_version.version_string, platform: platform)
|
48
|
-
|
42
|
+
UI.message("Looking for latest build...")
|
43
|
+
latest_build = get_latest_build!(app_id: app.id, platform: platform)
|
49
44
|
version = latest_build.app_version
|
50
45
|
build_number = latest_build.version
|
51
46
|
elsif version == 'live'
|
@@ -59,11 +54,6 @@ module Fastlane
|
|
59
54
|
build_number = live_version.build.version
|
60
55
|
end
|
61
56
|
|
62
|
-
# Remove leading zeros from version string (eg. 1.02 -> 1.2)
|
63
|
-
if version
|
64
|
-
version = version.split(".").map(&:to_i).join(".")
|
65
|
-
end
|
66
|
-
|
67
57
|
# Make sure output_directory has a slash on the end
|
68
58
|
if output_directory && !output_directory.end_with?('/')
|
69
59
|
output_directory += '/'
|
@@ -161,14 +151,14 @@ module Fastlane
|
|
161
151
|
end
|
162
152
|
# rubocop:enable Metrics/PerceivedComplexity
|
163
153
|
|
164
|
-
def self.get_latest_build!(app_id: nil,
|
154
|
+
def self.get_latest_build!(app_id: nil, platform: nil)
|
165
155
|
filter = { app: app_id }
|
166
|
-
filter["preReleaseVersion.version"] = version
|
167
156
|
filter["preReleaseVersion.platform"] = platform
|
168
157
|
latest_build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion").first
|
169
158
|
|
170
159
|
if latest_build.nil?
|
171
|
-
UI.user_error!("Could not find
|
160
|
+
UI.user_error!("Could not find any build for platform #{platform}") if platform
|
161
|
+
UI.user_error!("Could not find any build")
|
172
162
|
end
|
173
163
|
|
174
164
|
return latest_build
|
@@ -37,7 +37,7 @@ module Fastlane
|
|
37
37
|
def self.available_options
|
38
38
|
[
|
39
39
|
FastlaneCore::ConfigItem.new(key: :path,
|
40
|
-
description: "The file you want to commit",
|
40
|
+
description: "The file(s) or directory(ies) you want to commit. You can pass an array of multiple file-paths or fileglobs \"*.txt\" to commit all matching files. The files already staged but not specified and untracked files won't be committed",
|
41
41
|
is_string: false),
|
42
42
|
FastlaneCore::ConfigItem.new(key: :message,
|
43
43
|
description: "The commit message that should be used"),
|
@@ -5,6 +5,7 @@ module Fastlane
|
|
5
5
|
Actions.verify_gem!('jazzy')
|
6
6
|
command = "jazzy"
|
7
7
|
command << " --config #{params[:config]}" if params[:config]
|
8
|
+
command << " --module-version #{params[:module_version]}" if params[:module_version]
|
8
9
|
Actions.sh(command)
|
9
10
|
end
|
10
11
|
|
@@ -24,6 +25,13 @@ module Fastlane
|
|
24
25
|
description: 'Path to jazzy config file',
|
25
26
|
is_string: true,
|
26
27
|
optional: true
|
28
|
+
),
|
29
|
+
FastlaneCore::ConfigItem.new(
|
30
|
+
key: :module_version,
|
31
|
+
env_name: 'FL_JAZZY_MODULE_VERSION',
|
32
|
+
description: 'Version string to use as part of the the default docs title and inside the docset',
|
33
|
+
is_string: true,
|
34
|
+
optional: true
|
27
35
|
)
|
28
36
|
]
|
29
37
|
end
|
@@ -44,7 +52,8 @@ module Fastlane
|
|
44
52
|
|
45
53
|
def self.example_code
|
46
54
|
[
|
47
|
-
'jazzy'
|
55
|
+
'jazzy',
|
56
|
+
'jazzy(config: ".jazzy.yaml", module_version: "2.1.37")'
|
48
57
|
]
|
49
58
|
end
|
50
59
|
|
@@ -38,7 +38,7 @@ module Fastlane
|
|
38
38
|
|
39
39
|
[
|
40
40
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
41
|
-
|
41
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
42
42
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
43
43
|
optional: true,
|
44
44
|
conflicting_options: [:api_key],
|
@@ -46,7 +46,7 @@ module Fastlane
|
|
46
46
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
47
47
|
end),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
49
|
-
|
49
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
50
50
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
51
51
|
type: Hash,
|
52
52
|
optional: true,
|
@@ -33,10 +33,9 @@ module Fastlane
|
|
33
33
|
command << '--set-upstream' if params[:set_upstream]
|
34
34
|
|
35
35
|
# optionally add the --push_options components
|
36
|
-
params[:push_options].each { |push_option| command << "--push-option=#{push_option}" }
|
36
|
+
params[:push_options].each { |push_option| command << "--push-option=#{push_option}" } if params[:push_options]
|
37
37
|
|
38
38
|
# execute our command
|
39
|
-
Actions.sh('pwd')
|
40
39
|
return command.join(' ') if Helper.test?
|
41
40
|
|
42
41
|
Actions.sh(command.join(' '))
|
@@ -69,7 +69,7 @@ module Fastlane
|
|
69
69
|
env_name: "FL_REGISTER_DEVICE_UDID",
|
70
70
|
description: "Provide the UDID of the device to register as"),
|
71
71
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
72
|
-
|
72
|
+
env_names: ["FL_REGISTER_DEVICE_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
73
73
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
74
74
|
optional: true,
|
75
75
|
conflicting_options: [:api_key],
|
@@ -77,7 +77,7 @@ module Fastlane
|
|
77
77
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
78
78
|
end),
|
79
79
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
80
|
-
|
80
|
+
env_names: ["FL_REGISTER_DEVICE_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
81
81
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
82
82
|
type: Hash,
|
83
83
|
optional: true,
|
@@ -118,7 +118,7 @@ module Fastlane
|
|
118
118
|
UI.user_error!("Could not find file '#{value}'") unless File.exist?(value)
|
119
119
|
end),
|
120
120
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
121
|
-
|
121
|
+
env_names: ["FL_REGISTER_DEVICES_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
122
122
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
123
123
|
optional: true,
|
124
124
|
conflicting_options: [:api_key],
|
@@ -126,7 +126,7 @@ module Fastlane
|
|
126
126
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
127
127
|
end),
|
128
128
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
129
|
-
|
129
|
+
env_names: ["FL_REGISTER_DEVICES_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
130
130
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
131
131
|
type: Hash,
|
132
132
|
optional: true,
|
@@ -111,7 +111,7 @@ module Fastlane
|
|
111
111
|
|
112
112
|
[
|
113
113
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
114
|
-
|
114
|
+
env_names: ["FL_SET_CHANGELOG_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
115
115
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
116
116
|
optional: true,
|
117
117
|
conflicting_options: [:api_key],
|
@@ -119,7 +119,7 @@ module Fastlane
|
|
119
119
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
120
120
|
end),
|
121
121
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
122
|
-
|
122
|
+
env_names: ["FL_SET_CHANGELOG_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
123
123
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
124
124
|
type: Hash,
|
125
125
|
optional: true,
|
@@ -145,7 +145,7 @@ module Fastlane
|
|
145
145
|
optional: true,
|
146
146
|
verify_block: proc do |value|
|
147
147
|
available = ['xcode', 'json', 'csv', 'checkstyle', 'codeclimate', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
|
148
|
-
UI.
|
148
|
+
UI.important("Known 'reporter' values are '#{available.join("', '")}'. If you're receiving errors from swiftlint related to the reporter, make sure the reporter identifier you're using is correct and it's supported by your version of swiftlint.") unless available.include?(value)
|
149
149
|
end),
|
150
150
|
FastlaneCore::ConfigItem.new(key: :quiet,
|
151
151
|
env_name: "FL_SWIFTLINT_QUIET",
|
@@ -140,7 +140,7 @@ module Fastlane
|
|
140
140
|
env_name: "FL_PROJECT_SIGNING_BUILD_CONFIGURATIONS",
|
141
141
|
optional: true,
|
142
142
|
type: Array,
|
143
|
-
description: "Specify build_configurations you want to toggle the signing mech. (default to all
|
143
|
+
description: "Specify build_configurations you want to toggle the signing mech. (default to all configurations)",
|
144
144
|
is_string: false),
|
145
145
|
FastlaneCore::ConfigItem.new(key: :code_sign_identity,
|
146
146
|
env_name: "FL_CODE_SIGN_IDENTITY",
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'thread'
|
2
|
-
|
3
1
|
module Fastlane
|
4
2
|
module Actions
|
5
3
|
class UploadSymbolsToCrashlyticsAction < Action
|
@@ -35,10 +33,11 @@ module Fastlane
|
|
35
33
|
UI.message("Using #{max_worker_threads} threads for Crashlytics dSYM upload 🏎")
|
36
34
|
end
|
37
35
|
|
38
|
-
|
39
|
-
handle_dsym(params,
|
36
|
+
worker = FastlaneCore::QueueWorker.new(max_worker_threads) do |dsym_path|
|
37
|
+
handle_dsym(params, dsym_path, max_worker_threads)
|
40
38
|
end
|
41
|
-
|
39
|
+
worker.batch_enqueue(dsym_paths)
|
40
|
+
worker.start
|
42
41
|
UI.success("Successfully uploaded dSYM files to Crashlytics 💯")
|
43
42
|
end
|
44
43
|
|
@@ -22,7 +22,11 @@ module Fastlane
|
|
22
22
|
return values if Helper.test?
|
23
23
|
|
24
24
|
if distribute_only
|
25
|
-
Pilot::BuildManager.new
|
25
|
+
build_manager = Pilot::BuildManager.new
|
26
|
+
build_manager.start(values, should_login: true)
|
27
|
+
|
28
|
+
build_manager.wait_for_build_processing_to_be_complete(false) unless values[:skip_waiting_for_build_processing]
|
29
|
+
build_manager.distribute(values) # we already have the finished config
|
26
30
|
else
|
27
31
|
Pilot::BuildManager.new.upload(values) # we already have the finished config
|
28
32
|
end
|