dev: bump to 0.1.76.0-dev – aeltere Versionen im Update-Dialog, Release-Branch-Zuordnung, README ueberarbeitet
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user