class Fastlane::Actions::GymAction

def self.author

def self.author
  "KrauseFx"
end

def self.available_options

def self.available_options
  require 'gym'
  Gym::Options.available_options
end

def self.description

def self.description
  "Easily build and sign your app using `gym`"
end

def self.details

def self.details
  "More information: https://github.com/fastlane/gym"
end

def self.is_supported?(platform)

def self.is_supported?(platform)
  [:ios, :mac].include? platform
end

def self.run(values)

def self.run(values)
  require 'gym'
  begin
    FastlaneCore::UpdateChecker.start_looking_for_update('gym') unless Helper.is_test?
    if values[:provisioning_profile_path].to_s.length == 0
      sigh_path = Actions.lane_context[Actions::SharedValues::SIGH_PROFILE_PATH] || ENV["SIGH_PROFILE_PATH"]
      values[:provisioning_profile_path] = File.expand_path(sigh_path) if sigh_path
    end
    values[:export_method] ||= Actions.lane_context[Actions::SharedValues::SIGH_PROFILE_TYPE]
    absolute_ipa_path = File.expand_path(Gym::Manager.new.work(values))
    absolute_dsym_path = absolute_ipa_path.gsub(".ipa", ".app.dSYM.zip")
    Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = absolute_ipa_path
    Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH] = absolute_dsym_path if File.exist?(absolute_dsym_path)
    ENV[SharedValues::IPA_OUTPUT_PATH.to_s] = absolute_ipa_path # for deliver
    ENV[SharedValues::DSYM_OUTPUT_PATH.to_s] = absolute_dsym_path if File.exist?(absolute_dsym_path)
    return absolute_ipa_path
  ensure
    FastlaneCore::UpdateChecker.show_update_status('gym', Gym::VERSION)
  end
end