#!/usr/bin/env bash # Bumps the version in version.properties before a release build. # Usage: ./bump-version.sh [major|minor|patch] # Default: patch set -euo pipefail PROPS_FILE="$(dirname "$0")/version.properties" if [[ ! -f "$PROPS_FILE" ]]; then echo "Error: $PROPS_FILE not found" >&2 exit 1 fi # Read current values major=$(grep '^versionMajor=' "$PROPS_FILE" | cut -d= -f2) minor=$(grep '^versionMinor=' "$PROPS_FILE" | cut -d= -f2) patch=$(grep '^versionPatch=' "$PROPS_FILE" | cut -d= -f2) code=$(grep '^versionCode=' "$PROPS_FILE" | cut -d= -f2) bump_type="${1:-patch}" case "$bump_type" in major) major=$((major + 1)) minor=0 patch=0 ;; minor) minor=$((minor + 1)) patch=0 ;; patch) patch=$((patch + 1)) ;; *) echo "Usage: $0 [major|minor|patch]" >&2 exit 1 ;; esac code=$((code + 1)) # Write updated values cat > "$PROPS_FILE" << EOF versionMajor=$major versionMinor=$minor versionPatch=$patch versionCode=$code EOF echo "$major.$minor.$patch (versionCode=$code)"