mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-10-09 19:55:05 +00:00
chore: Initial commit
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XPovRHpejR4zRxuhjY4Qs3
This commit is contained in:
87
android/fastlane/Fastfile
Normal file
87
android/fastlane/Fastfile
Normal file
@@ -0,0 +1,87 @@
|
||||
# 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
|
||||
def project_root
|
||||
File.expand_path("../..", __dir__)
|
||||
end
|
||||
|
||||
def play_service_account_json
|
||||
ENV.fetch("GOOGLE_PLAY_SERVICE_ACCOUNT_JSON")
|
||||
end
|
||||
|
||||
def play_build_command
|
||||
"cd #{project_root} && flutter build appbundle --release"
|
||||
end
|
||||
|
||||
def play_aab_path
|
||||
File.join(project_root, "build/app/outputs/bundle/release/app-release.aab")
|
||||
end
|
||||
|
||||
def play_package_name
|
||||
"com.meshcore.sar.meshcore_sar_app"
|
||||
end
|
||||
|
||||
def direct_apk_build_command
|
||||
"cd #{project_root} && flutter build apk --release"
|
||||
end
|
||||
|
||||
def direct_apk_path
|
||||
File.join(project_root, "build/app/outputs/flutter-apk/app-release.apk")
|
||||
end
|
||||
|
||||
def skip_android_build?
|
||||
ENV["SKIP_ANDROID_BUILD"] == "1"
|
||||
end
|
||||
|
||||
desc "Runs all the tests"
|
||||
lane :test do
|
||||
gradle(task: "test")
|
||||
end
|
||||
|
||||
desc "Build release APK"
|
||||
lane :direct_apk do
|
||||
sh(direct_apk_build_command)
|
||||
|
||||
UI.success("APK built successfully at: #{direct_apk_path}")
|
||||
end
|
||||
|
||||
desc "Build Play release AAB and upload to internal testing"
|
||||
lane :internal do
|
||||
sh(play_build_command) unless skip_android_build?
|
||||
|
||||
upload_to_play_store(
|
||||
aab: play_aab_path,
|
||||
package_name: play_package_name,
|
||||
track: "internal",
|
||||
release_status: "draft",
|
||||
json_key_data: play_service_account_json
|
||||
)
|
||||
end
|
||||
|
||||
desc "Build Play release AAB and upload to production"
|
||||
lane :production do
|
||||
sh(play_build_command) unless skip_android_build?
|
||||
|
||||
upload_to_play_store(
|
||||
aab: play_aab_path,
|
||||
package_name: play_package_name,
|
||||
track: "production",
|
||||
json_key_data: play_service_account_json
|
||||
)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user