dev: bump to 0.1.76.0-dev – aeltere Versionen im Update-Dialog, Release-Branch-Zuordnung, README ueberarbeitet

This commit is contained in:
2026-03-10 14:28:41 +01:00
parent 5564851d35
commit 649929ca5d
7 changed files with 178 additions and 49 deletions

View File

@@ -1,5 +1,7 @@
#!/bin/bash
# pre-commit: Patch-Version in addon.xml automatisch hochzählen (nur dev-Branch)
# Unterstuetzt 3-teilig (x.x.xx) und 4-teilig (x.x.xx.x)
# 4-teilig: zaehlt den 4. Teil in 5er-Schritten hoch (z.B. 0.1.75.5 → 0.1.76.0)
branch=$(git symbolic-ref --short HEAD 2>/dev/null)
[[ "$branch" != "dev" ]] && exit 0
@@ -7,18 +9,43 @@ branch=$(git symbolic-ref --short HEAD 2>/dev/null)
root=$(git rev-parse --show-toplevel)
cd "$root"
# Version aus addon.xml lesen
current=$(grep -oP 'version="\K[0-9]+\.[0-9]+\.[0-9]+[^"]*' addon/addon.xml | head -1)
# Version aus addon.xml lesen (3- oder 4-teilig mit optionalem Suffix)
current=$(grep -oP 'version="\K[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?[^"]*' addon/addon.xml | head -1)
if [[ -z "$current" ]]; then
echo "[hook] Fehler: Version nicht gefunden in addon/addon.xml" >&2
exit 1
fi
# Patch-Nummer extrahieren und hochzählen
IFS='.' read -r major minor patch_full <<< "$current"
patch=$(echo "$patch_full" | grep -oP '^\d+')
suffix=$(echo "$patch_full" | grep -oP '[^0-9].*' || true)
new_version="${major}.${minor}.$((patch + 1))${suffix}"
# Suffix extrahieren (z.B. -dev)
suffix=$(echo "$current" | grep -oP '[-][a-zA-Z].*' || true)
version_only=$(echo "$current" | sed "s/${suffix}$//")
# Parts zaehlen
IFS='.' read -ra parts <<< "$version_only"
num_parts=${#parts[@]}
if [[ $num_parts -eq 4 ]]; then
# 4-teilig: 4. Teil um 5 erhoehen, bei >= 10 den 3. Teil erhoehen
major=${parts[0]}
minor=${parts[1]}
patch=${parts[2]}
sub=${parts[3]}
new_sub=$((sub + 5))
if [[ $new_sub -ge 10 ]]; then
new_sub=$((new_sub - 10))
patch=$((patch + 1))
fi
new_version="${major}.${minor}.${patch}.${new_sub}${suffix}"
elif [[ $num_parts -eq 3 ]]; then
# 3-teilig: Patch hochzaehlen
major=${parts[0]}
minor=${parts[1]}
patch=${parts[2]}
new_version="${major}.${minor}.$((patch + 1))${suffix}"
else
echo "[hook] Fehler: Unerwartetes Versionsformat: $current" >&2
exit 1
fi
# addon.xml aktualisieren
sed -i "s/version=\"${current}\"/version=\"${new_version}\"/" addon/addon.xml