#!/bin/bash # WordPress Plugin Version Bump Script # Usage: ./bump-version.sh [major|minor|patch] PLUGIN_FILE="dutchie-analytics.php" BUMP_TYPE=${1:-patch} # Default to patch if not specified # Get current version CURRENT_VERSION=$(grep "^ \* Version:" "$PLUGIN_FILE" | sed 's/.*Version: \(.*\)/\1/') if [ -z "$CURRENT_VERSION" ]; then echo "Error: Could not find current version" exit 1 fi echo "Current version: $CURRENT_VERSION" # Split version into parts IFS='.' read -r -a VERSION_PARTS <<< "$CURRENT_VERSION" MAJOR="${VERSION_PARTS[0]}" MINOR="${VERSION_PARTS[1]}" PATCH="${VERSION_PARTS[2]}" # Bump version based on type case $BUMP_TYPE in major) MAJOR=$((MAJOR + 1)) MINOR=0 PATCH=0 ;; minor) MINOR=$((MINOR + 1)) PATCH=0 ;; patch) PATCH=$((PATCH + 1)) ;; *) echo "Error: Invalid bump type. Use: major, minor, or patch" exit 1 ;; esac NEW_VERSION="$MAJOR.$MINOR.$PATCH" echo "New version: $NEW_VERSION" # Update version in plugin file sed -i "s/^ \* Version: .*/ * Version: $NEW_VERSION/" "$PLUGIN_FILE" sed -i "s/define('DUTCHIE_ANALYTICS_VERSION', '.*');/define('DUTCHIE_ANALYTICS_VERSION', '$NEW_VERSION');/" "$PLUGIN_FILE" echo "✓ Version bumped from $CURRENT_VERSION to $NEW_VERSION" echo "" echo "Changes made to: $PLUGIN_FILE" echo " - Plugin header: Version: $NEW_VERSION" echo " - Constant: DUTCHIE_ANALYTICS_VERSION = '$NEW_VERSION'"