[Android|Windows|macOS|iOS] Rework flutter build helpers (#5)

Rework flutter build command helpers for platforms:
- Android
- Windows
- macOS
- iOS

Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
2026-03-25 18:55:28 +01:00
parent 44ac517223
commit a0b3adc288
8 changed files with 343 additions and 34 deletions
+60
View File
@@ -0,0 +1,60 @@
#!/bin/bash
# Default values
buildType="release"
buildName="0.0.0"
buildsRef="builds.json"
# Help message
show_help() {
echo "Usage: $0 [-t buildType] [-n buildName]"
echo "Builds a Flutter iOS application with versioning support."
echo ""
echo "Options:"
echo " -t, --buildType Build type (release or debug). Default: release"
echo " -n, --buildName Build name (version). Default: 0.0.0"
echo " -h, --help Show this help message"
exit 0
}
# Parse command-line arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
-t|--buildType) buildType="$2"; shift ;;
-n|--buildName) buildName="$2"; shift ;;
-h|--help) show_help ;;
*) echo "Unknown parameter: $1"; show_help; exit 1 ;;
esac
shift
done
# Check if builds.json exists
if [ ! -f "$buildsRef" ]; then
echo "File created: $buildsRef"
echo "{\"$buildName\": 0}" > "$buildsRef"
else
echo "File already exists: $buildsRef"
fi
# Read the JSON file
buildsMap=$(cat "$buildsRef")
# Check if buildName exists in the JSON
if jq -e --arg key "$buildName" 'has($key)' <<< "$buildsMap" > /dev/null; then
echo "Build exists: $buildName"
buildNumber=$(jq --arg key "$buildName" '.[$key]' <<< "$buildsMap")
buildNumber=$((buildNumber + 1))
echo "Next build number for $buildName: $buildNumber"
buildsMap=$(jq --arg key "$buildName" --argjson value "$buildNumber" '.[$key] = $value' <<< "$buildsMap")
else
echo "New build: $buildName, starting at build number: 1"
buildNumber=1
buildsMap=$(jq --arg key "$buildName" --argjson value "$buildNumber" '.[$key] = $value' <<< "$buildsMap")
fi
# Save the updated JSON back to the file
echo "$buildsMap" > "$buildsRef"
# Build iOS application
echo "Building iOS application with arguments: --$buildType --build-name=$buildName --build-number=$buildNumber"
flutter build ios --"$buildType" --build-name="$buildName" --build-number="$buildNumber"