class Fastlane::Actions::InstallCertificatesAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 47
def self.authors
  ["Dylan Gyesbreghs"]
end
available_options() click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 51
def self.available_options
  [
    FastlaneCore::ConfigItem.new(
      key: :passphrase,
      env_name: "INSTALL_CERTIFICATES_PASSPHRASE",
      description: "A description of your option",
      optional: true,
      type: String,
      default_value: "")
  ]
end
description() click to toggle source

@!group Documentation

# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 43
def self.description
  "Install all the certificates located in you're project."
end
install_certificate(certificate, passphrase) click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 31
def self.install_certificate(certificate, passphrase)
  if passphrase.eql?("")
    `security -i import #{certificate} -P "" -T /usr/bin/codesign`
  else
    `security -i import #{certificate} -P #{passphrase} -T /usr/bin/codesign`
  end
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 63
def self.is_supported?(platform)
  [:ios, :mac].include?(platform)
end
locate_certifcates() click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 27
def self.locate_certifcates
  Dir.glob("**/*.p12")
end
run(params) click to toggle source
# File lib/fastlane/plugin/install_certificates/actions/install_certificates_action.rb, line 7
def self.run(params)
  UI.important("Installing certificates")
  certificates = locate_certifcates

  if certificates.count ==  0
    UI.success("No certificates found")
    return
  end

  certificates.each do |certificate|
    # Show the certifcate basename
    UI.message("Certificate: #{File.basename certificate}")

    # Install a certain Certificate
    install_certificate(certificate, params[:passphrase])
  end

  UI.success("Successfully installed certificates")
end