Class: Fastlane::Actions::GymAction

Inherits:
Fastlane::Action show all
Defined in:
lib/fastlane/actions/gym.rb

Class Method Summary collapse

Methods inherited from Fastlane::Action

action_name, authors, details, output, sh, step_text

Class Method Details

.authorObject



38
39
40
# File 'lib/fastlane/actions/gym.rb', line 38

def self.author
  "KrauseFx"
end

.available_optionsObject



42
43
44
45
# File 'lib/fastlane/actions/gym.rb', line 42

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

.descriptionObject



34
35
36
# File 'lib/fastlane/actions/gym.rb', line 34

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

.is_supported?(platform) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/fastlane/actions/gym.rb', line 47

def self.is_supported?(platform)
  platform == :ios
end

.run(values) ⇒ Object



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 'lib/fastlane/actions/gym.rb', line 9

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

    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