6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'fastlane_core/lib/fastlane_core/keychain_importer.rb', line 6
def self.import_file(path, keychain_path, keychain_password: "", certificate_password: "", output: FastlaneCore::Globals.verbose?)
UI.user_error!("Could not find file '#{path}'") unless File.exist?(path)
command = "security import #{path.shellescape} -k '#{keychain_path.shellescape}'"
command << " -P #{certificate_password.shellescape}"
command << " -T /usr/bin/codesign" command << " -T /usr/bin/security"
command << " 1> /dev/null" unless output
UI.command(command) if output
Open3.popen3(command) do |stdin, stdout, stderr, thrd|
UI.command_output(stdout.read.to_s) if output
if thrd.value.success?
set_partition_list(path, keychain_path, keychain_password: keychain_password, output: output)
else
err = stderr.read.to_s.strip
if err.include?("SecKeychainItemImport") && err.include?("The specified item already exists in the keychain")
UI.verbose("'#{File.basename(path)}' is already installed on this machine")
else
UI.error(err)
end
end
end
end
|