#!/bin/bash set -e echo "🔄 Starting version bump process..." # Check if we're in the project root if [ ! -f "mnemo_cards_web_v2/pubspec.yaml" ]; then echo "❌ Error: This script must be run from the project root directory" exit 1 fi # Get current version from pubspec.yaml CURRENT_VERSION=$(grep "^version:" mnemo_cards_web_v2/pubspec.yaml | cut -d' ' -f2 | tr -d "'\"") echo "📊 Current version: $CURRENT_VERSION" # Parse version components (format: major.minor.patch+build) if [[ $CURRENT_VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)(\+([0-9]+))?$ ]]; then MAJOR=${BASH_REMATCH[1]} MINOR=${BASH_REMATCH[2]} PATCH=${BASH_REMATCH[3]} BUILD=${BASH_REMATCH[5]:-0} # Increment patch version NEW_PATCH=$((PATCH + 1)) NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH+$((BUILD + 1))" else echo "❌ Error: Invalid version format: $CURRENT_VERSION" echo "Expected format: major.minor.patch+build" exit 1 fi echo "⬆️ New version: $NEW_VERSION" # Update API config (remove +build part for display version) DISPLAY_VERSION="$MAJOR.$MINOR.$NEW_PATCH" if [[ "$OSTYPE" == "darwin"* ]]; then # macOS sed -i '' "s/^version: .*/version: $NEW_VERSION/" mnemo_cards_web_v2/pubspec.yaml sed -i '' "s/static const String appVersion = '.*';/static const String appVersion = '$DISPLAY_VERSION';/" mnemo_cards_web_v2/lib/domain/config/api_config_v2.dart else # Linux sed -i "s/^version: .*/version: $NEW_VERSION/" mnemo_cards_web_v2/pubspec.yaml sed -i "s/static const String appVersion = '.*';/static const String appVersion = '$DISPLAY_VERSION';/" mnemo_cards_web_v2/lib/domain/config/api_config_v2.dart fi echo "✅ Updated mnemo_cards_web_v2/pubspec.yaml" echo "✅ Updated mnemo_cards_web_v2/lib/domain/config/api_config_v2.dart" # Commit the changes if [ -n "$(git status --porcelain)" ]; then echo "📝 Committing version bump..." git add mnemo_cards_web_v2/pubspec.yaml git add mnemo_cards_web_v2/lib/domain/config/api_config_v2.dart git commit -m "🔄 Bump version to $NEW_VERSION" echo "✅ Version bump committed" else echo "⚠️ No changes to commit" fi echo "🎉 Version successfully bumped to $NEW_VERSION"