fastlane 2.170.0 → 2.175.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 +74 -74
- data/cert/lib/cert/options.rb +2 -2
- data/deliver/lib/deliver/app_screenshot.rb +5 -7
- data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
- data/deliver/lib/deliver/commands_generator.rb +1 -1
- data/deliver/lib/deliver/loader.rb +13 -29
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/setup.rb +8 -3
- data/deliver/lib/deliver/upload_metadata.rb +2 -0
- data/deliver/lib/deliver/upload_screenshots.rb +2 -1
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +12 -3
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -0
- data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
- data/fastlane/lib/fastlane/actions/artifactory.rb +36 -3
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
- data/fastlane/lib/fastlane/actions/build_app.rb +3 -1
- data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +16 -1
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +118 -0
- 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/docs/upload_to_testflight.md +5 -1
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -16
- data/fastlane/lib/fastlane/actions/git_commit.rb +7 -3
- data/fastlane/lib/fastlane/actions/github_api.rb +14 -3
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/nexus_upload.rb +1 -0
- data/fastlane/lib/fastlane/actions/pod_push.rb +9 -0
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +9 -1
- data/fastlane/lib/fastlane/actions/register_device.rb +3 -3
- data/fastlane/lib/fastlane/actions/register_devices.rb +4 -3
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_github_release.rb +21 -8
- data/fastlane/lib/fastlane/actions/slack.rb +4 -5
- data/fastlane/lib/fastlane/actions/spm.rb +2 -2
- data/fastlane/lib/fastlane/actions/swiftlint.rb +4 -4
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +4 -2
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +3 -0
- 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 +2 -2
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +213 -38
- data/fastlane/swift/Gymfile.swift +2 -2
- data/fastlane/swift/GymfileProtocol.swift +11 -3
- data/fastlane/swift/LaneFileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +2 -2
- data/fastlane/swift/MatchfileProtocol.swift +2 -2
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +2 -2
- data/fastlane/swift/PrecheckfileProtocol.swift +6 -2
- 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 +2 -2
- data/fastlane/swift/ScanfileProtocol.swift +14 -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 +15 -3
- 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/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 +28 -7
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +41 -16
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -4
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/project.rb +41 -14
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/frameit/lib/frameit/device_types.rb +7 -1
- data/gym/lib/gym/error_handler.rb +8 -0
- data/gym/lib/gym/generators/build_command_generator.rb +3 -1
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
- data/gym/lib/gym/options.rb +12 -2
- data/match/lib/match/encryption/openssl.rb +4 -2
- data/match/lib/match/nuke.rb +5 -0
- data/match/lib/match/options.rb +2 -2
- data/match/lib/match/storage/git_storage.rb +14 -10
- data/pilot/lib/pilot/options.rb +2 -2
- data/precheck/lib/precheck/options.rb +8 -3
- data/precheck/lib/precheck/rule_processor.rb +1 -1
- data/precheck/lib/precheck/runner.rb +1 -1
- data/scan/lib/scan/options.rb +15 -0
- data/scan/lib/scan/runner.rb +6 -1
- data/scan/lib/scan/slack_poster.rb +4 -1
- data/scan/lib/scan/test_command_generator.rb +3 -1
- data/screengrab/lib/screengrab/android_environment.rb +2 -2
- data/screengrab/lib/screengrab/runner.rb +2 -0
- data/sigh/lib/sigh/options.rb +2 -2
- data/sigh/lib/sigh/runner.rb +1 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
- data/snapshot/lib/snapshot/options.rb +17 -2
- data/snapshot/lib/snapshot/update.rb +1 -1
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/client.rb +14 -1
- data/spaceship/lib/spaceship/connect_api/api_client.rb +17 -2
- data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +7 -1
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +9 -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/device.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
- 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 +1 -0
- data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
- metadata +51 -21
- data/fastlane/lib/fastlane/actions/.download_dsyms.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_data_usage_data_protection.rb.swp +0 -0
@@ -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,
|
@@ -43,6 +43,10 @@ module Fastlane
|
|
43
43
|
command << "--skip-tests"
|
44
44
|
end
|
45
45
|
|
46
|
+
if params[:use_json]
|
47
|
+
command << "--use-json"
|
48
|
+
end
|
49
|
+
|
46
50
|
if params[:verbose]
|
47
51
|
command << "--verbose"
|
48
52
|
end
|
@@ -121,6 +125,11 @@ module Fastlane
|
|
121
125
|
optional: true,
|
122
126
|
type: Boolean,
|
123
127
|
env_name: "FL_POD_PUSH_SKIP_TESTS"),
|
128
|
+
FastlaneCore::ConfigItem.new(key: :use_json,
|
129
|
+
description: "Convert the podspec to JSON before pushing it to the repo",
|
130
|
+
optional: true,
|
131
|
+
type: Boolean,
|
132
|
+
env_name: "FL_POD_PUSH_USE_JSON"),
|
124
133
|
FastlaneCore::ConfigItem.new(key: :verbose,
|
125
134
|
description: "Show more debugging information",
|
126
135
|
optional: true,
|
@@ -32,6 +32,9 @@ module Fastlane
|
|
32
32
|
# optionally add the set-upstream component
|
33
33
|
command << '--set-upstream' if params[:set_upstream]
|
34
34
|
|
35
|
+
# optionally add the --push_options components
|
36
|
+
params[:push_options].each { |push_option| command << "--push-option=#{push_option}" } if params[:push_options]
|
37
|
+
|
35
38
|
# execute our command
|
36
39
|
Actions.sh('pwd')
|
37
40
|
return command.join(' ') if Helper.test?
|
@@ -84,7 +87,12 @@ module Fastlane
|
|
84
87
|
env_name: "FL_GIT_PUSH_USE_SET_UPSTREAM",
|
85
88
|
description: "Whether or not to use --set-upstream",
|
86
89
|
type: Boolean,
|
87
|
-
default_value: false)
|
90
|
+
default_value: false),
|
91
|
+
FastlaneCore::ConfigItem.new(key: :push_options,
|
92
|
+
env_name: "FL_GIT_PUSH_PUSH_OPTION",
|
93
|
+
description: "Array of strings to be passed using the '--push-option' option",
|
94
|
+
type: Array,
|
95
|
+
default_value: [])
|
88
96
|
]
|
89
97
|
end
|
90
98
|
|
@@ -27,7 +27,7 @@ module Fastlane
|
|
27
27
|
end
|
28
28
|
|
29
29
|
begin
|
30
|
-
Spaceship::ConnectAPI::Device.
|
30
|
+
Spaceship::ConnectAPI::Device.find_or_create(udid, name: name, platform: platform)
|
31
31
|
rescue => ex
|
32
32
|
UI.error(ex.to_s)
|
33
33
|
UI.crash!("Failed to register new device (name: #{name}, platform: #{platform}, UDID: #{udid})")
|
@@ -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,
|
@@ -77,7 +77,7 @@ module Fastlane
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def self.try_create_device(name: nil, platform: nil, udid: nil)
|
80
|
-
Spaceship::ConnectAPI::Device.
|
80
|
+
Spaceship::ConnectAPI::Device.find_or_create(udid, name: name, platform: platform)
|
81
81
|
rescue => ex
|
82
82
|
UI.error(ex.to_s)
|
83
83
|
UI.crash!("Failed to register new device (name: #{name}, UDID: #{udid})")
|
@@ -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,
|
@@ -155,6 +155,7 @@ module Fastlane
|
|
155
155
|
FastlaneCore::ConfigItem.new(key: :username,
|
156
156
|
env_name: "DELIVER_USER",
|
157
157
|
description: "Optional: Your Apple ID",
|
158
|
+
optional: true,
|
158
159
|
default_value: user,
|
159
160
|
default_value_dynamic: true),
|
160
161
|
FastlaneCore::ConfigItem.new(key: :platform,
|
@@ -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,
|
@@ -13,6 +13,7 @@ module Fastlane
|
|
13
13
|
|
14
14
|
repo_name = params[:repository_name]
|
15
15
|
api_token = params[:api_token]
|
16
|
+
api_bearer = params[:api_bearer]
|
16
17
|
server_url = params[:server_url]
|
17
18
|
tag_name = params[:tag_name]
|
18
19
|
|
@@ -28,6 +29,7 @@ module Fastlane
|
|
28
29
|
GithubApiAction.run(
|
29
30
|
server_url: server_url,
|
30
31
|
api_token: api_token,
|
32
|
+
api_bearer: api_bearer,
|
31
33
|
http_method: 'POST',
|
32
34
|
path: "repos/#{repo_name}/releases",
|
33
35
|
body: payload,
|
@@ -65,12 +67,13 @@ module Fastlane
|
|
65
67
|
assets = params[:upload_assets]
|
66
68
|
if assets && assets.count > 0
|
67
69
|
# upload assets
|
68
|
-
self.upload_assets(assets, json['upload_url'], api_token)
|
70
|
+
self.upload_assets(assets, json['upload_url'], api_token, api_bearer)
|
69
71
|
|
70
72
|
# fetch the release again, so that it contains the uploaded assets
|
71
73
|
GithubApiAction.run(
|
72
74
|
server_url: server_url,
|
73
75
|
api_token: api_token,
|
76
|
+
api_bearer: api_bearer,
|
74
77
|
http_method: 'GET',
|
75
78
|
path: "repos/#{repo_name}/releases/#{release_id}",
|
76
79
|
error_handlers: {
|
@@ -90,13 +93,13 @@ module Fastlane
|
|
90
93
|
end
|
91
94
|
end
|
92
95
|
|
93
|
-
def self.upload_assets(assets, upload_url_template, api_token)
|
96
|
+
def self.upload_assets(assets, upload_url_template, api_token, api_bearer)
|
94
97
|
assets.each do |asset|
|
95
|
-
self.upload(asset, upload_url_template, api_token)
|
98
|
+
self.upload(asset, upload_url_template, api_token, api_bearer)
|
96
99
|
end
|
97
100
|
end
|
98
101
|
|
99
|
-
def self.upload(asset_path, upload_url_template, api_token)
|
102
|
+
def self.upload(asset_path, upload_url_template, api_token, api_bearer)
|
100
103
|
# if it's a directory, zip it first in a temp directory, because we can only upload binary files
|
101
104
|
absolute_path = File.absolute_path(asset_path)
|
102
105
|
|
@@ -107,14 +110,14 @@ module Fastlane
|
|
107
110
|
Dir.mktmpdir do |dir|
|
108
111
|
tmpzip = File.join(dir, File.basename(absolute_path) + '.zip')
|
109
112
|
sh("cd \"#{File.dirname(absolute_path)}\"; zip -r --symlinks \"#{tmpzip}\" \"#{File.basename(absolute_path)}\" 2>&1 >/dev/null")
|
110
|
-
self.upload_file(tmpzip, upload_url_template, api_token)
|
113
|
+
self.upload_file(tmpzip, upload_url_template, api_token, api_bearer)
|
111
114
|
end
|
112
115
|
else
|
113
|
-
self.upload_file(absolute_path, upload_url_template, api_token)
|
116
|
+
self.upload_file(absolute_path, upload_url_template, api_token, api_bearer)
|
114
117
|
end
|
115
118
|
end
|
116
119
|
|
117
|
-
def self.upload_file(file, url_template, api_token)
|
120
|
+
def self.upload_file(file, url_template, api_token, api_bearer)
|
118
121
|
require 'addressable/template'
|
119
122
|
file_name = File.basename(file)
|
120
123
|
expanded_url = Addressable::Template.new(url_template).expand(name: file_name).to_s
|
@@ -122,6 +125,7 @@ module Fastlane
|
|
122
125
|
UI.important("Uploading #{file_name}")
|
123
126
|
GithubApiAction.run(
|
124
127
|
api_token: api_token,
|
128
|
+
api_bearer: api_bearer,
|
125
129
|
http_method: 'POST',
|
126
130
|
headers: headers,
|
127
131
|
url: expanded_url,
|
@@ -173,12 +177,21 @@ module Fastlane
|
|
173
177
|
FastlaneCore::ConfigItem.new(key: :api_token,
|
174
178
|
env_name: "FL_GITHUB_RELEASE_API_TOKEN",
|
175
179
|
description: "Personal API Token for GitHub - generate one at https://github.com/settings/tokens",
|
180
|
+
conflicting_options: [:api_bearer],
|
176
181
|
sensitive: true,
|
177
182
|
code_gen_sensitive: true,
|
178
183
|
is_string: true,
|
179
184
|
default_value: ENV["GITHUB_API_TOKEN"],
|
180
185
|
default_value_dynamic: true,
|
181
|
-
optional:
|
186
|
+
optional: true),
|
187
|
+
FastlaneCore::ConfigItem.new(key: :api_bearer,
|
188
|
+
env_name: "FL_GITHUB_RELEASE_API_BEARER",
|
189
|
+
sensitive: true,
|
190
|
+
code_gen_sensitive: true,
|
191
|
+
description: "Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
|
192
|
+
conflicting_options: [:api_token],
|
193
|
+
optional: true,
|
194
|
+
default_value: nil),
|
182
195
|
FastlaneCore::ConfigItem.new(key: :tag_name,
|
183
196
|
env_name: "FL_SET_GITHUB_RELEASE_TAG_NAME",
|
184
197
|
description: "Pass in the tag name",
|
@@ -115,8 +115,8 @@ module Fastlane
|
|
115
115
|
is_string: false),
|
116
116
|
FastlaneCore::ConfigItem.new(key: :default_payloads,
|
117
117
|
env_name: "FL_SLACK_DEFAULT_PAYLOADS",
|
118
|
-
description: "
|
119
|
-
|
118
|
+
description: "Specifies default payloads to include. Pass an empty array to suppress all the default payloads",
|
119
|
+
default_value: ['lane', 'test_result', 'git_branch', 'git_author', 'last_git_commit', 'last_git_commit_hash'],
|
120
120
|
type: Array),
|
121
121
|
FastlaneCore::ConfigItem.new(key: :attachment_properties,
|
122
122
|
env_name: "FL_SLACK_ATTACHMENT_PROPERTIES",
|
@@ -159,8 +159,7 @@ module Fastlane
|
|
159
159
|
"Build Date" => Time.new.to_s,
|
160
160
|
"Built by" => "Jenkins",
|
161
161
|
},
|
162
|
-
default_payloads: [:git_branch, :git_author], # Optional, lets you specify
|
163
|
-
# Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `last_git_commit`, `last_git_commit_hash`.
|
162
|
+
default_payloads: [:git_branch, :git_author], # Optional, lets you specify default payloads to include. Pass an empty array to suppress all the default payloads.
|
164
163
|
attachment_properties: { # Optional, lets you specify any other properties available for attachments in the slack API (see https://api.slack.com/docs/attachments).
|
165
164
|
# This hash is deep merged with the existing properties set using the other properties above. This allows your own fields properties to be appended to the existing fields that were created using the `payload` property for instance.
|
166
165
|
thumb_url: "http://example.com/path/to/thumb.png",
|
@@ -188,7 +187,7 @@ module Fastlane
|
|
188
187
|
|
189
188
|
def self.generate_slack_attachments(options)
|
190
189
|
color = (options[:success] ? 'good' : 'danger')
|
191
|
-
should_add_payload = ->(payload_name) { options[:default_payloads].
|
190
|
+
should_add_payload = ->(payload_name) { options[:default_payloads].map(&:to_sym).include?(payload_name.to_sym) }
|
192
191
|
|
193
192
|
slack_attachment = {
|
194
193
|
fallback: options[:message],
|
@@ -11,7 +11,7 @@ module Fastlane
|
|
11
11
|
cmd << "--disable-sandbox" if params[:disable_sandbox]
|
12
12
|
cmd << "--verbose" if params[:verbose]
|
13
13
|
cmd << params[:command] if package_commands.include?(params[:command])
|
14
|
-
cmd << "--enable-code-coverage" if params[:enable_code_coverage] && params[:command] == 'generate-xcodeproj'
|
14
|
+
cmd << "--enable-code-coverage" if params[:enable_code_coverage] && (params[:command] == 'generate-xcodeproj' || params[:command] == 'test')
|
15
15
|
if params[:xcconfig]
|
16
16
|
cmd << "--xcconfig-overrides #{params[:xcconfig]}"
|
17
17
|
end
|
@@ -47,7 +47,7 @@ module Fastlane
|
|
47
47
|
end),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :enable_code_coverage,
|
49
49
|
env_name: "FL_SPM_ENABLE_CODE_COVERAGE",
|
50
|
-
description: "Enables code coverage for the generated Xcode project when using the generate-xcodeproj command",
|
50
|
+
description: "Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command",
|
51
51
|
is_string: false,
|
52
52
|
optional: true),
|
53
53
|
FastlaneCore::ConfigItem.new(key: :build_path,
|
@@ -139,13 +139,13 @@ module Fastlane
|
|
139
139
|
optional: true),
|
140
140
|
FastlaneCore::ConfigItem.new(key: :reporter,
|
141
141
|
env_name: "FL_SWIFTLINT_REPORTER",
|
142
|
-
description: "Choose output reporter. Available: xcode, json, csv, checkstyle,
|
143
|
-
emoji, sonarqube, markdown, github-actions-logging",
|
142
|
+
description: "Choose output reporter. Available: xcode, json, csv, checkstyle, codeclimate, \
|
143
|
+
junit, html, emoji, sonarqube, markdown, github-actions-logging",
|
144
144
|
is_string: true,
|
145
145
|
optional: true,
|
146
146
|
verify_block: proc do |value|
|
147
|
-
available = ['xcode', 'json', 'csv', 'checkstyle', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
|
148
|
-
UI.
|
147
|
+
available = ['xcode', 'json', 'csv', 'checkstyle', 'codeclimate', 'junit', 'html', 'emoji', 'sonarqube', 'markdown', 'github-actions-logging']
|
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",
|
@@ -112,13 +112,15 @@ module Fastlane
|
|
112
112
|
|
113
113
|
json << {
|
114
114
|
"category" => category.id,
|
115
|
-
"purposes" => selected_purposes.map(&:id),
|
115
|
+
"purposes" => selected_purposes.map(&:id).sort.uniq,
|
116
116
|
"data_protections" => [
|
117
117
|
protection_id, tracking_id
|
118
|
-
].compact
|
118
|
+
].compact.sort.uniq
|
119
119
|
}
|
120
120
|
end
|
121
121
|
|
122
|
+
json.sort_by! { |c| c["category"] }
|
123
|
+
|
122
124
|
# Recursively call this method if no categories were selected for data collection
|
123
125
|
if json.empty?
|
124
126
|
UI.error("No categories were selected for data collection.")
|
@@ -71,6 +71,9 @@ module Fastlane
|
|
71
71
|
# Disabling colors if environment variable set
|
72
72
|
require 'fastlane_core/ui/disable_colors' if FastlaneCore::Helper.colors_disabled?
|
73
73
|
|
74
|
+
# Set interactive environment variable for spaceship (which can't require fastlane_core)
|
75
|
+
ENV["FASTLANE_IS_INTERACTIVE"] = FastlaneCore::UI.interactive?.to_s
|
76
|
+
|
74
77
|
ARGV.unshift("spaceship") if ARGV.first == "spaceauth"
|
75
78
|
tool_name = ARGV.first ? ARGV.first.downcase : nil
|
76
79
|
|
@@ -135,7 +135,7 @@ module Fastlane
|
|
135
135
|
if options
|
136
136
|
puts(Terminal::Table.new(
|
137
137
|
title: "#{name} Options".green,
|
138
|
-
headings: ['Key', 'Description', 'Env Var', 'Default'],
|
138
|
+
headings: ['Key', 'Description', 'Env Var(s)', 'Default'],
|
139
139
|
rows: FastlaneCore::PrintTable.transform_output(options)
|
140
140
|
))
|
141
141
|
else
|
@@ -197,7 +197,7 @@ module Fastlane
|
|
197
197
|
if options.kind_of?(Array)
|
198
198
|
options.each do |current|
|
199
199
|
if current.kind_of?(FastlaneCore::ConfigItem)
|
200
|
-
rows << [current.key.to_s.yellow, current.deprecated ? current.description.red : current.description, current.
|
200
|
+
rows << [current.key.to_s.yellow, current.deprecated ? current.description.red : current.description, current.env_names.join(", "), current.help_default_value]
|
201
201
|
elsif current.kind_of?(Array)
|
202
202
|
# Legacy actions that don't use the new config manager
|
203
203
|
UI.user_error!("Invalid number of elements in this row: #{current}. Must be 2 or 3") unless [2, 3].include?(current.count)
|
@@ -10,8 +10,8 @@ module Fastlane
|
|
10
10
|
rescue Gem::LoadError
|
11
11
|
UI.error("Could not find gem '#{gem_name}'")
|
12
12
|
UI.error("")
|
13
|
-
UI.error("If you installed fastlane using `
|
14
|
-
UI.command("
|
13
|
+
UI.error("If you installed fastlane using `gem install fastlane` run")
|
14
|
+
UI.command("gem install #{gem_name}")
|
15
15
|
UI.error("to install the missing gem")
|
16
16
|
UI.error("")
|
17
17
|
UI.error("If you use a Gemfile add this to your Gemfile:")
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// Deliverfile.swift
|
2
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) 2021 FastlaneTools
|
3
3
|
|
4
4
|
// This class is automatically included in FastlaneRunner during build
|
5
5
|
|
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
|
|
17
17
|
// during the `init` process, and you won't see this message
|
18
18
|
}
|
19
19
|
|
20
|
-
// Generated with fastlane 2.
|
20
|
+
// Generated with fastlane 2.175.0
|