only-bible-app v3.7.2+24
git clone https://git.pyrossh.dev/only-bible-app
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
macos/fastlane/Fastfile
| fe24dd6 | 1 | # This file contains the fastlane.tools configuration |
| fe24dd6 | 2 | # You can find the documentation at https://docs.fastlane.tools |
| fe24dd6 | 3 | # |
| fe24dd6 | 4 | # For a list of all available actions, check out |
| fe24dd6 | 5 | # |
| fe24dd6 | 6 | # https://docs.fastlane.tools/actions |
| fe24dd6 | 7 | # |
| fe24dd6 | 8 | # For a list of all available plugins, check out |
| fe24dd6 | 9 | # |
| fe24dd6 | 10 | # https://docs.fastlane.tools/plugins/available-plugins |
| fe24dd6 | 11 | # |
| fe24dd6 | 12 | |
| fe24dd6 | 13 | # Uncomment the line if you want fastlane to automatically update itself |
| fe24dd6 | 14 | # update_fastlane |
| fe24dd6 | 15 | |
| fe24dd6 | 16 | default_platform(:mac) |
| fe24dd6 | 17 | |
| 8b87a9b | 18 | # Screenshots are left untouched by default (regenerating/uploading them on |
| 8b87a9b | 19 | # every release is slow and usually a no-op since the UI rarely changes). |
| 8b87a9b | 20 | # Opt in with `fastlane release update_screenshots:true` or |
| 8b87a9b | 21 | # `UPDATE_SCREENSHOTS=true fastlane release`. |
| 8b87a9b | 22 | def update_screenshots_requested?(options) |
| 8b87a9b | 23 | options[:update_screenshots] || %w[1 true].include?(ENV["UPDATE_SCREENSHOTS"]) |
| 8b87a9b | 24 | end |
| 8b87a9b | 25 | |
| fe24dd6 | 26 | platform :mac do |
| fe24dd6 | 27 | desc "Get App Store Connect API key" |
| fe24dd6 | 28 | lane :api_key do |
| fe24dd6 | 29 | app_store_connect_api_key( |
| fe24dd6 | 30 | key_id: "CB6LCVYFTC", |
| fe24dd6 | 31 | issuer_id: "abc54778-7886-4294-8e5c-ef9f7bb0827d", |
| e26d881 | 32 | key_filepath: "../certs/AuthKey_CB6LCVYFTC.p8", |
| fe24dd6 | 33 | duration: 1200, |
| fe24dd6 | 34 | in_house: false |
| fe24dd6 | 35 | ) |
| fe24dd6 | 36 | end |
| fe24dd6 | 37 | |
| fe24dd6 | 38 | desc "Ensure signing certificates and provisioning profile exist" |
| fe24dd6 | 39 | lane :certs do |
| fe24dd6 | 40 | api_key = api_key() |
| fe24dd6 | 41 | # App-signing cert (Apple Distribution) - must run before sigh so sigh |
| fe24dd6 | 42 | # picks this cert's id, not the installer cert's. |
| e26d881 | 43 | cert(platform: "macos", api_key: api_key, output_path: "../certs") |
| e26d881 | 44 | sigh(platform: "macos", app_identifier: "sh.pyros.only-bible-app", api_key: api_key, output_path: "../certs") |
| fe24dd6 | 45 | # Installer-signing cert, used to sign the .pkg wrapping the .app. |
| e26d881 | 46 | cert(type: "mac_installer_distribution", platform: "macos", api_key: api_key, output_path: "../certs") |
| fe24dd6 | 47 | end |
| fe24dd6 | 48 | |
| fe24dd6 | 49 | desc "Build and sign the macOS app and installer package" |
| fe24dd6 | 50 | lane :build do |
| fe24dd6 | 51 | certs |
| e26d881 | 52 | # Regenerates Flutter-Generated.xcconfig so MARKETING_VERSION/CURRENT_PROJECT_VERSION |
| e26d881 | 53 | # match pubspec.yaml - build_mac_app runs xcodebuild directly and won't do this itself. |
| e26d881 | 54 | sh("cd ../.. && flutter build macos --config-only") |
| fe24dd6 | 55 | build_mac_app( |
| fe24dd6 | 56 | workspace: "Runner.xcworkspace", |
| fe24dd6 | 57 | scheme: "Runner", |
| fe24dd6 | 58 | configuration: "Release", |
| fe24dd6 | 59 | export_method: "app-store", |
| fe24dd6 | 60 | output_directory: "./build", |
| fe24dd6 | 61 | output_name: "only-bible-app" |
| fe24dd6 | 62 | ) |
| fe24dd6 | 63 | end |
| fe24dd6 | 64 | |
| e26d881 | 65 | desc "Regenerate Mac App Store screenshots from the Flutter golden tests" |
| e26d881 | 66 | lane :screenshots do |
| e26d881 | 67 | sh("cd ../.. && flutter test test/screenshot_test.dart --update-goldens") |
| e26d881 | 68 | end |
| e26d881 | 69 | |
| fe24dd6 | 70 | desc "Push a new release build to the Mac App Store" |
| 0228ae8 | 71 | lane :release do |options| |
| 8b87a9b | 72 | update_screenshots = update_screenshots_requested?(options) |
| 8b87a9b | 73 | screenshots if update_screenshots |
| fe24dd6 | 74 | build |
| fe24dd6 | 75 | api_key = api_key() |
| fe24dd6 | 76 | upload_to_app_store( |
| fe24dd6 | 77 | api_key: api_key, |
| fe24dd6 | 78 | platform: "osx", |
| e26d881 | 79 | pkg: lane_context[SharedValues::PKG_OUTPUT_PATH], |
| 8b87a9b | 80 | skip_screenshots: !update_screenshots, |
| 8b87a9b | 81 | overwrite_screenshots: update_screenshots, |
| 0228ae8 | 82 | precheck_include_in_app_purchases: false |
| fe24dd6 | 83 | ) |
| fe24dd6 | 84 | end |
| fe24dd6 | 85 | |
| fe24dd6 | 86 | desc "Upload a pre-built package to the Mac App Store" |
| 8b87a9b | 87 | lane :upload do |options| |
| 8b87a9b | 88 | update_screenshots = update_screenshots_requested?(options) |
| fe24dd6 | 89 | api_key = api_key() |
| fe24dd6 | 90 | deliver( |
| fe24dd6 | 91 | api_key: api_key, |
| fe24dd6 | 92 | platform: "osx", |
| fe24dd6 | 93 | pkg: "./build/only-bible-app.pkg", |
| fe24dd6 | 94 | automatic_release: true, |
| fe24dd6 | 95 | submit_for_review: true, |
| fe24dd6 | 96 | precheck_include_in_app_purchases: false, |
| 8b87a9b | 97 | skip_screenshots: !update_screenshots, |
| 8b87a9b | 98 | overwrite_screenshots: update_screenshots |
| fe24dd6 | 99 | ) |
| fe24dd6 | 100 | end |
| fe24dd6 | 101 | end |