You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/fastlane/Fastfile

106 lines
3.2 KiB
Ruby

# 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
default_platform(:android)
platform :android do
desc "Runs all the tests"
lane :test do
gradle(task: "test")
end
desc "Submit a new Beta Build to Crashlytics Beta"
lane :beta do
gradle(task: "clean assembleRelease")
crashlytics
# sh "your_script.sh"
# You can also use other beta testing services here
end
desc "Deploy to internal track"
lane :deploy do
upload_to_play_store(
aab: "app/build/outputs/bundle/googleplayRelease/app-googleplay-release.aab",
mapping: "app/build/outputs/mapping/googleplayRelease/mapping.txt",
track: "beta",
skip_upload_metadata: true,
skip_upload_images: true,
skip_upload_screenshots: true,
)
upload_to_play_store(
aab: "wear/build/outputs/bundle/release/wear-release.aab",
mapping: "wear/build/outputs/mapping/release/mapping.txt",
track: "wear:internal", # don't need to hold up reviews
skip_upload_metadata: true,
skip_upload_images: true,
skip_upload_screenshots: true,
)
end
desc "Lint"
lane :lint do
gradle(task: ":app:lintGoogleplayRelease :app:lintGenericRelease --no-configuration-cache")
end
desc "Bundle"
lane :bundle do
gradle(
task: "app:bundleGoogleplayRelease wear:bundleRelease",
properties: {
"tasksKeyAlias": ENV["KEY_ALIAS"],
"tasksStoreFile": ENV["KEY_PATH"],
"tasksStorePassword": ENV["KEY_STORE_PASSWORD"],
"tasksKeyPassword": ENV["KEY_PASSWORD"],
"tasks_mapbox_key": ENV["MAPBOX_KEY"],
"tasks_google_key": ENV["GOOGLE_KEY"]
}
)
end
desc "Generate APKs from bundles"
lane :apkFromBundle do
app_bundle = "app/build/outputs/bundle/googleplayRelease/app-googleplay-release.aab"
wear_bundle = "wear/build/outputs/bundle/release/wear-release.aab"
app_bundle_dir = "app/build/outputs/apk/googleplayRelease"
wear_bundle_dir = "wear/build/outputs/apk/release"
sh(
"bundletool",
"build-apks",
"--output-format", "DIRECTORY",
"--bundle", app_bundle,
"--output", app_bundle_dir,
"--mode", "universal",
"--ks", ENV["KEY_PATH"],
"--ks-pass", "pass:#{ENV["KEY_STORE_PASSWORD"]}",
"--ks-key-alias", ENV["KEY_ALIAS"],
"--key-pass", "pass:#{ENV["KEY_PASSWORD"]}",
)
sh(
"bundletool",
"build-apks",
"--output-format", "DIRECTORY",
"--bundle", wear_bundle,
"--output", wear_bundle_dir,
"--mode", "universal",
"--ks", ENV["KEY_PATH"],
"--ks-pass", "pass:#{ENV["KEY_STORE_PASSWORD"]}",
"--ks-key-alias", ENV["KEY_ALIAS"],
"--key-pass", "pass:#{ENV["KEY_PASSWORD"]}",
)
end
end