class Fastlane::Actions::DeleteKeychainAction

Public Class Methods

authors() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 59
def self.authors
  ["gin0606", "koenpunt"]
end
available_options() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 33
def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :name,
                                 env_name: "KEYCHAIN_NAME",
                                 description: "Keychain name",
                                 conflicting_options: [:keychain_path],
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :keychain_path,
                                 env_name: "KEYCHAIN_PATH",
                                 description: "Keychain path",
                                 conflicting_options: [:name],
                                 optional: true)
  ]
end
category() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 55
def self.category
  :misc
end
description() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 29
def self.description
  "Delete keychains and remove them from the search list"
end
details() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 25
def self.details
  "Keychains can be deleted after being created with `create_keychain`"
end
example_code() click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 48
def self.example_code
  [
    'delete_keychain(name: "KeychainName")',
    'delete_keychain(keychain_path: "/keychains/project.keychain")'
  ]
end
is_supported?(platform) click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 63
def self.is_supported?(platform)
  true
end
run(params) click to toggle source
# File fastlane/lib/fastlane/actions/delete_keychain.rb, line 6
def self.run(params)
  original = Actions.lane_context[Actions::SharedValues::ORIGINAL_DEFAULT_KEYCHAIN]

  if params[:keychain_path]
    if File.exist?(params[:keychain_path])
      keychain_path = params[:keychain_path]
    else
      UI.user_error!("Unable to find the specified keychain.")
    end
  elsif params[:name]
    keychain_path = FastlaneCore::Helper.keychain_path(params[:name])
  else
    UI.user_error!("You either have to set :name or :keychain_path")
  end

  Fastlane::Actions.sh("security default-keychain -s #{original}", log: false) unless original.nil?
  Fastlane::Actions.sh("security delete-keychain #{keychain_path.shellescape}", log: false)
end