Class: Fastlane::Actions::DeliverAction

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

Class Method Summary collapse

Methods inherited from Fastlane::Action

details, output, sh

Class Method Details

.authorObject



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

def self.author
  "KrauseFx"
end

.available_optionsObject



39
40
41
42
43
44
45
# File 'lib/fastlane/actions/deliver.rb', line 39

def self.available_options
  [
    ['force', 'Set to true to skip PDF verification'],
    ['beta', 'Upload a new version to TestFlight'],
    ['skip_deploy', 'Skip the submission of the app - it will only be uploaded'],
  ]
end

.descriptionObject



35
36
37
# File 'lib/fastlane/actions/deliver.rb', line 35

def self.description
  "Uses deliver to upload new app metadata and builds to iTunes Connect"
end

.run(params) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/fastlane/actions/deliver.rb', line 7

def self.run(params)
  require 'deliver'

  FastlaneCore::UpdateChecker.start_looking_for_update('deliver')

  begin
    ENV['DELIVER_SCREENSHOTS_PATH'] = Actions.lane_context[SharedValues::SNAPSHOT_SCREENSHOTS_PATH]

    force = params.include?(:force)
    beta = params.include?(:beta)
    skip_deploy = params.include?(:skip_deploy)

    Dir.chdir(ENV["DELIVERFILE_PATH"] || FastlaneFolder.path || Dir.pwd) do
      # This should be executed in the fastlane folder
      Deliver::Deliverer.new(nil,
                             force: force,
                             is_beta_ipa: beta,
                             skip_deploy: skip_deploy)

      if ENV['DELIVER_IPA_PATH'] # since IPA upload is optional
        Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = File.expand_path(ENV['DELIVER_IPA_PATH']) # deliver will store it in the environment
      end
    end
  ensure
    FastlaneCore::UpdateChecker.show_update_status('deliver', Deliver::VERSION)
  end
end