Class: Fastlane::Helper::AndroidFileHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/plugin/deploy_file_provider/helper/android_file_helper.rb

Constant Summary collapse

ANDROID_CHANGELOG_DIR =
"changelogs/"
ANDROID_APK_INFO_DIR =
""
ANDROID_APK_INFO_FILENAME =
"apkInfo.txt"
ANDROID_FULL_DESCRIPTION_DIR =

ANDROID_CHANGELOG_FILENAME -> changes depending on apk version code

""
ANDROID_FULL_DESCRIPTION_FILENAME =
"full_description.txt"
ANDROID_METADATA_LOC =
{
  "german"               => "de-DE/",
  "english"              => "en-GB/",
  "spanish"              => "es-ES/",
  "french"               => "fr-FR/",
  "italian"              => "it-IT/",
  "polish"               => "pl-PL/",
  "portugese"            => "pt-PT/",
  "romanian"             => "ro/",
  "russian"              => "ru-RU/"
}

Class Method Summary collapse

Class Method Details

.prepareFiles(params, country_MetaData) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/fastlane/plugin/deploy_file_provider/helper/android_file_helper.rb', line 26

def self.prepareFiles(params, )
	UI.message("Preparing files for ANDROID PlayStore release.".yellow)

	# MetaData root
	 = "#{params[:metaDataRoot]}"
	UI.message(["Step: Location where metadata will be downloaded:", ].join(" ").blue)

	# Android PlayStore credentials
  store_credentials_dir = "#{params[:json_key]}" unless params[:json_key].nil?
  UI.message(["Step: Location of credentials for Android PlayStore:", store_credentials_dir].join(" ").blue)

  # Get current metadata from Android PlayStore
  UI.message("Preparing location for metadata download.".yellow)
  clearMetaDataDir()

  UI.message("Step: Fetching current metadata from Android PlayStore".blue)
  (, store_credentials_dir)

  # Get current *.apk version
  UI.message("Checking version of *.apk which is about to be pushed.".yellow)
  versionCode = fetchVersionCode(params)
  android_changelog_filename = [versionCode, ".txt"].join("")

  # Prepare files for release
  UI.message("Applying changes to fetched metadata.".yellow)
  num_of_languages = ANDROID_METADATA_LOC.size
  num_of_processed_languages = 0
  for i in 0....size
     = [i]
    language_Key = .language.downcase
 
    unless ANDROID_METADATA_LOC.key?(language_Key)
      next
    end

    UI.message(["Step: ---- Attempting to create files for language -", language_Key].join(" ").blue)
  
    create_description(, language_Key, )
    create_changelog(, language_Key, , android_changelog_filename)
    num_of_processed_languages += 1

    UI.message("Step: ---- Files updated".blue)
  end

  # Check if all languages were processed
  if num_of_processed_languages != num_of_languages
    UI.message("Error: expected to receive metadata for: #{num_of_languages} languages, but received for: #{num_of_processed_languages}!".red)
    raise Exception, "Lane was stopped by script"
  end
end