fastlane 2.178.0 → 2.179.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +93 -80
- data/cert/lib/cert/options.rb +1 -0
- data/cert/lib/cert/runner.rb +4 -0
- data/deliver/lib/deliver/download_screenshots.rb +1 -2
- data/deliver/lib/deliver/options.rb +1 -0
- data/deliver/lib/deliver/runner.rb +4 -0
- data/deliver/lib/deliver/setup.rb +0 -1
- data/deliver/lib/deliver/upload_metadata.rb +2 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +5 -0
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -2
- data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +4 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -0
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -2
- data/fastlane/lib/fastlane/helper/git_helper.rb +11 -7
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -2
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +441 -294
- 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 +3 -3
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -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/formatting/Brewfile.lock.json +11 -11
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +24 -1
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +13 -8
- data/gym/lib/gym/runner.rb +11 -4
- data/match/lib/match/change_password.rb +3 -3
- data/match/lib/match/encryption/interface.rb +1 -1
- data/match/lib/match/encryption/openssl.rb +2 -2
- data/match/lib/match/module.rb +1 -0
- data/pilot/lib/pilot/manager.rb +4 -0
- data/pilot/lib/pilot/options.rb +1 -0
- data/precheck/lib/precheck/options.rb +1 -0
- data/precheck/lib/precheck/runner.rb +4 -0
- data/screengrab/lib/screengrab/android_environment.rb +6 -4
- data/screengrab/lib/screengrab/runner.rb +1 -1
- data/sigh/lib/sigh/options.rb +1 -0
- data/sigh/lib/sigh/runner.rb +4 -0
- metadata +19 -16
@@ -1,16 +1,10 @@
|
|
1
1
|
module Fastlane
|
2
2
|
module Actions
|
3
|
-
module SharedValues
|
4
|
-
GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH APPCENTER_BRANCH CIRCLE_BRANCH).reject do |branch|
|
5
|
-
# Removing because tests break on CircleCI
|
6
|
-
Helper.test? && branch == "CIRCLE_BRANCH"
|
7
|
-
end.freeze
|
8
|
-
end
|
9
|
-
|
10
3
|
class GitBranchAction < Action
|
11
4
|
def self.run(params)
|
12
|
-
|
13
|
-
|
5
|
+
branch = Actions.git_branch
|
6
|
+
return "" if branch == "HEAD" # Backwards compatibility with the original (and documented) implementation
|
7
|
+
branch
|
14
8
|
end
|
15
9
|
|
16
10
|
#####################################################
|
@@ -22,7 +16,7 @@ module Fastlane
|
|
22
16
|
end
|
23
17
|
|
24
18
|
def self.details
|
25
|
-
"If no branch could be found, this action will return an empty string"
|
19
|
+
"If no branch could be found, this action will return an empty string. This is a wrapper for the internal action Actions.git_branch"
|
26
20
|
end
|
27
21
|
|
28
22
|
def self.available_options
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class MatchNukeAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
require 'match'
|
6
|
+
|
7
|
+
params.load_configuration_file("Matchfile")
|
8
|
+
params[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
|
9
|
+
|
10
|
+
cert_type = Match.cert_type_sym(params[:type])
|
11
|
+
UI.important("Going to revoke your '#{cert_type}' certificate type and provisioning profiles")
|
12
|
+
|
13
|
+
Match::Nuke.new.run(params, type: cert_type)
|
14
|
+
end
|
15
|
+
|
16
|
+
#####################################################
|
17
|
+
# @!group Documentation
|
18
|
+
#####################################################
|
19
|
+
|
20
|
+
def self.description
|
21
|
+
"Easily nuke your certificate and provisioning profiles (via _match_)"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.details
|
25
|
+
[
|
26
|
+
"Use the match_nuke action to revoke your certificates and provisioning profiles.",
|
27
|
+
"Don't worry, apps that are already available in the App Store / TestFlight will still work.",
|
28
|
+
"Builds distributed via Ad Hoc or Enterprise will be disabled after nuking your account, so you'll have to re-upload a new build.",
|
29
|
+
"After clearing your account you'll start from a clean state, and you can run match to generate your certificates and profiles again.",
|
30
|
+
"More information: https://docs.fastlane.tools/actions/match/"
|
31
|
+
].join("\n")
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.available_options
|
35
|
+
require 'match'
|
36
|
+
Match::Options.available_options
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.is_supported?(platform)
|
40
|
+
[:ios, :mac].include?(platform)
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.example_code
|
44
|
+
[
|
45
|
+
'match_nuke(type: "development")', # See all other options https://github.com/fastlane/fastlane/blob/master/match/lib/match/module.rb#L23
|
46
|
+
'match_nuke(type: "development", api_key: app_store_connect_api_key)'
|
47
|
+
]
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.authors
|
51
|
+
["crazymanish"]
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.category
|
55
|
+
:code_signing
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -21,9 +21,8 @@ module Fastlane
|
|
21
21
|
# download certificate
|
22
22
|
unless File.exist?(params[:certificate])
|
23
23
|
UI.message("Downloading root certificate from (#{ROOT_CERTIFICATE_URL}) to path '#{params[:certificate]}'")
|
24
|
-
require 'open-uri'
|
25
24
|
File.open(params[:certificate], "w:ASCII-8BIT") do |file|
|
26
|
-
file.write(
|
25
|
+
file.write(FastlaneCore::Helper.open_uri(ROOT_CERTIFICATE_URL, "rb").read)
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
@@ -2,6 +2,13 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
GIT_MERGE_COMMIT_FILTERING_OPTIONS = [:include_merges, :exclude_merges, :only_include_merges].freeze
|
4
4
|
|
5
|
+
module SharedValues
|
6
|
+
GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH APPCENTER_BRANCH CIRCLE_BRANCH).reject do |branch|
|
7
|
+
# Removing because tests break on CircleCI
|
8
|
+
Helper.test? && branch == "CIRCLE_BRANCH"
|
9
|
+
end.freeze
|
10
|
+
end
|
11
|
+
|
5
12
|
def self.git_log_between(pretty_format, from, to, merge_commit_filtering, date_format = nil, ancestry_path)
|
6
13
|
command = %w(git log)
|
7
14
|
command << "--pretty=#{pretty_format}"
|
@@ -112,14 +119,11 @@ module Fastlane
|
|
112
119
|
return nil
|
113
120
|
end
|
114
121
|
|
115
|
-
# Returns the current git branch
|
122
|
+
# Returns the current git branch, or "HEAD" if it's not checked out to any branch
|
123
|
+
# Can be replaced using the environment variable `GIT_BRANCH`
|
116
124
|
def self.git_branch
|
117
|
-
|
118
|
-
|
119
|
-
return s.to_s.strip if s.to_s.length > 0
|
120
|
-
nil
|
121
|
-
rescue
|
122
|
-
nil
|
125
|
+
env_name = SharedValues::GIT_BRANCH_ENV_VARS.find { |env_var| FastlaneCore::Env.truthy?(env_var) }
|
126
|
+
ENV.fetch(env_name.to_s) { Actions.sh("git rev-parse --abbrev-ref HEAD", log: false).chomp }
|
123
127
|
end
|
124
128
|
|
125
129
|
private_class_method
|
@@ -7,14 +7,13 @@ module Fastlane
|
|
7
7
|
# Returns an array of FastlanePlugin objects
|
8
8
|
def self.fetch_gems(search_query: nil)
|
9
9
|
require 'json'
|
10
|
-
require 'open-uri'
|
11
10
|
|
12
11
|
page = 1
|
13
12
|
plugins = []
|
14
13
|
loop do
|
15
14
|
url = "https://rubygems.org/api/v1/search.json?query=#{PluginManager.plugin_prefix}&page=#{page}"
|
16
15
|
FastlaneCore::UI.verbose("RubyGems API Request: #{url}")
|
17
|
-
results = JSON.parse(
|
16
|
+
results = JSON.parse(FastlaneCore::Helper.open_uri(url).read)
|
18
17
|
break if results.count == 0
|
19
18
|
|
20
19
|
plugins += results.collect do |current|
|
@@ -65,10 +65,9 @@ module Fastlane
|
|
65
65
|
|
66
66
|
# Checks if the gem name is still free on RubyGems
|
67
67
|
def gem_name_taken?(name)
|
68
|
-
require 'open-uri'
|
69
68
|
require 'json'
|
70
69
|
url = "https://rubygems.org/api/v1/gems/#{name}.json"
|
71
|
-
response = JSON.parse(
|
70
|
+
response = JSON.parse(FastlaneCore::Helper.open_uri(url).read)
|
72
71
|
return !!response['version']
|
73
72
|
rescue
|
74
73
|
false
|
@@ -155,11 +155,10 @@ module Fastlane
|
|
155
155
|
#####################################################
|
156
156
|
|
157
157
|
def self.fetch_gem_info_from_rubygems(gem_name)
|
158
|
-
require 'open-uri'
|
159
158
|
require 'json'
|
160
159
|
url = "https://rubygems.org/api/v1/gems/#{gem_name}.json"
|
161
160
|
begin
|
162
|
-
JSON.parse(
|
161
|
+
JSON.parse(FastlaneCore::Helper.open_uri(url).read)
|
163
162
|
rescue
|
164
163
|
nil
|
165
164
|
end
|
@@ -116,6 +116,7 @@ module Fastlane
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def get_type(param: nil, default_value: nil, optional: nil, param_type_override: nil, is_string: true)
|
119
|
+
require 'bigdecimal'
|
119
120
|
unless param_type_override.nil?
|
120
121
|
type = determine_type_from_override(type_override: param_type_override)
|
121
122
|
end
|
@@ -168,6 +169,9 @@ module Fastlane
|
|
168
169
|
default_value = "[:]"
|
169
170
|
elsif type != "Bool" && type != "[String]" && type != "Int" && type != "@escaping ((String) -> Void)" && type != "Float" && type != "Double"
|
170
171
|
default_value = "\"#{default_value}\""
|
172
|
+
elsif type == "Float" || type == "Double"
|
173
|
+
require 'bigdecimal'
|
174
|
+
default_value = BigDecimal(default_value).to_s
|
171
175
|
end
|
172
176
|
end
|
173
177
|
|
@@ -9,7 +9,7 @@ public protocol DeliverfileProtocol: class {
|
|
9
9
|
var apiKey: [String: Any]? { get }
|
10
10
|
|
11
11
|
/// Your Apple ID Username
|
12
|
-
var username: String { get }
|
12
|
+
var username: String? { get }
|
13
13
|
|
14
14
|
/// The bundle identifier of your app
|
15
15
|
var appIdentifier: String? { get }
|
@@ -192,7 +192,7 @@ public protocol DeliverfileProtocol: class {
|
|
192
192
|
public extension DeliverfileProtocol {
|
193
193
|
var apiKeyPath: String? { return nil }
|
194
194
|
var apiKey: [String: Any]? { return nil }
|
195
|
-
var username: String { return
|
195
|
+
var username: String? { return nil }
|
196
196
|
var appIdentifier: String? { return nil }
|
197
197
|
var appVersion: String? { return nil }
|
198
198
|
var ipa: String? { return nil }
|
@@ -256,4 +256,4 @@ public extension DeliverfileProtocol {
|
|
256
256
|
|
257
257
|
// Please don't remove the lines below
|
258
258
|
// They are used to detect outdated files
|
259
|
-
// FastlaneRunnerAPIVersion [0.9.
|
259
|
+
// FastlaneRunnerAPIVersion [0.9.62]
|
@@ -119,7 +119,7 @@ public func appStoreBuildNumber(apiKeyPath: String? = nil,
|
|
119
119
|
apiKey: [String: Any]? = nil,
|
120
120
|
initialBuildNumber: Any,
|
121
121
|
appIdentifier: String,
|
122
|
-
username: String,
|
122
|
+
username: String? = nil,
|
123
123
|
teamId: Any? = nil,
|
124
124
|
live: Bool = true,
|
125
125
|
version: String? = nil,
|
@@ -552,7 +552,7 @@ public func appledoc(input: Any,
|
|
552
552
|
*/
|
553
553
|
public func appstore(apiKeyPath: String? = nil,
|
554
554
|
apiKey: [String: Any]? = nil,
|
555
|
-
username: String,
|
555
|
+
username: String? = nil,
|
556
556
|
appIdentifier: String? = nil,
|
557
557
|
appVersion: String? = nil,
|
558
558
|
ipa: String? = nil,
|
@@ -1006,53 +1006,53 @@ public func buildAndroidApp(task: String? = nil,
|
|
1006
1006
|
|
1007
1007
|
More information: https://fastlane.tools/gym
|
1008
1008
|
*/
|
1009
|
-
public func buildApp(workspace: String? = nil,
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1009
|
+
@discardableResult public func buildApp(workspace: String? = nil,
|
1010
|
+
project: String? = nil,
|
1011
|
+
scheme: String? = nil,
|
1012
|
+
clean: Bool = false,
|
1013
|
+
outputDirectory: String = ".",
|
1014
|
+
outputName: String? = nil,
|
1015
|
+
configuration: String? = nil,
|
1016
|
+
silent: Bool = false,
|
1017
|
+
codesigningIdentity: String? = nil,
|
1018
|
+
skipPackageIpa: Bool = false,
|
1019
|
+
skipPackagePkg: Bool = false,
|
1020
|
+
includeSymbols: Bool? = nil,
|
1021
|
+
includeBitcode: Bool? = nil,
|
1022
|
+
exportMethod: String? = nil,
|
1023
|
+
exportOptions: [String: Any]? = nil,
|
1024
|
+
exportXcargs: String? = nil,
|
1025
|
+
skipBuildArchive: Bool? = nil,
|
1026
|
+
skipArchive: Bool? = nil,
|
1027
|
+
skipCodesigning: Bool? = nil,
|
1028
|
+
catalystPlatform: String? = nil,
|
1029
|
+
installerCertName: String? = nil,
|
1030
|
+
buildPath: String? = nil,
|
1031
|
+
archivePath: String? = nil,
|
1032
|
+
derivedDataPath: String? = nil,
|
1033
|
+
resultBundle: Bool = false,
|
1034
|
+
resultBundlePath: String? = nil,
|
1035
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1036
|
+
sdk: String? = nil,
|
1037
|
+
toolchain: String? = nil,
|
1038
|
+
destination: String? = nil,
|
1039
|
+
exportTeamId: String? = nil,
|
1040
|
+
xcargs: String? = nil,
|
1041
|
+
xcconfig: String? = nil,
|
1042
|
+
suppressXcodeOutput: Bool? = nil,
|
1043
|
+
disableXcpretty: Bool? = nil,
|
1044
|
+
xcprettyTestFormat: Bool? = nil,
|
1045
|
+
xcprettyFormatter: String? = nil,
|
1046
|
+
xcprettyReportJunit: String? = nil,
|
1047
|
+
xcprettyReportHtml: String? = nil,
|
1048
|
+
xcprettyReportJson: String? = nil,
|
1049
|
+
analyzeBuildTime: Bool? = nil,
|
1050
|
+
xcprettyUtf: Bool? = nil,
|
1051
|
+
skipProfileDetection: Bool = false,
|
1052
|
+
clonedSourcePackagesPath: String? = nil,
|
1053
|
+
skipPackageDependenciesResolution: Bool = false,
|
1054
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1055
|
+
useSystemScm: Bool = false) -> String
|
1056
1056
|
{
|
1057
1057
|
let command = RubyCommand(commandID: "", methodName: "build_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1058
1058
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1101,7 +1101,7 @@ public func buildApp(workspace: String? = nil,
|
|
1101
1101
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1102
1102
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1103
1103
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1104
|
-
|
1104
|
+
return runner.executeCommand(command)
|
1105
1105
|
}
|
1106
1106
|
|
1107
1107
|
/**
|
@@ -1157,50 +1157,50 @@ public func buildApp(workspace: String? = nil,
|
|
1157
1157
|
|
1158
1158
|
More information: https://fastlane.tools/gym
|
1159
1159
|
*/
|
1160
|
-
public func buildIosApp(workspace: String? = nil,
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1160
|
+
@discardableResult public func buildIosApp(workspace: String? = nil,
|
1161
|
+
project: String? = nil,
|
1162
|
+
scheme: String? = nil,
|
1163
|
+
clean: Bool = false,
|
1164
|
+
outputDirectory: String = ".",
|
1165
|
+
outputName: String? = nil,
|
1166
|
+
configuration: String? = nil,
|
1167
|
+
silent: Bool = false,
|
1168
|
+
codesigningIdentity: String? = nil,
|
1169
|
+
skipPackageIpa: Bool = false,
|
1170
|
+
includeSymbols: Bool? = nil,
|
1171
|
+
includeBitcode: Bool? = nil,
|
1172
|
+
exportMethod: String? = nil,
|
1173
|
+
exportOptions: [String: Any]? = nil,
|
1174
|
+
exportXcargs: String? = nil,
|
1175
|
+
skipBuildArchive: Bool? = nil,
|
1176
|
+
skipArchive: Bool? = nil,
|
1177
|
+
skipCodesigning: Bool? = nil,
|
1178
|
+
buildPath: String? = nil,
|
1179
|
+
archivePath: String? = nil,
|
1180
|
+
derivedDataPath: String? = nil,
|
1181
|
+
resultBundle: Bool = false,
|
1182
|
+
resultBundlePath: String? = nil,
|
1183
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1184
|
+
sdk: String? = nil,
|
1185
|
+
toolchain: String? = nil,
|
1186
|
+
destination: String? = nil,
|
1187
|
+
exportTeamId: String? = nil,
|
1188
|
+
xcargs: String? = nil,
|
1189
|
+
xcconfig: String? = nil,
|
1190
|
+
suppressXcodeOutput: Bool? = nil,
|
1191
|
+
disableXcpretty: Bool? = nil,
|
1192
|
+
xcprettyTestFormat: Bool? = nil,
|
1193
|
+
xcprettyFormatter: String? = nil,
|
1194
|
+
xcprettyReportJunit: String? = nil,
|
1195
|
+
xcprettyReportHtml: String? = nil,
|
1196
|
+
xcprettyReportJson: String? = nil,
|
1197
|
+
analyzeBuildTime: Bool? = nil,
|
1198
|
+
xcprettyUtf: Bool? = nil,
|
1199
|
+
skipProfileDetection: Bool = false,
|
1200
|
+
clonedSourcePackagesPath: String? = nil,
|
1201
|
+
skipPackageDependenciesResolution: Bool = false,
|
1202
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1203
|
+
useSystemScm: Bool = false) -> String
|
1204
1204
|
{
|
1205
1205
|
let command = RubyCommand(commandID: "", methodName: "build_ios_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1206
1206
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1246,7 +1246,7 @@ public func buildIosApp(workspace: String? = nil,
|
|
1246
1246
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1247
1247
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1248
1248
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1249
|
-
|
1249
|
+
return runner.executeCommand(command)
|
1250
1250
|
}
|
1251
1251
|
|
1252
1252
|
/**
|
@@ -1303,51 +1303,51 @@ public func buildIosApp(workspace: String? = nil,
|
|
1303
1303
|
|
1304
1304
|
More information: https://fastlane.tools/gym
|
1305
1305
|
*/
|
1306
|
-
public func buildMacApp(workspace: String? = nil,
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1306
|
+
@discardableResult public func buildMacApp(workspace: String? = nil,
|
1307
|
+
project: String? = nil,
|
1308
|
+
scheme: String? = nil,
|
1309
|
+
clean: Bool = false,
|
1310
|
+
outputDirectory: String = ".",
|
1311
|
+
outputName: String? = nil,
|
1312
|
+
configuration: String? = nil,
|
1313
|
+
silent: Bool = false,
|
1314
|
+
codesigningIdentity: String? = nil,
|
1315
|
+
skipPackagePkg: Bool = false,
|
1316
|
+
includeSymbols: Bool? = nil,
|
1317
|
+
includeBitcode: Bool? = nil,
|
1318
|
+
exportMethod: String? = nil,
|
1319
|
+
exportOptions: [String: Any]? = nil,
|
1320
|
+
exportXcargs: String? = nil,
|
1321
|
+
skipBuildArchive: Bool? = nil,
|
1322
|
+
skipArchive: Bool? = nil,
|
1323
|
+
skipCodesigning: Bool? = nil,
|
1324
|
+
installerCertName: String? = nil,
|
1325
|
+
buildPath: String? = nil,
|
1326
|
+
archivePath: String? = nil,
|
1327
|
+
derivedDataPath: String? = nil,
|
1328
|
+
resultBundle: Bool = false,
|
1329
|
+
resultBundlePath: String? = nil,
|
1330
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1331
|
+
sdk: String? = nil,
|
1332
|
+
toolchain: String? = nil,
|
1333
|
+
destination: String? = nil,
|
1334
|
+
exportTeamId: String? = nil,
|
1335
|
+
xcargs: String? = nil,
|
1336
|
+
xcconfig: String? = nil,
|
1337
|
+
suppressXcodeOutput: Bool? = nil,
|
1338
|
+
disableXcpretty: Bool? = nil,
|
1339
|
+
xcprettyTestFormat: Bool? = nil,
|
1340
|
+
xcprettyFormatter: String? = nil,
|
1341
|
+
xcprettyReportJunit: String? = nil,
|
1342
|
+
xcprettyReportHtml: String? = nil,
|
1343
|
+
xcprettyReportJson: String? = nil,
|
1344
|
+
analyzeBuildTime: Bool? = nil,
|
1345
|
+
xcprettyUtf: Bool? = nil,
|
1346
|
+
skipProfileDetection: Bool = false,
|
1347
|
+
clonedSourcePackagesPath: String? = nil,
|
1348
|
+
skipPackageDependenciesResolution: Bool = false,
|
1349
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1350
|
+
useSystemScm: Bool = false) -> String
|
1351
1351
|
{
|
1352
1352
|
let command = RubyCommand(commandID: "", methodName: "build_mac_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1353
1353
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1394,7 +1394,7 @@ public func buildMacApp(workspace: String? = nil,
|
|
1394
1394
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1395
1395
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1396
1396
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1397
|
-
|
1397
|
+
return runner.executeCommand(command)
|
1398
1398
|
}
|
1399
1399
|
|
1400
1400
|
/**
|
@@ -1942,7 +1942,7 @@ public func cert(development: Bool = false,
|
|
1942
1942
|
generateAppleCerts: Bool = true,
|
1943
1943
|
apiKeyPath: String? = nil,
|
1944
1944
|
apiKey: [String: Any]? = nil,
|
1945
|
-
username: String,
|
1945
|
+
username: String? = nil,
|
1946
1946
|
teamId: String? = nil,
|
1947
1947
|
teamName: String? = nil,
|
1948
1948
|
filename: String? = nil,
|
@@ -2068,26 +2068,26 @@ public func chatwork(apiToken: String,
|
|
2068
2068
|
|
2069
2069
|
More information: https://fastlane.tools/precheck
|
2070
2070
|
*/
|
2071
|
-
public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
2072
|
-
|
2073
|
-
|
2074
|
-
|
2075
|
-
|
2076
|
-
|
2077
|
-
|
2078
|
-
|
2079
|
-
|
2080
|
-
|
2081
|
-
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
|
2090
|
-
|
2071
|
+
@discardableResult public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
2072
|
+
apiKey: [String: Any]? = nil,
|
2073
|
+
appIdentifier: String,
|
2074
|
+
username: String? = nil,
|
2075
|
+
teamId: String? = nil,
|
2076
|
+
teamName: String? = nil,
|
2077
|
+
platform: String = "ios",
|
2078
|
+
defaultRuleLevel: Any = "error",
|
2079
|
+
includeInAppPurchases: Bool = true,
|
2080
|
+
useLive: Bool = false,
|
2081
|
+
negativeAppleSentiment: Any? = nil,
|
2082
|
+
placeholderText: Any? = nil,
|
2083
|
+
otherPlatforms: Any? = nil,
|
2084
|
+
futureFunctionality: Any? = nil,
|
2085
|
+
testWords: Any? = nil,
|
2086
|
+
curseWords: Any? = nil,
|
2087
|
+
freeStuffInIap: Any? = nil,
|
2088
|
+
customText: Any? = nil,
|
2089
|
+
copyrightDate: Any? = nil,
|
2090
|
+
unreachableUrls: Any? = nil) -> Bool
|
2091
2091
|
{
|
2092
2092
|
let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
2093
2093
|
RubyCommand.Argument(name: "api_key", value: apiKey),
|
@@ -2109,7 +2109,7 @@ public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
|
2109
2109
|
RubyCommand.Argument(name: "custom_text", value: customText),
|
2110
2110
|
RubyCommand.Argument(name: "copyright_date", value: copyrightDate),
|
2111
2111
|
RubyCommand.Argument(name: "unreachable_urls", value: unreachableUrls)])
|
2112
|
-
|
2112
|
+
return parseBool(fromString: runner.executeCommand(command))
|
2113
2113
|
}
|
2114
2114
|
|
2115
2115
|
/**
|
@@ -2780,7 +2780,7 @@ public func deleteKeychain(name: String? = nil,
|
|
2780
2780
|
*/
|
2781
2781
|
public func deliver(apiKeyPath: Any? = deliverfile.apiKeyPath,
|
2782
2782
|
apiKey: [String: Any]? = deliverfile.apiKey,
|
2783
|
-
username: Any = deliverfile.username,
|
2783
|
+
username: Any? = deliverfile.username,
|
2784
2784
|
appIdentifier: Any? = deliverfile.appIdentifier,
|
2785
2785
|
appVersion: Any? = deliverfile.appVersion,
|
2786
2786
|
ipa: Any? = deliverfile.ipa,
|
@@ -3504,7 +3504,7 @@ public func getCertificates(development: Bool = false,
|
|
3504
3504
|
generateAppleCerts: Bool = true,
|
3505
3505
|
apiKeyPath: String? = nil,
|
3506
3506
|
apiKey: [String: Any]? = nil,
|
3507
|
-
username: String,
|
3507
|
+
username: String? = nil,
|
3508
3508
|
teamId: String? = nil,
|
3509
3509
|
teamName: String? = nil,
|
3510
3510
|
filename: String? = nil,
|
@@ -3689,29 +3689,29 @@ public func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
|
|
3689
3689
|
|
3690
3690
|
**Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
|
3691
3691
|
*/
|
3692
|
-
public func getProvisioningProfile(adhoc: Bool = false,
|
3693
|
-
|
3694
|
-
|
3695
|
-
|
3696
|
-
|
3697
|
-
|
3698
|
-
|
3699
|
-
|
3700
|
-
|
3701
|
-
|
3702
|
-
|
3703
|
-
|
3704
|
-
|
3705
|
-
|
3706
|
-
|
3707
|
-
|
3708
|
-
|
3709
|
-
|
3710
|
-
|
3711
|
-
|
3712
|
-
|
3713
|
-
|
3714
|
-
|
3692
|
+
@discardableResult public func getProvisioningProfile(adhoc: Bool = false,
|
3693
|
+
developerId: Bool = false,
|
3694
|
+
development: Bool = false,
|
3695
|
+
skipInstall: Bool = false,
|
3696
|
+
force: Bool = false,
|
3697
|
+
appIdentifier: String,
|
3698
|
+
apiKeyPath: String? = nil,
|
3699
|
+
apiKey: [String: Any]? = nil,
|
3700
|
+
username: String? = nil,
|
3701
|
+
teamId: String? = nil,
|
3702
|
+
teamName: String? = nil,
|
3703
|
+
provisioningName: String? = nil,
|
3704
|
+
ignoreProfilesWithDifferentName: Bool = false,
|
3705
|
+
outputPath: String = ".",
|
3706
|
+
certId: String? = nil,
|
3707
|
+
certOwnerName: String? = nil,
|
3708
|
+
filename: String? = nil,
|
3709
|
+
skipFetchProfiles: Bool = false,
|
3710
|
+
skipCertificateVerification: Bool = false,
|
3711
|
+
platform: Any = "ios",
|
3712
|
+
readonly: Bool = false,
|
3713
|
+
templateName: String? = nil,
|
3714
|
+
failOnNameTaken: Bool = false) -> String
|
3715
3715
|
{
|
3716
3716
|
let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
3717
3717
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
@@ -3736,7 +3736,7 @@ public func getProvisioningProfile(adhoc: Bool = false,
|
|
3736
3736
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
3737
3737
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
3738
3738
|
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
3739
|
-
|
3739
|
+
return runner.executeCommand(command)
|
3740
3740
|
}
|
3741
3741
|
|
3742
3742
|
/**
|
@@ -3806,7 +3806,7 @@ public func getPushCertificate(development: Bool = false,
|
|
3806
3806
|
Get the version number of your project
|
3807
3807
|
|
3808
3808
|
- parameters:
|
3809
|
-
- xcodeproj: Path to the
|
3809
|
+
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed
|
3810
3810
|
- target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
|
3811
3811
|
- configuration: Configuration name, optional. Will be needed if you have altered the configurations from the default or your version number depends on the configuration selected
|
3812
3812
|
|
@@ -3843,7 +3843,7 @@ public func gitAdd(path: Any? = nil,
|
|
3843
3843
|
/**
|
3844
3844
|
Returns the name of the current git branch, possibly as managed by CI ENV vars
|
3845
3845
|
|
3846
|
-
If no branch could be found, this action will return an empty string
|
3846
|
+
If no branch could be found, this action will return an empty string. This is a wrapper for the internal action Actions.git_branch
|
3847
3847
|
*/
|
3848
3848
|
@discardableResult public func gitBranch() -> String {
|
3849
3849
|
let command = RubyCommand(commandID: "", methodName: "git_branch", className: nil, args: [])
|
@@ -3911,14 +3911,14 @@ public func gitSubmoduleUpdate(recursive: Bool = false,
|
|
3911
3911
|
|
3912
3912
|
- returns: Boolean value whether the tag exists or not
|
3913
3913
|
*/
|
3914
|
-
public func gitTagExists(tag: String,
|
3915
|
-
|
3916
|
-
|
3914
|
+
@discardableResult public func gitTagExists(tag: String,
|
3915
|
+
remote: Bool = false,
|
3916
|
+
remoteName: String = "origin") -> Bool
|
3917
3917
|
{
|
3918
3918
|
let command = RubyCommand(commandID: "", methodName: "git_tag_exists", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag),
|
3919
3919
|
RubyCommand.Argument(name: "remote", value: remote),
|
3920
3920
|
RubyCommand.Argument(name: "remote_name", value: remoteName)])
|
3921
|
-
|
3921
|
+
return parseBool(fromString: runner.executeCommand(command))
|
3922
3922
|
}
|
3923
3923
|
|
3924
3924
|
/**
|
@@ -4148,53 +4148,53 @@ public func gradle(task: String? = nil,
|
|
4148
4148
|
|
4149
4149
|
More information: https://fastlane.tools/gym
|
4150
4150
|
*/
|
4151
|
-
public func gym(workspace: Any? = gymfile.workspace,
|
4152
|
-
|
4153
|
-
|
4154
|
-
|
4155
|
-
|
4156
|
-
|
4157
|
-
|
4158
|
-
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4164
|
-
|
4165
|
-
|
4166
|
-
|
4167
|
-
|
4168
|
-
|
4169
|
-
|
4170
|
-
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
4174
|
-
|
4175
|
-
|
4176
|
-
|
4177
|
-
|
4178
|
-
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
|
4183
|
-
|
4184
|
-
|
4185
|
-
|
4186
|
-
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
|
-
|
4191
|
-
|
4192
|
-
|
4193
|
-
|
4194
|
-
|
4195
|
-
|
4196
|
-
|
4197
|
-
|
4151
|
+
@discardableResult public func gym(workspace: Any? = gymfile.workspace,
|
4152
|
+
project: Any? = gymfile.project,
|
4153
|
+
scheme: Any? = gymfile.scheme,
|
4154
|
+
clean: Bool = gymfile.clean,
|
4155
|
+
outputDirectory: Any = gymfile.outputDirectory,
|
4156
|
+
outputName: Any? = gymfile.outputName,
|
4157
|
+
configuration: Any? = gymfile.configuration,
|
4158
|
+
silent: Bool = gymfile.silent,
|
4159
|
+
codesigningIdentity: Any? = gymfile.codesigningIdentity,
|
4160
|
+
skipPackageIpa: Bool = gymfile.skipPackageIpa,
|
4161
|
+
skipPackagePkg: Bool = gymfile.skipPackagePkg,
|
4162
|
+
includeSymbols: Bool? = gymfile.includeSymbols,
|
4163
|
+
includeBitcode: Bool? = gymfile.includeBitcode,
|
4164
|
+
exportMethod: Any? = gymfile.exportMethod,
|
4165
|
+
exportOptions: [String: Any]? = gymfile.exportOptions,
|
4166
|
+
exportXcargs: Any? = gymfile.exportXcargs,
|
4167
|
+
skipBuildArchive: Bool? = gymfile.skipBuildArchive,
|
4168
|
+
skipArchive: Bool? = gymfile.skipArchive,
|
4169
|
+
skipCodesigning: Bool? = gymfile.skipCodesigning,
|
4170
|
+
catalystPlatform: Any? = gymfile.catalystPlatform,
|
4171
|
+
installerCertName: Any? = gymfile.installerCertName,
|
4172
|
+
buildPath: Any? = gymfile.buildPath,
|
4173
|
+
archivePath: Any? = gymfile.archivePath,
|
4174
|
+
derivedDataPath: Any? = gymfile.derivedDataPath,
|
4175
|
+
resultBundle: Bool = gymfile.resultBundle,
|
4176
|
+
resultBundlePath: Any? = gymfile.resultBundlePath,
|
4177
|
+
buildlogPath: Any = gymfile.buildlogPath,
|
4178
|
+
sdk: Any? = gymfile.sdk,
|
4179
|
+
toolchain: Any? = gymfile.toolchain,
|
4180
|
+
destination: Any? = gymfile.destination,
|
4181
|
+
exportTeamId: Any? = gymfile.exportTeamId,
|
4182
|
+
xcargs: Any? = gymfile.xcargs,
|
4183
|
+
xcconfig: Any? = gymfile.xcconfig,
|
4184
|
+
suppressXcodeOutput: Bool? = gymfile.suppressXcodeOutput,
|
4185
|
+
disableXcpretty: Bool? = gymfile.disableXcpretty,
|
4186
|
+
xcprettyTestFormat: Bool? = gymfile.xcprettyTestFormat,
|
4187
|
+
xcprettyFormatter: Any? = gymfile.xcprettyFormatter,
|
4188
|
+
xcprettyReportJunit: Any? = gymfile.xcprettyReportJunit,
|
4189
|
+
xcprettyReportHtml: Any? = gymfile.xcprettyReportHtml,
|
4190
|
+
xcprettyReportJson: Any? = gymfile.xcprettyReportJson,
|
4191
|
+
analyzeBuildTime: Bool? = gymfile.analyzeBuildTime,
|
4192
|
+
xcprettyUtf: Bool? = gymfile.xcprettyUtf,
|
4193
|
+
skipProfileDetection: Bool = gymfile.skipProfileDetection,
|
4194
|
+
clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath,
|
4195
|
+
skipPackageDependenciesResolution: Bool = gymfile.skipPackageDependenciesResolution,
|
4196
|
+
disablePackageAutomaticUpdates: Bool = gymfile.disablePackageAutomaticUpdates,
|
4197
|
+
useSystemScm: Bool = gymfile.useSystemScm) -> String
|
4198
4198
|
{
|
4199
4199
|
let command = RubyCommand(commandID: "", methodName: "gym", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
4200
4200
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -4243,7 +4243,7 @@ public func gym(workspace: Any? = gymfile.workspace,
|
|
4243
4243
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
4244
4244
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
4245
4245
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
4246
|
-
|
4246
|
+
return runner.executeCommand(command)
|
4247
4247
|
}
|
4248
4248
|
|
4249
4249
|
/**
|
@@ -4587,9 +4587,9 @@ public func installOnDevice(extra: String? = nil,
|
|
4587
4587
|
|
4588
4588
|
Install provisioning profile from path for current user
|
4589
4589
|
*/
|
4590
|
-
public func installProvisioningProfile(path: String) {
|
4590
|
+
@discardableResult public func installProvisioningProfile(path: String) -> String {
|
4591
4591
|
let command = RubyCommand(commandID: "", methodName: "install_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "path", value: path)])
|
4592
|
-
|
4592
|
+
return runner.executeCommand(command)
|
4593
4593
|
}
|
4594
4594
|
|
4595
4595
|
/**
|
@@ -4789,7 +4789,7 @@ public func jira(url: String,
|
|
4789
4789
|
apiKey: [String: Any]? = nil,
|
4790
4790
|
live: Bool = false,
|
4791
4791
|
appIdentifier: String,
|
4792
|
-
username: String,
|
4792
|
+
username: String? = nil,
|
4793
4793
|
version: String? = nil,
|
4794
4794
|
platform: String = "ios",
|
4795
4795
|
initialBuildNumber: Int = 1,
|
@@ -5047,6 +5047,153 @@ public func match(type: Any = matchfile.type,
|
|
5047
5047
|
_ = runner.executeCommand(command)
|
5048
5048
|
}
|
5049
5049
|
|
5050
|
+
/**
|
5051
|
+
Easily nuke your certificate and provisioning profiles (via _match_)
|
5052
|
+
|
5053
|
+
- parameters:
|
5054
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
5055
|
+
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
5056
|
+
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
5057
|
+
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
5058
|
+
- skipProvisioningProfiles: Skip syncing provisioning profiles
|
5059
|
+
- appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
|
5060
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
5061
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
5062
|
+
- username: Your Apple ID Username
|
5063
|
+
- teamId: The ID of your Developer Portal team if you're in multiple teams
|
5064
|
+
- teamName: The name of your Developer Portal team if you're in multiple teams
|
5065
|
+
- storageMode: Define where you want to store your certificates
|
5066
|
+
- gitUrl: URL to the git repo containing all the certificates
|
5067
|
+
- gitBranch: Specific git branch to use
|
5068
|
+
- gitFullName: git user full name to commit
|
5069
|
+
- gitUserEmail: git user email to commit
|
5070
|
+
- shallowClone: Make a shallow clone of the repository (truncate the history to 1 revision)
|
5071
|
+
- cloneBranchDirectly: Clone just the branch specified, instead of the whole repo. This requires that the branch already exists. Otherwise the command will fail
|
5072
|
+
- gitBasicAuthorization: Use a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64
|
5073
|
+
- gitBearerAuthorization: Use a bearer authorization header to access the git repo (e.g.: access to an Azure DevOps repository), usually a string in Base64
|
5074
|
+
- gitPrivateKey: Use a private key to access the git repo (e.g.: access to GitHub repository via Deploy keys), usually a id_rsa named file or the contents hereof
|
5075
|
+
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
5076
|
+
- googleCloudKeysFile: Path to the gc_keys.json file
|
5077
|
+
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
5078
|
+
- s3Region: Name of the S3 region
|
5079
|
+
- s3AccessKey: S3 access key
|
5080
|
+
- s3SecretAccessKey: S3 secret access key
|
5081
|
+
- s3Bucket: Name of the S3 bucket
|
5082
|
+
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
5083
|
+
- keychainName: Keychain the items should be imported to
|
5084
|
+
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
5085
|
+
- force: Renew the provisioning profiles every time you run match
|
5086
|
+
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
|
5087
|
+
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
5088
|
+
- skipDocs: Skip generation of a README.md for the created git repository
|
5089
|
+
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
5090
|
+
- deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
|
5091
|
+
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
5092
|
+
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
5093
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
5094
|
+
- skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
|
5095
|
+
- outputPath: Path in which to export certificates, key and profile
|
5096
|
+
- skipSetPartitionList: Skips setting the partition list (which can sometimes take a long time). Setting the partition list is usually needed to prevent Xcode from prompting to allow a cert to be used for signing
|
5097
|
+
- verbose: Print out extra information and all commands
|
5098
|
+
|
5099
|
+
Use the match_nuke action to revoke your certificates and provisioning profiles.
|
5100
|
+
Don't worry, apps that are already available in the App Store / TestFlight will still work.
|
5101
|
+
Builds distributed via Ad Hoc or Enterprise will be disabled after nuking your account, so you'll have to re-upload a new build.
|
5102
|
+
After clearing your account you'll start from a clean state, and you can run match to generate your certificates and profiles again.
|
5103
|
+
More information: https://docs.fastlane.tools/actions/match/
|
5104
|
+
*/
|
5105
|
+
public func matchNuke(type: String = "development",
|
5106
|
+
additionalCertTypes: [String]? = nil,
|
5107
|
+
readonly: Bool = false,
|
5108
|
+
generateAppleCerts: Bool = true,
|
5109
|
+
skipProvisioningProfiles: Bool = false,
|
5110
|
+
appIdentifier: [String],
|
5111
|
+
apiKeyPath: String? = nil,
|
5112
|
+
apiKey: [String: Any]? = nil,
|
5113
|
+
username: String? = nil,
|
5114
|
+
teamId: String? = nil,
|
5115
|
+
teamName: String? = nil,
|
5116
|
+
storageMode: String = "git",
|
5117
|
+
gitUrl: String,
|
5118
|
+
gitBranch: String = "master",
|
5119
|
+
gitFullName: String? = nil,
|
5120
|
+
gitUserEmail: String? = nil,
|
5121
|
+
shallowClone: Bool = false,
|
5122
|
+
cloneBranchDirectly: Bool = false,
|
5123
|
+
gitBasicAuthorization: String? = nil,
|
5124
|
+
gitBearerAuthorization: String? = nil,
|
5125
|
+
gitPrivateKey: String? = nil,
|
5126
|
+
googleCloudBucketName: String? = nil,
|
5127
|
+
googleCloudKeysFile: String? = nil,
|
5128
|
+
googleCloudProjectId: String? = nil,
|
5129
|
+
s3Region: String? = nil,
|
5130
|
+
s3AccessKey: String? = nil,
|
5131
|
+
s3SecretAccessKey: String? = nil,
|
5132
|
+
s3Bucket: String? = nil,
|
5133
|
+
s3ObjectPrefix: String? = nil,
|
5134
|
+
keychainName: String = "login.keychain",
|
5135
|
+
keychainPassword: String? = nil,
|
5136
|
+
force: Bool = false,
|
5137
|
+
forceForNewDevices: Bool = false,
|
5138
|
+
skipConfirmation: Bool = false,
|
5139
|
+
skipDocs: Bool = false,
|
5140
|
+
platform: String = "ios",
|
5141
|
+
deriveCatalystAppIdentifier: Bool = false,
|
5142
|
+
templateName: String? = nil,
|
5143
|
+
profileName: String? = nil,
|
5144
|
+
failOnNameTaken: Bool = false,
|
5145
|
+
skipCertificateMatching: Bool = false,
|
5146
|
+
outputPath: String? = nil,
|
5147
|
+
skipSetPartitionList: Bool = false,
|
5148
|
+
verbose: Bool = false)
|
5149
|
+
{
|
5150
|
+
let command = RubyCommand(commandID: "", methodName: "match_nuke", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
5151
|
+
RubyCommand.Argument(name: "additional_cert_types", value: additionalCertTypes),
|
5152
|
+
RubyCommand.Argument(name: "readonly", value: readonly),
|
5153
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
5154
|
+
RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
|
5155
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
5156
|
+
RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
5157
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
5158
|
+
RubyCommand.Argument(name: "username", value: username),
|
5159
|
+
RubyCommand.Argument(name: "team_id", value: teamId),
|
5160
|
+
RubyCommand.Argument(name: "team_name", value: teamName),
|
5161
|
+
RubyCommand.Argument(name: "storage_mode", value: storageMode),
|
5162
|
+
RubyCommand.Argument(name: "git_url", value: gitUrl),
|
5163
|
+
RubyCommand.Argument(name: "git_branch", value: gitBranch),
|
5164
|
+
RubyCommand.Argument(name: "git_full_name", value: gitFullName),
|
5165
|
+
RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
|
5166
|
+
RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
|
5167
|
+
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
5168
|
+
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
5169
|
+
RubyCommand.Argument(name: "git_bearer_authorization", value: gitBearerAuthorization),
|
5170
|
+
RubyCommand.Argument(name: "git_private_key", value: gitPrivateKey),
|
5171
|
+
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
5172
|
+
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
5173
|
+
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
5174
|
+
RubyCommand.Argument(name: "s3_region", value: s3Region),
|
5175
|
+
RubyCommand.Argument(name: "s3_access_key", value: s3AccessKey),
|
5176
|
+
RubyCommand.Argument(name: "s3_secret_access_key", value: s3SecretAccessKey),
|
5177
|
+
RubyCommand.Argument(name: "s3_bucket", value: s3Bucket),
|
5178
|
+
RubyCommand.Argument(name: "s3_object_prefix", value: s3ObjectPrefix),
|
5179
|
+
RubyCommand.Argument(name: "keychain_name", value: keychainName),
|
5180
|
+
RubyCommand.Argument(name: "keychain_password", value: keychainPassword),
|
5181
|
+
RubyCommand.Argument(name: "force", value: force),
|
5182
|
+
RubyCommand.Argument(name: "force_for_new_devices", value: forceForNewDevices),
|
5183
|
+
RubyCommand.Argument(name: "skip_confirmation", value: skipConfirmation),
|
5184
|
+
RubyCommand.Argument(name: "skip_docs", value: skipDocs),
|
5185
|
+
RubyCommand.Argument(name: "platform", value: platform),
|
5186
|
+
RubyCommand.Argument(name: "derive_catalyst_app_identifier", value: deriveCatalystAppIdentifier),
|
5187
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
5188
|
+
RubyCommand.Argument(name: "profile_name", value: profileName),
|
5189
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
5190
|
+
RubyCommand.Argument(name: "skip_certificate_matching", value: skipCertificateMatching),
|
5191
|
+
RubyCommand.Argument(name: "output_path", value: outputPath),
|
5192
|
+
RubyCommand.Argument(name: "skip_set_partition_list", value: skipSetPartitionList),
|
5193
|
+
RubyCommand.Argument(name: "verbose", value: verbose)])
|
5194
|
+
_ = runner.executeCommand(command)
|
5195
|
+
}
|
5196
|
+
|
5050
5197
|
/**
|
5051
5198
|
Verifies the minimum fastlane version required
|
5052
5199
|
|
@@ -5469,7 +5616,7 @@ public func pem(development: Bool = false,
|
|
5469
5616
|
*/
|
5470
5617
|
public func pilot(apiKeyPath: String? = nil,
|
5471
5618
|
apiKey: [String: Any]? = nil,
|
5472
|
-
username: String,
|
5619
|
+
username: String? = nil,
|
5473
5620
|
appIdentifier: String? = nil,
|
5474
5621
|
appPlatform: String = "ios",
|
5475
5622
|
appleId: String? = nil,
|
@@ -5734,17 +5881,17 @@ public func podioItem(clientId: String,
|
|
5734
5881
|
|
5735
5882
|
More information: https://fastlane.tools/precheck
|
5736
5883
|
*/
|
5737
|
-
public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
5738
|
-
|
5739
|
-
|
5740
|
-
|
5741
|
-
|
5742
|
-
|
5743
|
-
|
5744
|
-
|
5745
|
-
|
5746
|
-
|
5747
|
-
|
5884
|
+
@discardableResult public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
5885
|
+
apiKey: [String: Any]? = precheckfile.apiKey,
|
5886
|
+
appIdentifier: Any = precheckfile.appIdentifier,
|
5887
|
+
username: Any? = precheckfile.username,
|
5888
|
+
teamId: Any? = precheckfile.teamId,
|
5889
|
+
teamName: Any? = precheckfile.teamName,
|
5890
|
+
platform: Any = precheckfile.platform,
|
5891
|
+
defaultRuleLevel: Any = precheckfile.defaultRuleLevel,
|
5892
|
+
includeInAppPurchases: Bool = precheckfile.includeInAppPurchases,
|
5893
|
+
useLive: Bool = precheckfile.useLive,
|
5894
|
+
freeStuffInIap: Any? = precheckfile.freeStuffInIap) -> Bool
|
5748
5895
|
{
|
5749
5896
|
let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
5750
5897
|
RubyCommand.Argument(name: "api_key", value: apiKey),
|
@@ -5757,7 +5904,7 @@ public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
|
5757
5904
|
RubyCommand.Argument(name: "include_in_app_purchases", value: includeInAppPurchases),
|
5758
5905
|
RubyCommand.Argument(name: "use_live", value: useLive),
|
5759
5906
|
RubyCommand.Argument(name: "free_stuff_in_iap", value: freeStuffInIap)])
|
5760
|
-
|
5907
|
+
return parseBool(fromString: runner.executeCommand(command))
|
5761
5908
|
}
|
5762
5909
|
|
5763
5910
|
/**
|
@@ -7127,29 +7274,29 @@ public func setupTravis(force: Bool = false) {
|
|
7127
7274
|
|
7128
7275
|
**Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
|
7129
7276
|
*/
|
7130
|
-
public func sigh(adhoc: Bool = false,
|
7131
|
-
|
7132
|
-
|
7133
|
-
|
7134
|
-
|
7135
|
-
|
7136
|
-
|
7137
|
-
|
7138
|
-
|
7139
|
-
|
7140
|
-
|
7141
|
-
|
7142
|
-
|
7143
|
-
|
7144
|
-
|
7145
|
-
|
7146
|
-
|
7147
|
-
|
7148
|
-
|
7149
|
-
|
7150
|
-
|
7151
|
-
|
7152
|
-
|
7277
|
+
@discardableResult public func sigh(adhoc: Bool = false,
|
7278
|
+
developerId: Bool = false,
|
7279
|
+
development: Bool = false,
|
7280
|
+
skipInstall: Bool = false,
|
7281
|
+
force: Bool = false,
|
7282
|
+
appIdentifier: String,
|
7283
|
+
apiKeyPath: String? = nil,
|
7284
|
+
apiKey: [String: Any]? = nil,
|
7285
|
+
username: String? = nil,
|
7286
|
+
teamId: String? = nil,
|
7287
|
+
teamName: String? = nil,
|
7288
|
+
provisioningName: String? = nil,
|
7289
|
+
ignoreProfilesWithDifferentName: Bool = false,
|
7290
|
+
outputPath: String = ".",
|
7291
|
+
certId: String? = nil,
|
7292
|
+
certOwnerName: String? = nil,
|
7293
|
+
filename: String? = nil,
|
7294
|
+
skipFetchProfiles: Bool = false,
|
7295
|
+
skipCertificateVerification: Bool = false,
|
7296
|
+
platform: Any = "ios",
|
7297
|
+
readonly: Bool = false,
|
7298
|
+
templateName: String? = nil,
|
7299
|
+
failOnNameTaken: Bool = false) -> String
|
7153
7300
|
{
|
7154
7301
|
let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
7155
7302
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
@@ -7174,7 +7321,7 @@ public func sigh(adhoc: Bool = false,
|
|
7174
7321
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
7175
7322
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
7176
7323
|
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
7177
|
-
|
7324
|
+
return runner.executeCommand(command)
|
7178
7325
|
}
|
7179
7326
|
|
7180
7327
|
/**
|
@@ -7605,18 +7752,18 @@ public func sonar(projectConfigurationPath: String? = nil,
|
|
7605
7752
|
|
7606
7753
|
- returns: The array of Spaceship logs
|
7607
7754
|
*/
|
7608
|
-
public func spaceshipLogs(latest: Bool = true,
|
7609
|
-
|
7610
|
-
|
7611
|
-
|
7612
|
-
|
7755
|
+
@discardableResult public func spaceshipLogs(latest: Bool = true,
|
7756
|
+
printContents: Bool = false,
|
7757
|
+
printPaths: Bool = false,
|
7758
|
+
copyToPath: String? = nil,
|
7759
|
+
copyToClipboard: Bool = false) -> [String]
|
7613
7760
|
{
|
7614
7761
|
let command = RubyCommand(commandID: "", methodName: "spaceship_logs", className: nil, args: [RubyCommand.Argument(name: "latest", value: latest),
|
7615
7762
|
RubyCommand.Argument(name: "print_contents", value: printContents),
|
7616
7763
|
RubyCommand.Argument(name: "print_paths", value: printPaths),
|
7617
7764
|
RubyCommand.Argument(name: "copy_to_path", value: copyToPath),
|
7618
7765
|
RubyCommand.Argument(name: "copy_to_clipboard", value: copyToClipboard)])
|
7619
|
-
|
7766
|
+
return parseArray(fromString: runner.executeCommand(command))
|
7620
7767
|
}
|
7621
7768
|
|
7622
7769
|
/**
|
@@ -8158,7 +8305,7 @@ public func testfairy(apiKey: String,
|
|
8158
8305
|
*/
|
8159
8306
|
public func testflight(apiKeyPath: String? = nil,
|
8160
8307
|
apiKey: [String: Any]? = nil,
|
8161
|
-
username: String,
|
8308
|
+
username: String? = nil,
|
8162
8309
|
appIdentifier: String? = nil,
|
8163
8310
|
appPlatform: String = "ios",
|
8164
8311
|
appleId: String? = nil,
|
@@ -8820,7 +8967,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
8820
8967
|
*/
|
8821
8968
|
public func uploadToAppStore(apiKeyPath: String? = nil,
|
8822
8969
|
apiKey: [String: Any]? = nil,
|
8823
|
-
username: String,
|
8970
|
+
username: String? = nil,
|
8824
8971
|
appIdentifier: String? = nil,
|
8825
8972
|
appVersion: String? = nil,
|
8826
8973
|
ipa: String? = nil,
|
@@ -9151,7 +9298,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
9151
9298
|
*/
|
9152
9299
|
public func uploadToTestflight(apiKeyPath: String? = nil,
|
9153
9300
|
apiKey: [String: Any]? = nil,
|
9154
|
-
username: String,
|
9301
|
+
username: String? = nil,
|
9155
9302
|
appIdentifier: String? = nil,
|
9156
9303
|
appPlatform: String = "ios",
|
9157
9304
|
appleId: String? = nil,
|
@@ -9512,7 +9659,7 @@ public func xcov(workspace: String? = nil,
|
|
9512
9659
|
htmlReport: Bool = true,
|
9513
9660
|
markdownReport: Bool = false,
|
9514
9661
|
jsonReport: Bool = false,
|
9515
|
-
minimumCoveragePercentage: Float = 0,
|
9662
|
+
minimumCoveragePercentage: Float = 0.0,
|
9516
9663
|
slackUrl: String? = nil,
|
9517
9664
|
slackChannel: String? = nil,
|
9518
9665
|
skipSlack: Bool = false,
|
@@ -9674,4 +9821,4 @@ public let snapshotfile = Snapshotfile()
|
|
9674
9821
|
|
9675
9822
|
// Please don't remove the lines below
|
9676
9823
|
// They are used to detect outdated files
|
9677
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9824
|
+
// FastlaneRunnerAPIVersion [0.9.115]
|