Files
wow-Heimdall/release.sh

53 lines
1.6 KiB
Bash

#!/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"