aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer <joewinzer@googlemail.com>2021-02-11 20:49:57 +0100
committerJoseph-Eugene Winzer <joewinzer@googlemail.com>2021-02-11 20:49:57 +0100
commit7e56ccc9d9f478e160d07d6a171c7c5be0864a09 (patch)
tree0216979e4392ba50b86404f3a9c8e368b21e016f
parentb5ab7ea7877317813aaad6f60ab2fba3ed03826c (diff)
downloadziglings-7e56ccc9d9f478e160d07d6a171c7c5be0864a09.tar.gz
ziglings-7e56ccc9d9f478e160d07d6a171c7c5be0864a09.tar.bz2
ziglings-7e56ccc9d9f478e160d07d6a171c7c5be0864a09.tar.xz
ziglings-7e56ccc9d9f478e160d07d6a171c7c5be0864a09.zip
Improved zig version check
-rwxr-xr-xziglings34
1 files changed, 23 insertions, 11 deletions
diff --git a/ziglings b/ziglings
index 84822ca..a5fa8d4 100755
--- a/ziglings
+++ b/ziglings
@@ -18,19 +18,31 @@ fmt_yay=$( tput setaf 2 ) # green foreground
fmt_off=$( tput sgr0 ) # reset colors/effects
zig_cmd=zig
-# zig compiler version ( major minor patch commits_since_last_release )
-zig_version_required=( 0 8 0 1065 )
-zig_version=$($zig_cmd version)
-zig_version=(${zig_version//./ })
-zig_version_commit=(${zig_version[3]//+/ })
+zig_minimum_version="0 8 0 1065"
+zig_version=$($zig_cmd version 2>/dev/null)
-if [[ ${zig_version[0]} -ne ${zig_version_required[0]} ||
- ${zig_version[1]} -lt ${zig_version_required[1]} ||
- $zig_version_commit -lt ${zig_version_required[3]} ]]
+if [[ "$zig_version" =~ ([0-9]+)\.([0-9]+)\.([0-9]+)-dev\.([0-9]+) ]]
then
- echo "Your current zig version is $(IFS=$'.'; echo "${zig_version[*]}")."
- echo "Please update your zig compiler to a version >=$(IFS=$'.'; echo "${zig_version_required[*]}") "`
- `"or change zig_cmd in ./ziglings to the appropriate path."
+ match_idx=1 # regex matches start at index 1
+
+ for v in $zig_minimum_version
+ do
+ if [[ ${BASH_REMATCH[$match_idx]} -lt $v ]]
+ then
+ echo "Your current Zig version is $zig_version."
+ echo "Please update your zig compiler to a version >=$(echo "${zig_minimum_version// /.}") "`
+ `"or change \$zig_cmd in ./ziglings to the appropriate path."
+ exit 1
+ fi
+ match_idx=$((match_idx+1))
+ done
+elif [[ -z $zig_version ]]
+then
+ echo "Ziglings failed to determine your Zig version."
+ echo "Please check if \$zig_cmd in ./ziglings matches the zig executable in your PATH."
+ exit 1
+else
+ echo "Sorry, Zig version number '${zig_version}' is not in the expected format for a current development build."
exit 1
fi