mirror of
https://github.com/jlengrand/asdf-php.git
synced 2026-03-10 08:01:22 +00:00
Update list-all
This commit is contained in:
27
bin/list-all
27
bin/list-all
@@ -1,22 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
auth=""
|
||||
set -eo pipefail
|
||||
|
||||
cmd="curl --silent --location"
|
||||
releases_path="https://api.github.com/repos/php/php-src/git/refs/tags"
|
||||
|
||||
if [ -n "$GITHUB_API_TOKEN" ]; then
|
||||
auth="-H 'Authorization: token $GITHUB_API_TOKEN'"
|
||||
cmd="$cmd --header 'Authorization: token $GITHUB_API_TOKEN'"
|
||||
fi
|
||||
|
||||
sed="sed"
|
||||
if hash gsed 2>/dev/null; then
|
||||
sed="gsed"
|
||||
fi
|
||||
sort_versions() {
|
||||
sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z\1/; s/$/.z/; G; s/\n/ /' |
|
||||
LC_ALL=C sort -t. -k 1,1 -k 2,2n -k 3,3n -k 4,4n -k 5,5n | awk '{print $2}'
|
||||
}
|
||||
|
||||
versions=$(curl $auth -s https://api.github.com/repos/php/php-src/git/refs/tags | # Fetch all tags
|
||||
grep '"ref":' | # Filter by refs
|
||||
grep 'php-' | # Filter only those related to php-xxxx
|
||||
$sed 's/\"ref\"://' | # Remove '"ref":'
|
||||
$sed 's/\"refs\/tags\/php-//' | # Remove '"refs/tags/php-"'
|
||||
$sed 's/\",//') # Remove last '",'
|
||||
versions=$(eval "$cmd $releases_path" | grep '"ref": "refs/tags/php-' | tr -d '"ref": "refs/tags/php-' | tr -d ',' | sort_versions | xargs)
|
||||
|
||||
# As per the documentation, all versions should be in a single line separated
|
||||
# by spaces. We use `xargs` for this.
|
||||
echo $versions | xargs
|
||||
echo "$versions"
|
||||
|
||||
Reference in New Issue
Block a user