fastlane 2.131.0 → 2.132.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +76 -76
- data/cert/lib/cert/module.rb +2 -0
- data/cert/lib/cert/options.rb +6 -0
- data/cert/lib/cert/runner.rb +17 -11
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +10 -2
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +23 -4
- data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +58 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +3 -0
- data/fastlane/lib/fastlane/actions/onesignal.rb +59 -29
- data/fastlane/lib/fastlane/actions/pod_push.rb +10 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
- data/fastlane/lib/fastlane/fast_file.rb +7 -2
- data/fastlane/lib/fastlane/setup/setup_android.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +33 -7
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +5 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +3 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -3
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +3 -2
- data/frameit/lib/frameit/screenshot.rb +4 -0
- data/match/lib/match/generator.rb +1 -0
- data/match/lib/match/module.rb +2 -0
- data/match/lib/match/nuke.rb +5 -5
- data/match/lib/match/options.rb +12 -0
- data/match/lib/match/runner.rb +2 -0
- data/match/lib/match/storage/git_storage.rb +8 -2
- data/match/lib/match/storage/google_cloud_storage.rb +82 -33
- data/produce/lib/produce/service.rb +7 -1
- data/sigh/lib/sigh/runner.rb +13 -5
- data/snapshot/lib/snapshot/options.rb +5 -0
- data/snapshot/lib/snapshot/reports_generator.rb +3 -0
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +16 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -6
- data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -3
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +1 -1
- data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
- data/spaceship/lib/spaceship/portal/provisioning_profile.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +4 -0
- data/spaceship/lib/spaceship/tunes/application.rb +4 -0
- data/spaceship/lib/spaceship/tunes/iap_family_details.rb +10 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +25 -0
- metadata +48 -45
@@ -21,6 +21,9 @@ module Fastlane
|
|
21
21
|
# Get from build settings if needed (ex: $(MARKETING_VERSION) is default in Xcode 11)
|
22
22
|
if version_number =~ /\$\(([\w\-]+)\)/
|
23
23
|
version_number = get_version_number_from_build_settings!(target, $1, configuration)
|
24
|
+
# ${MARKETING_VERSION} also works
|
25
|
+
elsif version_number =~ /\$\{([\w\-]+)\}/
|
26
|
+
version_number = get_version_number_from_build_settings!(target, $1, configuration)
|
24
27
|
end
|
25
28
|
|
26
29
|
# Store the number in the shared hash
|
@@ -11,15 +11,26 @@ module Fastlane
|
|
11
11
|
require 'uri'
|
12
12
|
require 'base64'
|
13
13
|
|
14
|
-
|
14
|
+
app_id = params[:app_id].to_s.strip
|
15
15
|
auth_token = params[:auth_token]
|
16
|
-
app_name = params[:app_name]
|
16
|
+
app_name = params[:app_name].to_s
|
17
17
|
apns_p12_password = params[:apns_p12_password]
|
18
18
|
android_token = params[:android_token]
|
19
19
|
android_gcm_sender_id = params[:android_gcm_sender_id]
|
20
20
|
|
21
|
+
has_app_id = !app_id.empty?
|
22
|
+
has_app_name = !app_name.empty?
|
23
|
+
|
24
|
+
is_update = has_app_id
|
25
|
+
|
26
|
+
UI.user_error!('Please specify the `app_id` or the `app_name` parameters!') if !has_app_id && !has_app_name
|
27
|
+
|
28
|
+
UI.message("Parameter App ID: #{app_id}") if has_app_id
|
29
|
+
UI.message("Parameter App name: #{app_name}") if has_app_name
|
30
|
+
|
21
31
|
payload = {}
|
22
|
-
|
32
|
+
|
33
|
+
payload['name'] = app_name if has_app_name
|
23
34
|
|
24
35
|
unless params[:apns_p12].nil?
|
25
36
|
data = File.read(params[:apns_p12])
|
@@ -33,61 +44,70 @@ module Fastlane
|
|
33
44
|
payload["gcm_key"] = android_token unless android_token.nil?
|
34
45
|
payload["android_gcm_sender_id"] = android_gcm_sender_id unless android_gcm_sender_id.nil?
|
35
46
|
|
36
|
-
# here's the actual lifting - POST to OneSignal
|
47
|
+
# here's the actual lifting - POST or PUT to OneSignal
|
37
48
|
|
38
49
|
json_headers = { 'Content-Type' => 'application/json', 'Authorization' => "Basic #{auth_token}" }
|
39
|
-
|
50
|
+
url = +'https://onesignal.com/api/v1/apps'
|
51
|
+
url << '/' + app_id if is_update
|
52
|
+
uri = URI.parse(url)
|
40
53
|
http = Net::HTTP.new(uri.host, uri.port)
|
41
54
|
http.use_ssl = true
|
42
|
-
|
55
|
+
|
56
|
+
if is_update
|
57
|
+
response = http.put(uri.path, payload.to_json, json_headers)
|
58
|
+
else
|
59
|
+
response = http.post(uri.path, payload.to_json, json_headers)
|
60
|
+
end
|
61
|
+
|
43
62
|
response_body = JSON.parse(response.body)
|
44
63
|
|
45
64
|
Actions.lane_context[SharedValues::ONE_SIGNAL_APP_ID] = response_body["id"]
|
46
65
|
Actions.lane_context[SharedValues::ONE_SIGNAL_APP_AUTH_KEY] = response_body["basic_auth_key"]
|
47
66
|
|
48
|
-
check_response_code(response)
|
67
|
+
check_response_code(response, is_update)
|
49
68
|
end
|
50
69
|
|
51
|
-
def self.check_response_code(response)
|
70
|
+
def self.check_response_code(response, is_update)
|
52
71
|
case response.code.to_i
|
53
72
|
when 200, 204
|
54
|
-
|
73
|
+
UI.success("Successfully #{is_update ? 'updated' : 'created new'} OneSignal app")
|
55
74
|
else
|
56
75
|
UI.user_error!("Unexpected #{response.code} with response: #{response.body}")
|
57
76
|
end
|
58
77
|
end
|
59
78
|
|
60
79
|
def self.description
|
61
|
-
"Create a new [OneSignal](https://onesignal.com/) application"
|
80
|
+
"Create or update a new [OneSignal](https://onesignal.com/) application"
|
62
81
|
end
|
63
82
|
|
64
83
|
def self.details
|
65
|
-
"You can use this action to automatically create a OneSignal application. You can also upload a `.p12` with password, a GCM key, or both."
|
84
|
+
"You can use this action to automatically create or update a OneSignal application. You can also upload a `.p12` with password, a GCM key, or both."
|
66
85
|
end
|
67
86
|
|
68
87
|
def self.available_options
|
69
88
|
[
|
70
|
-
FastlaneCore::ConfigItem.new(key: :
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
unless value.to_s.length > 0
|
76
|
-
UI.error("Please add 'ENV[\"ONE_SIGNAL_AUTH_KEY\"] = \"your token\"' to your Fastfile's `before_all` section.")
|
77
|
-
UI.user_error!("No ONE_SIGNAL_AUTH_KEY given.")
|
78
|
-
end
|
79
|
-
end),
|
89
|
+
FastlaneCore::ConfigItem.new(key: :app_id,
|
90
|
+
env_name: "ONE_SIGNAL_APP_ID",
|
91
|
+
sensitive: true,
|
92
|
+
description: "OneSignal App ID. Setting this updates an existing app",
|
93
|
+
optional: true),
|
80
94
|
|
81
|
-
FastlaneCore::ConfigItem.new(key: :
|
82
|
-
env_name: "
|
83
|
-
|
95
|
+
FastlaneCore::ConfigItem.new(key: :auth_token,
|
96
|
+
env_name: "ONE_SIGNAL_AUTH_KEY",
|
97
|
+
sensitive: true,
|
98
|
+
description: "OneSignal Authorization Key",
|
84
99
|
verify_block: proc do |value|
|
85
|
-
|
86
|
-
UI.error("Please add 'ENV[\"
|
87
|
-
UI.user_error!("No
|
100
|
+
if value.to_s.empty?
|
101
|
+
UI.error("Please add 'ENV[\"ONE_SIGNAL_AUTH_KEY\"] = \"your token\"' to your Fastfile's `before_all` section.")
|
102
|
+
UI.user_error!("No ONE_SIGNAL_AUTH_KEY given.")
|
88
103
|
end
|
89
104
|
end),
|
90
105
|
|
106
|
+
FastlaneCore::ConfigItem.new(key: :app_name,
|
107
|
+
env_name: "ONE_SIGNAL_APP_NAME",
|
108
|
+
description: "OneSignal App Name. This is required when creating an app (in other words, when `:app_id` is not set, and optional when updating an app",
|
109
|
+
optional: true),
|
110
|
+
|
91
111
|
FastlaneCore::ConfigItem.new(key: :android_token,
|
92
112
|
env_name: "ANDROID_TOKEN",
|
93
113
|
description: "ANDROID GCM KEY",
|
@@ -121,8 +141,8 @@ module Fastlane
|
|
121
141
|
|
122
142
|
def self.output
|
123
143
|
[
|
124
|
-
['ONE_SIGNAL_APP_ID', 'The
|
125
|
-
['ONE_SIGNAL_APP_AUTH_KEY', 'The auth token for the newly created
|
144
|
+
['ONE_SIGNAL_APP_ID', 'The app ID of the newly created or updated app'],
|
145
|
+
['ONE_SIGNAL_APP_AUTH_KEY', 'The auth token for the newly created or updated app']
|
126
146
|
]
|
127
147
|
end
|
128
148
|
|
@@ -144,6 +164,16 @@ module Fastlane
|
|
144
164
|
apns_p12: "Path to Apple .p12 file (optional)",
|
145
165
|
apns_p12_password: "Password for .p12 file (optional)",
|
146
166
|
apns_env: "production/sandbox (defaults to production)"
|
167
|
+
)',
|
168
|
+
'onesignal(
|
169
|
+
app_id: "Your OneSignal App ID",
|
170
|
+
auth_token: "Your OneSignal Auth Token",
|
171
|
+
app_name: "New Name for OneSignal App",
|
172
|
+
android_token: "Your Android GCM key (optional)",
|
173
|
+
android_gcm_sender_id: "Your Android GCM Sender ID (optional)",
|
174
|
+
apns_p12: "Path to Apple .p12 file (optional)",
|
175
|
+
apns_p12_password: "Password for .p12 file (optional)",
|
176
|
+
apns_env: "production/sandbox (defaults to production)"
|
147
177
|
)'
|
148
178
|
]
|
149
179
|
end
|
@@ -47,6 +47,10 @@ module Fastlane
|
|
47
47
|
command << "--verbose"
|
48
48
|
end
|
49
49
|
|
50
|
+
if params[:use_modular_headers]
|
51
|
+
command << "--use-modular-headers"
|
52
|
+
end
|
53
|
+
|
50
54
|
result = Actions.sh(command.join(' '))
|
51
55
|
UI.success("Successfully pushed Podspec ⬆️ ")
|
52
56
|
return result
|
@@ -118,7 +122,12 @@ module Fastlane
|
|
118
122
|
optional: true,
|
119
123
|
type: Boolean,
|
120
124
|
default_value: false,
|
121
|
-
env_name: "FL_POD_PUSH_VERBOSE")
|
125
|
+
env_name: "FL_POD_PUSH_VERBOSE"),
|
126
|
+
FastlaneCore::ConfigItem.new(key: :use_modular_headers,
|
127
|
+
description: "Use modular headers option during validation",
|
128
|
+
optional: true,
|
129
|
+
type: Boolean,
|
130
|
+
env_name: "FL_POD_PUSH_USE_MODULAR_HEADERS")
|
122
131
|
]
|
123
132
|
end
|
124
133
|
|
@@ -45,7 +45,7 @@ module Fastlane
|
|
45
45
|
end
|
46
46
|
supported_platforms = all_platforms.select { |platform| self.is_supported?(platform.to_sym) }
|
47
47
|
|
48
|
-
existing_devices = supported_platforms.
|
48
|
+
existing_devices = supported_platforms.flat_map { |platform| Spaceship::Device.all(mac: platform == "mac") }
|
49
49
|
|
50
50
|
device_objs = new_devices.map do |device|
|
51
51
|
next if existing_devices.map(&:udid).include?(device[0])
|
@@ -26,10 +26,15 @@ module Fastlane
|
|
26
26
|
'you should turn off smart quotes in your editor of choice.')
|
27
27
|
end
|
28
28
|
|
29
|
-
content.scan(/^\s*require (
|
29
|
+
content.scan(/^\s*require ["'](.*?)["']/).each do |current|
|
30
30
|
gem_name = current.last
|
31
31
|
next if gem_name.include?(".") # these are local gems
|
32
|
-
|
32
|
+
|
33
|
+
begin
|
34
|
+
require(gem_name)
|
35
|
+
rescue LoadError
|
36
|
+
UI.important("You have required a gem, if this is a third party gem, please use `fastlane_require '#{gem_name}'` to ensure the gem is installed locally.")
|
37
|
+
end
|
33
38
|
end
|
34
39
|
|
35
40
|
parse(content, @path)
|
@@ -55,7 +55,7 @@ module Fastlane
|
|
55
55
|
|
56
56
|
self.package_name = UI.input("Package Name (com.krausefx.app): ")
|
57
57
|
puts("")
|
58
|
-
puts("To automatically upload builds and metadata to Google Play, fastlane needs a service
|
58
|
+
puts("To automatically upload builds and metadata to Google Play, fastlane needs a service account json secret file".yellow)
|
59
59
|
puts("Follow the Setup Guide on how to get the Json file: https://docs.fastlane.tools/actions/supply/".yellow)
|
60
60
|
puts("Feel free to press Enter at any time in order to skip providing pieces of information when asked")
|
61
61
|
self.json_key_file = UI.input("Path to the json secret file: ")
|
@@ -735,6 +735,7 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
735
735
|
reinstallApp: Bool = false,
|
736
736
|
eraseSimulator: Bool = false,
|
737
737
|
localizeSimulator: Bool = false,
|
738
|
+
darkMode: Bool? = nil,
|
738
739
|
appIdentifier: String? = nil,
|
739
740
|
addPhotos: [String]? = nil,
|
740
741
|
addVideos: [String]? = nil,
|
@@ -768,6 +769,7 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
768
769
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
769
770
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
770
771
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
772
|
+
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
771
773
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
772
774
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
773
775
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
@@ -803,6 +805,7 @@ func captureScreenshots(workspace: String? = nil,
|
|
803
805
|
reinstallApp: Bool = false,
|
804
806
|
eraseSimulator: Bool = false,
|
805
807
|
localizeSimulator: Bool = false,
|
808
|
+
darkMode: Bool? = nil,
|
806
809
|
appIdentifier: String? = nil,
|
807
810
|
addPhotos: [String]? = nil,
|
808
811
|
addVideos: [String]? = nil,
|
@@ -836,6 +839,7 @@ func captureScreenshots(workspace: String? = nil,
|
|
836
839
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
837
840
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
838
841
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
842
|
+
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
839
843
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
840
844
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
841
845
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
@@ -897,6 +901,7 @@ func carthage(command: String = "bootstrap",
|
|
897
901
|
}
|
898
902
|
func cert(development: Bool = false,
|
899
903
|
force: Bool = false,
|
904
|
+
generateAppleCerts: Bool = true,
|
900
905
|
username: String,
|
901
906
|
teamId: String? = nil,
|
902
907
|
teamName: String? = nil,
|
@@ -907,6 +912,7 @@ func cert(development: Bool = false,
|
|
907
912
|
platform: Any = "ios") {
|
908
913
|
let command = RubyCommand(commandID: "", methodName: "cert", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
|
909
914
|
RubyCommand.Argument(name: "force", value: force),
|
915
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
910
916
|
RubyCommand.Argument(name: "username", value: username),
|
911
917
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
912
918
|
RubyCommand.Argument(name: "team_name", value: teamName),
|
@@ -1447,6 +1453,10 @@ func ensureBundleExec() {
|
|
1447
1453
|
let command = RubyCommand(commandID: "", methodName: "ensure_bundle_exec", className: nil, args: [])
|
1448
1454
|
_ = runner.executeCommand(command)
|
1449
1455
|
}
|
1456
|
+
func ensureEnvVars(envVars: [String]) {
|
1457
|
+
let command = RubyCommand(commandID: "", methodName: "ensure_env_vars", className: nil, args: [RubyCommand.Argument(name: "env_vars", value: envVars)])
|
1458
|
+
_ = runner.executeCommand(command)
|
1459
|
+
}
|
1450
1460
|
func ensureGitBranch(branch: String = "master") {
|
1451
1461
|
let command = RubyCommand(commandID: "", methodName: "ensure_git_branch", className: nil, args: [RubyCommand.Argument(name: "branch", value: branch)])
|
1452
1462
|
_ = runner.executeCommand(command)
|
@@ -1571,6 +1581,7 @@ func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
|
|
1571
1581
|
}
|
1572
1582
|
func getCertificates(development: Bool = false,
|
1573
1583
|
force: Bool = false,
|
1584
|
+
generateAppleCerts: Bool = true,
|
1574
1585
|
username: String,
|
1575
1586
|
teamId: String? = nil,
|
1576
1587
|
teamName: String? = nil,
|
@@ -1581,6 +1592,7 @@ func getCertificates(development: Bool = false,
|
|
1581
1592
|
platform: Any = "ios") {
|
1582
1593
|
let command = RubyCommand(commandID: "", methodName: "get_certificates", className: nil, args: [RubyCommand.Argument(name: "development", value: development),
|
1583
1594
|
RubyCommand.Argument(name: "force", value: force),
|
1595
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
1584
1596
|
RubyCommand.Argument(name: "username", value: username),
|
1585
1597
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
1586
1598
|
RubyCommand.Argument(name: "team_name", value: teamName),
|
@@ -2195,6 +2207,7 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
2195
2207
|
}
|
2196
2208
|
func match(type: Any = matchfile.type,
|
2197
2209
|
readonly: Bool = matchfile.readonly,
|
2210
|
+
generateAppleCerts: Bool = matchfile.generateAppleCerts,
|
2198
2211
|
skipProvisioningProfiles: Bool = matchfile.skipProvisioningProfiles,
|
2199
2212
|
appIdentifier: [String] = matchfile.appIdentifier,
|
2200
2213
|
username: Any = matchfile.username,
|
@@ -2207,6 +2220,7 @@ func match(type: Any = matchfile.type,
|
|
2207
2220
|
gitUserEmail: Any? = matchfile.gitUserEmail,
|
2208
2221
|
shallowClone: Bool = matchfile.shallowClone,
|
2209
2222
|
cloneBranchDirectly: Bool = matchfile.cloneBranchDirectly,
|
2223
|
+
gitBasicAuthorization: Any? = matchfile.gitBasicAuthorization,
|
2210
2224
|
googleCloudBucketName: Any? = matchfile.googleCloudBucketName,
|
2211
2225
|
googleCloudKeysFile: Any? = matchfile.googleCloudKeysFile,
|
2212
2226
|
googleCloudProjectId: Any? = matchfile.googleCloudProjectId,
|
@@ -2222,6 +2236,7 @@ func match(type: Any = matchfile.type,
|
|
2222
2236
|
verbose: Bool = matchfile.verbose) {
|
2223
2237
|
let command = RubyCommand(commandID: "", methodName: "match", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
2224
2238
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
2239
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
2225
2240
|
RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
|
2226
2241
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
2227
2242
|
RubyCommand.Argument(name: "username", value: username),
|
@@ -2234,6 +2249,7 @@ func match(type: Any = matchfile.type,
|
|
2234
2249
|
RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
|
2235
2250
|
RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
|
2236
2251
|
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
2252
|
+
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
2237
2253
|
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
2238
2254
|
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
2239
2255
|
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
@@ -2369,14 +2385,16 @@ func oclint(oclintPath: String = "oclint",
|
|
2369
2385
|
RubyCommand.Argument(name: "extra_arg", value: extraArg)])
|
2370
2386
|
_ = runner.executeCommand(command)
|
2371
2387
|
}
|
2372
|
-
func onesignal(
|
2373
|
-
|
2388
|
+
func onesignal(appId: String? = nil,
|
2389
|
+
authToken: String,
|
2390
|
+
appName: String? = nil,
|
2374
2391
|
androidToken: String? = nil,
|
2375
2392
|
androidGcmSenderId: String? = nil,
|
2376
2393
|
apnsP12: String? = nil,
|
2377
2394
|
apnsP12Password: String? = nil,
|
2378
2395
|
apnsEnv: String = "production") {
|
2379
|
-
let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "
|
2396
|
+
let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "app_id", value: appId),
|
2397
|
+
RubyCommand.Argument(name: "auth_token", value: authToken),
|
2380
2398
|
RubyCommand.Argument(name: "app_name", value: appName),
|
2381
2399
|
RubyCommand.Argument(name: "android_token", value: androidToken),
|
2382
2400
|
RubyCommand.Argument(name: "android_gcm_sender_id", value: androidGcmSenderId),
|
@@ -2542,7 +2560,8 @@ func podPush(useBundleExec: Bool = false,
|
|
2542
2560
|
swiftVersion: String? = nil,
|
2543
2561
|
skipImportValidation: Bool? = nil,
|
2544
2562
|
skipTests: Bool? = nil,
|
2545
|
-
verbose: Bool = false
|
2563
|
+
verbose: Bool = false,
|
2564
|
+
useModularHeaders: Bool? = nil) {
|
2546
2565
|
let command = RubyCommand(commandID: "", methodName: "pod_push", className: nil, args: [RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec),
|
2547
2566
|
RubyCommand.Argument(name: "path", value: path),
|
2548
2567
|
RubyCommand.Argument(name: "repo", value: repo),
|
@@ -2552,7 +2571,8 @@ func podPush(useBundleExec: Bool = false,
|
|
2552
2571
|
RubyCommand.Argument(name: "swift_version", value: swiftVersion),
|
2553
2572
|
RubyCommand.Argument(name: "skip_import_validation", value: skipImportValidation),
|
2554
2573
|
RubyCommand.Argument(name: "skip_tests", value: skipTests),
|
2555
|
-
RubyCommand.Argument(name: "verbose", value: verbose)
|
2574
|
+
RubyCommand.Argument(name: "verbose", value: verbose),
|
2575
|
+
RubyCommand.Argument(name: "use_modular_headers", value: useModularHeaders)])
|
2556
2576
|
_ = runner.executeCommand(command)
|
2557
2577
|
}
|
2558
2578
|
func podioItem(clientId: String,
|
@@ -3369,6 +3389,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
3369
3389
|
reinstallApp: Bool = snapshotfile.reinstallApp,
|
3370
3390
|
eraseSimulator: Bool = snapshotfile.eraseSimulator,
|
3371
3391
|
localizeSimulator: Bool = snapshotfile.localizeSimulator,
|
3392
|
+
darkMode: Bool? = snapshotfile.darkMode,
|
3372
3393
|
appIdentifier: Any? = snapshotfile.appIdentifier,
|
3373
3394
|
addPhotos: [String]? = snapshotfile.addPhotos,
|
3374
3395
|
addVideos: [String]? = snapshotfile.addVideos,
|
@@ -3402,6 +3423,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
3402
3423
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
3403
3424
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
3404
3425
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
3426
|
+
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
3405
3427
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
3406
3428
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
3407
3429
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
@@ -3603,6 +3625,7 @@ func swiftlint(mode: Any = "lint",
|
|
3603
3625
|
}
|
3604
3626
|
func syncCodeSigning(type: String = "development",
|
3605
3627
|
readonly: Bool = false,
|
3628
|
+
generateAppleCerts: Bool = true,
|
3606
3629
|
skipProvisioningProfiles: Bool = false,
|
3607
3630
|
appIdentifier: [String],
|
3608
3631
|
username: String,
|
@@ -3615,6 +3638,7 @@ func syncCodeSigning(type: String = "development",
|
|
3615
3638
|
gitUserEmail: String? = nil,
|
3616
3639
|
shallowClone: Bool = false,
|
3617
3640
|
cloneBranchDirectly: Bool = false,
|
3641
|
+
gitBasicAuthorization: String? = nil,
|
3618
3642
|
googleCloudBucketName: String? = nil,
|
3619
3643
|
googleCloudKeysFile: String? = nil,
|
3620
3644
|
googleCloudProjectId: String? = nil,
|
@@ -3630,6 +3654,7 @@ func syncCodeSigning(type: String = "development",
|
|
3630
3654
|
verbose: Bool = false) {
|
3631
3655
|
let command = RubyCommand(commandID: "", methodName: "sync_code_signing", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
3632
3656
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
3657
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
3633
3658
|
RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
|
3634
3659
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
3635
3660
|
RubyCommand.Argument(name: "username", value: username),
|
@@ -3642,6 +3667,7 @@ func syncCodeSigning(type: String = "development",
|
|
3642
3667
|
RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
|
3643
3668
|
RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
|
3644
3669
|
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
3670
|
+
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
3645
3671
|
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
3646
3672
|
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
3647
3673
|
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
@@ -4305,7 +4331,7 @@ func xcov(workspace: String? = nil,
|
|
4305
4331
|
coverallsServiceJobId: String? = nil,
|
4306
4332
|
coverallsRepoToken: String? = nil,
|
4307
4333
|
xcconfig: String? = nil,
|
4308
|
-
ideFoundationPath: String = "/Applications/Xcode-
|
4334
|
+
ideFoundationPath: String = "/Applications/Xcode-11.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
4309
4335
|
legacySupport: Bool = false) {
|
4310
4336
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
4311
4337
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -4416,4 +4442,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
4416
4442
|
|
4417
4443
|
// Please don't remove the lines below
|
4418
4444
|
// They are used to detect outdated files
|
4419
|
-
// FastlaneRunnerAPIVersion [0.9.
|
4445
|
+
// FastlaneRunnerAPIVersion [0.9.58]
|