mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-03 12:02:53 +00:00
100 lines
2.8 KiB
Ruby
100 lines
2.8 KiB
Ruby
# This file contains the fastlane.tools configuration for Android
|
|
# You can find the documentation at https://docs.fastlane.tools
|
|
#
|
|
# For a list of all available actions, check out
|
|
#
|
|
# https://docs.fastlane.tools/actions
|
|
#
|
|
# For a list of all available plugins, check out
|
|
#
|
|
# https://docs.fastlane.tools/plugins/available-plugins
|
|
#
|
|
|
|
# Uncomment the line if you want fastlane to automatically update itself
|
|
# update_fastlane
|
|
|
|
require 'json'
|
|
require 'base64'
|
|
require 'pathname'
|
|
|
|
default_platform(:android)
|
|
|
|
current_version_code = 1
|
|
playstore_track = "internal"
|
|
package_json = JSON.parse(File.read('../../package.json'))
|
|
keystorePath = Pathname.getwd.parent + "../../playstore.keystore"
|
|
|
|
platform :android do
|
|
|
|
lane :fetch_version_code do
|
|
current_version_code = google_play_track_version_codes(
|
|
package_name: ENV['ANDROID_PACKAGE_NAME'],
|
|
track: playstore_track,
|
|
json_key_data: ENV['ANDROID_API_KEY_CONTENT']
|
|
).max
|
|
end
|
|
|
|
lane :fetch_highest_version_code do
|
|
version_code_candidates = [1]
|
|
tracks = ['production', 'beta', 'internal']
|
|
tracks.each do |t|
|
|
version_code_candidates += google_play_track_version_codes(
|
|
package_name: ENV['ANDROID_PACKAGE_NAME'],
|
|
track: t,
|
|
json_key_data: Base64.decode64(ENV['ANDROID_API_KEY_CONTENT'])
|
|
)
|
|
end
|
|
current_version_code = version_code_candidates.compact.max
|
|
puts "Version code chosen for build lane: %d" % [current_version_code + 1]
|
|
end
|
|
|
|
lane :build do
|
|
fetch_highest_version_code
|
|
android_set_version_name(
|
|
version_name: package_json["version"],
|
|
)
|
|
android_set_version_code(
|
|
version_code: current_version_code + 1,
|
|
)
|
|
gradle(
|
|
task: "clean assemble",
|
|
build_type: "Release",
|
|
print_command: false,
|
|
properties: {
|
|
"android.injected.signing.store.file" => keystorePath.to_s,
|
|
"android.injected.signing.store.password" => ENV['ANDROID_KEYSTORE_PASSWORD'],
|
|
"android.injected.signing.key.alias" => ENV['ANDROID_KEYSTORE_KEY_ALIAS'],
|
|
"android.injected.signing.key.password" => ENV['ANDROID_KEYSTORE_KEY_PASSWORD']
|
|
}
|
|
)
|
|
end
|
|
|
|
desc "Submit a new beta build to open beta testing track"
|
|
lane :beta do
|
|
playstore_track = "beta"
|
|
|
|
build
|
|
upload_to_play_store(
|
|
track: playstore_track,
|
|
json_key_data: Base64.decode64(ENV['ANDROID_API_KEY_CONTENT']),
|
|
skip_upload_metadata: true,
|
|
skip_upload_images: true,
|
|
skip_upload_screenshots: true
|
|
)
|
|
end
|
|
|
|
desc "Submit a new version to the Google Play"
|
|
lane :release do
|
|
playstore_track = "production"
|
|
|
|
build
|
|
upload_to_play_store(
|
|
track: playstore_track,
|
|
json_key_data: Base64.decode64(ENV['ANDROID_API_KEY_CONTENT']),
|
|
skip_upload_metadata: true,
|
|
skip_upload_images: true,
|
|
skip_upload_screenshots: true
|
|
)
|
|
end
|
|
end
|