#!/bin/bash # Default version increment DEFAULT_INCREMENT="0.0.1" # Get the increment parameter or use the default INCREMENT=${1:-$DEFAULT_INCREMENT} # Function to increment the version increment_version() { local version=$1 local increment=$2 IFS='.' read -r -a version_parts <<< "$version" IFS='.' read -r -a increment_parts <<< "$increment" # Increment major, minor, and patch version_parts[0]=$((version_parts[0] + increment_parts[0])) version_parts[1]=$((version_parts[1] + increment_parts[1])) version_parts[2]=$((version_parts[2] + increment_parts[2])) # Reset minor and patch if major is incremented if [ "${increment_parts[0]}" -gt 0 ]; then version_parts[1]=0 version_parts[2]=0 elif [ "${increment_parts[1]}" -gt 0 ]; then version_parts[2]=0 fi echo "${version_parts[0]}.${version_parts[1]}.${version_parts[2]}" } CURRENT_VERSION=$(grep -oP '## Version: \K[0-9]+\.[0-9]+\.[0-9]+' Heimdall.toc) NEW_VERSION=$(increment_version "$CURRENT_VERSION" "$INCREMENT") sed -i "s/## Version: $CURRENT_VERSION/## Version: $NEW_VERSION/" Heimdall.toc sed -i "s/local VERSION = \"$CURRENT_VERSION\"/local VERSION = \"$NEW_VERSION\"/" Heimdall.lua # Existing deployment steps rm Heimdall.zip mkdir Heimdall cp *.lua *.toc Heimdall cp -r Modules Heimdall cp -r Sounds Heimdall cp -r Texture Heimdall 7z a Heimdall.zip Heimdall rm -rf Heimdall # Git operations git add Heimdall.lua Heimdall.toc Heimdall.zip git commit -m "Release $NEW_VERSION" git tag "$NEW_VERSION" echo "Deployment complete. New version: $NEW_VERSION"