Method: Fastlane::Actions::UploadToPlayStoreAction.run

Defined in:
fastlane/lib/fastlane/actions/upload_to_play_store.rb

.run(params) ⇒ Object



4
5
6
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
34
# File 'fastlane/lib/fastlane/actions/upload_to_play_store.rb', line 4

def self.run(params)
  require 'supply'
  require 'supply/options'

  # If no APK params were provided, try to fill in the values from lane context, preferring
  # the multiple APKs over the single APK if set.
  if params[:apk_paths].nil? && params[:apk].nil?
    all_apk_paths = Actions.lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS] || []
    if all_apk_paths.size > 1
      params[:apk_paths] = all_apk_paths
    else
      params[:apk] = Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
    end
  end

  # If no AAB param was provided, try to fill in the value from lane context.
  # First GRADLE_ALL_AAB_OUTPUT_PATHS if only one
  # Else from GRADLE_AAB_OUTPUT_PATH
  if params[:aab].nil?
    all_aab_paths = Actions.lane_context[SharedValues::GRADLE_ALL_AAB_OUTPUT_PATHS] || []
    if all_aab_paths.count == 1
      params[:aab] = all_aab_paths.first
    else
      params[:aab] = Actions.lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH]
    end
  end

  Supply.config = params # we already have the finished config

  Supply::Uploader.new.perform_upload
end