Commit 9abcaf04 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm play common.sh: rewrite get_github_tag() to fix prerelease handling

parent 923d099e
...@@ -230,24 +230,33 @@ get_github_url() ...@@ -230,24 +230,33 @@ get_github_url()
get_github_tag() get_github_tag()
{ {
local url="$1" local url="$1"
local flag="$2"
if [ "$2" == "prerelease" ] ; then local json
get_github_release_info "$url" | grep -oP '"tag_name": *"[^"]*' | grep -oP '[0-9]+(\.[0-9]+)*(-[0-9]+)?' | head -n1 json="$(get_github_release_info "$url")"
else
get_github_release_info "$url" \ jv()
| awk '{ {
if ($0 ~ /"prerelease": false/) { local item="$1"
prerelease = 0; local tag="$2"
} else if ($0 ~ /"prerelease": true/) { echo "$json" | parse_json_value "[$item,\"$tag\"]" 2>/dev/null
prerelease = 1;
}
if (!prerelease && $0 ~ /"tag_name":/) {
match($0, /"tag_name": "([^"]*)"/, arr);
print arr[1];
} }
}' | grep -oP '[0-9]+(\.[0-9]+)*(-[0-9]+)?' | head -n1
fi
local item
for item in $(seq 0 100) ; do
local val
val=$(jv $item "tag_name")
[ -n "$val" ] || return
echo "Checking for [$item,$val] ..." >&2
#[0,"draft"] false
#[0,"prerelease"] true
[ "$(jv $item "draft")" = "true" ] && continue
[ "$flag" == "prerelease" ] && break
[ "$(jv $item "prerelease")" = "true" ] && continue
break
done
echo "$val" | grep -oP '[0-9]+(\.[0-9]+)*(-[0-9]+)?' | head -n1
return
} }
print_product_alt() print_product_alt()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment