diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5e8478d7 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +version: 2 +updates: + - package-ecosystem: "bundler" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "chore" + prefix-development: "chore" + include: "scope" + + - package-ecosystem: "gradle" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "chore" + prefix-development: "chore" + include: "scope" diff --git a/.github/workflows/foss-release.yml b/.github/workflows/foss-release.yml new file mode 100644 index 00000000..1f24acd2 --- /dev/null +++ b/.github/workflows/foss-release.yml @@ -0,0 +1,25 @@ +name: Github Release + +on: + push: + tags: + - "*.*.*" + +permissions: + contents: read + +jobs: + call-release-workflow: + uses: FossifyOrg/.github/.github/workflows/release.yml@main + with: + tag: ${{ github.ref_name }} + flavor: "foss" + package_name: "org.fossify.flashlight" + + secrets: + ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} + SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} + SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} + SERVICE_ACCOUNT_JSON_KEY_BASE64: "" + FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }} diff --git a/.github/workflows/gplay-release.yml b/.github/workflows/gplay-release.yml new file mode 100644 index 00000000..fe2bfa22 --- /dev/null +++ b/.github/workflows/gplay-release.yml @@ -0,0 +1,46 @@ +name: Google Play Release + +on: + workflow_dispatch: + inputs: + track: + description: "Google Play Store release track" + required: false + type: choice + default: "beta" + options: + - internal + - alpha + - beta + - production + rollout: + description: "Rollout fraction (0.0-1.0)" + required: false + type: string + default: "0.05" + validate_only: + description: "Fastlane dry-run?" + required: false + type: boolean + default: false + +permissions: + contents: read + +jobs: + call-release-workflow: + uses: FossifyOrg/.github/.github/workflows/release.yml@main + with: + flavor: "gplay" + package_name: "org.fossify.flashlight" + track: ${{ github.event.inputs.track }} + rollout: ${{ github.event.inputs.rollout }} + validate_only: ${{ github.event.inputs.validate_only == 'true' }} + + secrets: + ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} + SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} + SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} + SERVICE_ACCOUNT_JSON_KEY_BASE64: ${{ secrets.SERVICE_ACCOUNT_JSON_KEY_BASE64 }} + FOSSIFYBOT_TOKEN: "" diff --git a/.gitignore b/.gitignore index 21da4996..d209458c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ keystore.jks keystore.properties fastlane/fastlane.json -Gemfile -Gemfile.lock +fastlane/report.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 47d6ea87..1bb1b2da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,371 +1,17 @@ -Changelog -========== +# Changelog -Version 5.10.1 *(2023-10-18)* ----------------------------- +All notable changes to this project will be documented in this file. - * Added some UI and translation improvements +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -Version 5.10.0 *(2023-09-07)* ----------------------------- +## [Unreleased] - * Added a Sleep timer - * Added some UI and translation improvements +## [1.0.0] - 2016-06-05 -Version 5.9.2 *(2023-05-15)* ----------------------------- +### Added +- Initial release - * Added some UI and translation improvements - -Version 5.9.1 *(2023-03-25)* ----------------------------- - - * Added some UI, stability and translation improvements - -Version 5.9.0 *(2022-12-21)* ----------------------------- - - * Use Material You design by default on Android 12+ - * Increased minimal required Android OS version to 6 - * Added some UI, stability and translation improvements - -Version 5.8.4 *(2022-11-17)* ----------------------------- - - * Allow changing the flashlight brightness on Android 13+ - * Added a Bright display settings tile - * Fixed SOS timing - * Added some translation and UX improvements - -Version 5.8.3 *(2022-11-15)* ----------------------------- - - * Allow changing the flashlight brightness on Android 13+ - * Added a Bright display settings tile - * Fixed SOS timing - * Added some translation and UX improvements - -Version 5.8.2 *(2022-10-06)* ----------------------------- - - * Adding a Get Simple Phone button into the About section - * Added some translation and UX improvements - -Version 5.8.1 *(2022-09-11)* ----------------------------- - - * Added some translation and UX improvements - -Version 5.8.0 *(2022-08-17)* ----------------------------- - - * Added Monochrome icon and Language picker support on Android 13+ - * Added some translation and UX improvements - -Version 5.7.0 *(2022-07-20)* ----------------------------- - - * Adding some materialish elements, especially in the System Theme - * Added some translation and UX improvements - -Version 5.6.3 *(2022-07-06)* ----------------------------- - - * Adding some translation and UX improvements - -Version 5.6.2 *(2022-06-22)* ----------------------------- - - * Adding some translation improvements - -Version 5.6.1 *(2022-05-20)* ----------------------------- - - * Added some widget related improvements, but require Simple Thank You for using them - * Added some stabiliy and translation improvements - -Version 5.6.0 *(2022-04-01)* ----------------------------- - - * Added support for Material You theme on Android 12+ - * Added a Privacy policy - * Added some translation improvements - -Version 5.5.3 *(2022-02-12)* ----------------------------- - - * Catch and show errors thrown in some cases, do not ignore them - * Added many translation improvements - -Version 5.5.2 *(2022-01-31)* ----------------------------- - - * Added many translation improvements - -Version 5.5.1 *(2021-12-29)* ----------------------------- - - * Added many translation improvements - -Version 5.5.0 *(2021-11-13)* ----------------------------- - - * Redesigned some parts of the app, added an Auto theme - -Version 5.4.3 *(2021-04-16)* ----------------------------- - - * Adding some stability and translation improvements - -Version 5.4.2 *(2021-03-06)* ----------------------------- - - * Allow selecting an accent color at Black & White theme - * Some design and translation improvements - -Version 5.4.1 *(2021-02-11)* ----------------------------- - - * Added a special white theme - * Added some translation improvements - -Version 5.4.0 *(2020-12-29)* ----------------------------- - - * Adding some stability and translation improvements - * Require Simple Thank You for color customization - -Version 5.3.0 *(2020-11-07)* ----------------------------- - - * Added a widget for Bright Display - * Couple stability and translation improvements - -Version 5.2.0 *(2020-08-20)* ----------------------------- - - * Enable flashlight on resume too, when turning on at startup is enabled (by im-indrajeet) - -Version 5.1.1 *(2020-05-25)* ----------------------------- - - * Updated the app icon on lower Android versions - * Added a Bright Display shortcut - * Removed the Camera permission on Android 7+ - -Version 5.1.0 *(2020-03-23)* ----------------------------- - - * Updated the app icon, make it more intuitive - * Added multiple Bright Display related improvements - -Version 5.0.6 *(2020-03-09)* ----------------------------- - - * Adding some translation improvements - -Version 5.0.5 *(2020-02-15)* ----------------------------- - - * Couple smaller UI and translation improvements - -Version 5.0.4 *(2019-12-31)* ----------------------------- - - * Updated some libraries and translations - -Version 5.0.3 *(2019-08-24)* ----------------------------- - - * Added an initial implementation of SOS morse code - -Version 5.0.2 *(2019-07-03)* ----------------------------- - - * Allow setting an even more frequent stroboscope - * Some translation improvements - -Version 5.0.1 *(2019-04-08)* ----------------------------- - - * Fixed some smaller glitches - * Translation improvements - -Version 5.0.0 *(2018-10-12)* ----------------------------- - - * Increased the minimal requested Android OS version to 5 (Lollipop) - * Replaced G+ button with Reddit - -Version 4.2.0 *(2018-10-05)* ----------------------------- - - * Fixing a glitch at forcing portrait - * Some translation improvements - -Version 4.1.0 *(2018-08-10)* ----------------------------- - - * Couple smaller improvements - -Version 4.0.0 *(2018-05-22)* ----------------------------- - - * Allow changing the app launcher icon color - * Allow customizing the widget color without recreating - -Version 3.2.1 *(2018-04-15)* ----------------------------- - - * Added a toggle for forcing portrait mode, enabled by default - -Version 3.2.0 *(2018-04-05)* ----------------------------- - - * Allow changing the color of Bright Display - * Allow landscape orientation of the app - * Remember the last used stroboscope frequency - -Version 3.1.0 *(2018-01-24)* ----------------------------- - - * Added a toggle for turning flashlight on at startup - -Version 3.0.1 *(2017-12-07)* ----------------------------- - - * Fixed missing launcher icons on some devices - * Allow customizing the main screen background - -Version 3.0.0 *(2017-12-04)* ----------------------------- - - * Improved primary color customization - * Added a quicksetting tile for Android 7+ - -Version 2.0.0 *(2017-11-06)* ----------------------------- - - * Rewrote the app to kotlin - * Added color customization - * Made the widget more reliable - -Version 1.22 *(2017-02-09)* ----------------------------- - - * Fixed stroboscope on some devices - -Version 1.21 *(2016-11-24)* ----------------------------- - - * Fixed some Nougat issues - * Added some translations - -Version 1.20 *(2016-09-26)* ----------------------------- - - * Improve the widgets look - -Version 1.19 *(2016-09-25)* ----------------------------- - - * Add a Stroboscope feature - * Misc Widget UI improvements - -Version 1.18 *(2016-09-07)* ----------------------------- - - * Added German translation - -Version 1.17 *(2016-08-31)* ----------------------------- - - * Make the buttons brighter - -Version 1.16 *(2016-08-31)* ----------------------------- - - * Double the resolution of the widget - -Version 1.15 *(2016-08-30)* ----------------------------- - - * Allow customizing the widget's active color - * Rename the app launcher to Flashlight - * Update the launcher icon - -Version 1.14 *(2016-08-21)* ----------------------------- - - * Add an Invite friends button - -Version 1.13 *(2016-08-01)* ----------------------------- - - * Add a Bright Display feature - -Version 1.12 *(2016-07-26)* ----------------------------- - - * Make the dark theme really dark - -Version 1.11 *(2016-07-24)* ----------------------------- - - * Fix turning on the flashlight on some devices - -Version 1.10 *(2016-07-24)* ----------------------------- - - * Added a dark theme - * Force portrait mode to prevent blinking at rotation - * Added Italian and Swedish translations - -Version 1.9 *(2016-07-11)* ----------------------------- - - * Allow using the app in landscape mode - * Add Japanese translation - -Version 1.8 *(2016-07-05)* ----------------------------- - - * Use the new Google Plus logo - -Version 1.6 *(2016-07-01)* ----------------------------- - - * Adjust everything properly if used on a tablet - * Show a Rate us button to returning users - -Version 1.5 *(2016-06-27)* ----------------------------- - - * Use a black splash screen with light grey icon instead of white - * Add a Google Plus page link to the About section - -Version 1.4 *(2016-06-20)* ----------------------------- - - * Use Otto for dispatching events instead of an interface, making it more reliable - -Version 1.3 *(2016-06-19)* ----------------------------- - - * Add a Facebook page link to the About section - -Version 1.2 *(2016-06-15)* ----------------------------- - - * Fix the flashlight for Android 4 - -Version 1.1 *(2016-06-13)* ----------------------------- - - * Do not require the Camera permission on Marshmallow+ - -Version 1.0 *(2016-06-05)* ----------------------------- - - * Initial release +[Unreleased]: https://github.com/FossifyOrg/Flashlight/compare/1.0.0...HEAD +[1.0.0]: https://github.com/FossifyOrg/Flashlight/releases/tag/1.0.0 diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..34b05736 --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "fastlane" +gem "fastlane-plugin-fossify", "~> 1.0" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..d4ed537a --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,231 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + abbrev (0.1.2) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.2) + aws-partitions (1.1095.0) + aws-sdk-core (3.222.3) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.184.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.227.1) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.1) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-plugin-fossify (1.0.0) + abbrev + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.11.3) + jwt (2.10.1) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.2) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.1) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.20.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + x86_64-linux + +DEPENDENCIES + fastlane + fastlane-plugin-fossify (~> 1.0) + +BUNDLED WITH + 2.6.8 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c8c58b75..1b902c0f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -19,6 +19,13 @@ if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } +fun hasSigningVars(): Boolean { + return providers.environmentVariable("SIGNING_KEY_ALIAS").orNull != null + && providers.environmentVariable("SIGNING_KEY_PASSWORD").orNull != null + && providers.environmentVariable("SIGNING_STORE_FILE").orNull != null + && providers.environmentVariable("SIGNING_STORE_PASSWORD").orNull != null +} + android { compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt() @@ -38,9 +45,19 @@ android { storeFile = file(keystoreProperties.getProperty("storeFile")) storePassword = keystoreProperties.getProperty("storePassword") } + } else if (hasSigningVars()) { + register("release") { + keyAlias = providers.environmentVariable("SIGNING_KEY_ALIAS").get() + keyPassword = providers.environmentVariable("SIGNING_KEY_PASSWORD").get() + storeFile = file(providers.environmentVariable("SIGNING_STORE_FILE").get()) + storePassword = providers.environmentVariable("SIGNING_STORE_PASSWORD").get() + } + } else { + logger.warn("Warning: No signing config found. Build will be unsigned.") } } + buildFeatures { viewBinding = true buildConfig = true @@ -61,7 +78,7 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) - if (keystorePropertiesFile.exists()) { + if (keystorePropertiesFile.exists() || hasSigningVars()) { signingConfig = signingConfigs.getByName("release") } } @@ -71,7 +88,7 @@ android { productFlavors { register("core") register("fdroid") - register("prepaid") + register("gplay") } sourceSets { diff --git a/app/src/prepaid/res/values/bools.xml b/app/src/gplay/res/values/bools.xml similarity index 100% rename from app/src/prepaid/res/values/bools.xml rename to app/src/gplay/res/values/bools.xml diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 19c557cc..947a642c 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,38 +1,12 @@ -# 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 'Run unit & instrumentation tests' + lane(:test) { test_android } - 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 'Build & deploy AAB to Google Play (includes metadata)' + lane(:deploy) { deploy_android } - desc "Deploy a new version to the Google Play" - lane :deploy do - gradle(task: "clean assembleRelease") - upload_to_play_store - end + desc 'Push Play Store metadata' + lane(:metadata) { metadata_android } end diff --git a/fastlane/README.md b/fastlane/README.md new file mode 100644 index 00000000..29777e78 --- /dev/null +++ b/fastlane/README.md @@ -0,0 +1,48 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## Android + +### android test + +```sh +[bundle exec] fastlane android test +``` + +Run unit & instrumentation tests + +### android deploy + +```sh +[bundle exec] fastlane android deploy +``` + +Build & deploy AAB to Google Play (includes metadata) + +### android metadata + +```sh +[bundle exec] fastlane android metadata +``` + +Push Play Store metadata + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).