fastlane/lib/fastlane/actions/delete_keychain.rb in fastlane-2.19.0.beta.20170223010028 vs fastlane/lib/fastlane/actions/delete_keychain.rb in fastlane-2.19.0.beta.20170224010025
- old
+ new
@@ -3,12 +3,23 @@
module Fastlane
module Actions
class DeleteKeychainAction < Action
def self.run(params)
original = Actions.lane_context[Actions::SharedValues::ORIGINAL_DEFAULT_KEYCHAIN]
+
+ if params[:name]
+ keychain_path = File.expand_path(File.join("~", "Library", "Keychains", params[:name]))
+ else
+ keychain_path = params[:keychain_path]
+ end
+
+ if keychain_path.nil?
+ UI.user_error!("You either have to set :name or :path")
+ end
+
Fastlane::Actions.sh("security default-keychain -s #{original}", log: false) unless original.nil?
- Fastlane::Actions.sh "security delete-keychain #{params[:name].shellescape}", log: false
+ Fastlane::Actions.sh "security delete-keychain #{keychain_path.shellescape}", log: false
end
def self.details
"Keychains can be deleted after being creating with `create_keychain`"
end
@@ -20,25 +31,32 @@
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :name,
env_name: "KEYCHAIN_NAME",
description: "Keychain name",
- optional: false)
+ 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
def self.example_code
[
- 'delete_keychain(name: "KeychainName")'
+ 'delete_keychain(name: "KeychainName")',
+ 'delete_keychain(keychain_path: "/keychains/project.keychain")'
]
end
def self.category
:misc
end
def self.authors
- ["gin0606"]
+ ["gin0606", "koenpunt"]
end
def self.is_supported?(platform)
true
end