# This file contains the fastlane.tools configuration
# 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

opt_out_usage

default_platform(:android)

platform :android do
  desc "Upload current metadata (e.g. screenshots) to Google Play"
  lane :metadata do
    upload_to_play_store(
        track: 'beta',
        skip_upload_apk: 'true',
        skip_upload_aab: 'true',
        skip_upload_changelogs: 'true',
        skip_upload_metadata: 'false',
        skip_upload_images: 'false',
        skip_upload_screenshots: 'false'
    )
  end

  desc "Deploy a new version to the Google Play beta track"
  lane :deploy do
	# Gather data
	package_name = CredentialsManager::AppfileConfig.try_fetch_value(:package_name)
  	version_name = get_version_name(app_project_dir: '**/app')
  	UI.message("version_name: " + version_name)
  	version_code = get_version_code(app_project_dir: '**/app')
  	UI.message("version_code: " + version_code)

    # Build before tagging
    gradle(
        task: "bundle",
        build_type: "Release",
        flavor: "stable",
        properties: {
            "android.injected.signing.store.file" => ENV["ONIONSHARE_KEYSTORE_PATH"],
            "android.injected.signing.store.password" => ENV["ONIONSHARE_KEYSTORE_PASS"],
            "android.injected.signing.key.alias" => ENV["ONIONSHARE_KEY_ALIAS"],
            "android.injected.signing.key.password" => ENV["ONIONSHARE_KEY_PASS"],
        }
    )
	aab = lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH]
	puts "AAB: " + aab

	# Tag release
	add_git_tag(
		tag: version_name,
		message: version_name,
		sign: true
    )

	# Github: Ensure that tag exists and push it
	git_tag_exists(tag: version_name)
	push_git_tags(remote: "upstream", tag: version_name)

    upload_to_play_store(
        track: 'beta',
        skip_upload_images: 'true',
        skip_upload_screenshots: 'true',
        skip_upload_changelogs: 'true',
        skip_upload_metadata: 'true',
        skip_upload_apk: 'true', # This is an app bundle, so APK is not possible
        validate_only: 'false'
    )
  end
end
