#!/bin/bash # Version Management Script for Antigravity # Usage: ./scripts/version.sh [patch|minor|major] set -e VERSION_FILE="VERSION" CURRENT_VERSION="2.0.1-ai-providers-3" # Read current version or use default if [ -f "$VERSION_FILE" ]; then CURRENT_VERSION=$(cat "$VERSION_FILE") fi # Parse version parts IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_VERSION" MAJOR="${VERSION_PARTS[0]}" MINOR="${VERSION_PARTS[1]}" PATCH_EXTRA="${VERSION_PARTS[2]}" # Parse patch number and suffix IFS='-' read -ra PATCH_PARTS <<< "$PATCH_EXTRA" PATCH="${PATCH_PARTS[0]}" # Get suffix if exists SUFFIX="" if [[ "${PATCH_PARTS[1]}" == *"ai-providers"* ]]; then SUFFIX="-${PATCH_PARTS[1]}" if [ -n "${PATCH_PARTS[2]}" ]; then SUFFIX="${SUFFIX}-${PATCH_PARTS[2]}" fi fi # Increment version based on argument case "${1:-patch}" in major) MAJOR=$((MAJOR + 1)) MINOR=0 PATCH=0 ;; minor) MINOR=$((MINOR + 1)) PATCH=0 ;; patch|*) PATCH=$((PATCH + 1)) ;; esac # Create new version NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}${SUFFIX}" # Update VERSION file echo "$NEW_VERSION" > "$VERSION_FILE" # Update package.json if [ -f "src/app-extracted/package.json" ]; then sed -i "s/\"version\": \".*\"/\"version\": \"$NEW_VERSION\"/" src/app-extracted/package.json fi # Update desktop file version if exists if [ -f "src/app-extracted/dist/" ]; then find src/app-extracted -name "*.desktop" -exec sed -i "s/Version=.*/Version=$NEW_VERSION/" {} \; fi echo "Version updated: $CURRENT_VERSION → $NEW_VERSION" echo "$NEW_VERSION" > "$VERSION_FILE"