Created
October 1, 2024 03:15
-
-
Save mikemilla/4224408b500bd4cf491f8ff0920214aa to your computer and use it in GitHub Desktop.
Build Flutter app via command
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Ask which version to build π€ | |
read -p "Which version do you want to build? (1 for dev, 2 for prod): " version_choice | |
case $version_choice in | |
1) version="dev" ;; | |
2) version="prod" ;; | |
*) | |
while [[ "$version_choice" != "1" && "$version_choice" != "2" ]]; do | |
read -p "β Invalid input. Please enter '1' for dev or '2' for prod: " version_choice | |
done | |
case $version_choice in | |
1) version="dev" ;; | |
2) version="prod" ;; | |
esac | |
;; | |
esac | |
# Function to increment build number π’ | |
increment_build_number() { | |
local pubspec_file="pubspec.yaml" | |
local current_version=$(grep 'version:' $pubspec_file | awk '{print $2}') | |
local version_parts=(${current_version//./ }) | |
local build_number=${version_parts[2]#*+} | |
local new_build_number=$((build_number + 1)) | |
local new_version="${version_parts[0]}.${version_parts[1]}.${version_parts[2]%%+*}+$new_build_number" | |
sed -i '' "s/^version: .*/version: $new_version/" $pubspec_file | |
echo "π Build number incremented to $new_build_number π" | |
} | |
# Increment build number | |
increment_build_number | |
# Ask which apps to build π± | |
read -p "Build iOS app? (y/n): " build_ios | |
read -p "Build Android app? (y/n): " build_android | |
# Build selected apps π | |
if [[ "$build_ios" == "y" ]]; then | |
echo "π Building iOS app for $version..." | |
flutter build ipa --release --flavor $version --target lib/main_$version.dart | |
echo "π Opening Xcode Organizer..." | |
open build/ios/archive/Runner.xcarchive | |
fi | |
if [[ "$build_android" == "y" ]]; then | |
echo "π€ Building Android app for $version..." | |
flutter build appbundle --release --flavor $version --target lib/main_$version.dart | |
echo "π Opening Android build folder..." | |
open build/app/outputs/bundle/$version"Release" | |
fi | |
echo "π Build process completed! π" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment