mirror of
https://github.com/jlengrand/asdf-php.git
synced 2026-03-10 08:01:22 +00:00
Fetch PHP versions from GitHub
Instead of using a hardcoded list of PHP versions, we can fetch them directly from GitHub and have the list always up to date.
This commit is contained in:
222
bin/list-all
222
bin/list-all
@@ -1,214 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Each of these values can be used to build the url to the archive containing
|
||||
# the source code for each version
|
||||
# (e.g. https://php.net/get/php-<version_name>.tar.gz/from/a/mirror)
|
||||
versions=$(curl -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
|
||||
grep -Ev "beta|alpha|RC" | # Remove betas, alphas and RCs
|
||||
sed 's/\"ref\"://' | # Remove '"ref":'
|
||||
sed 's/\"refs\/tags\/php-//' | # Remove '"refs/tags/php-"'
|
||||
sed 's/\",//' | # Remove last '",'
|
||||
sort -V) # Sort by version
|
||||
|
||||
versions_list=(
|
||||
7.0.2
|
||||
7.0.1
|
||||
7.0.0
|
||||
5.6.17
|
||||
5.5.31
|
||||
5.6.16
|
||||
5.5.30
|
||||
5.6.15
|
||||
5.6.14
|
||||
5.6.13
|
||||
5.5.29
|
||||
5.5.28
|
||||
5.6.12
|
||||
5.6.11
|
||||
5.5.27
|
||||
5.6.10
|
||||
5.5.26
|
||||
5.6.9
|
||||
5.5.25
|
||||
5.6.8
|
||||
5.5.24
|
||||
5.6.7
|
||||
5.5.23
|
||||
5.6.6
|
||||
5.5.22
|
||||
5.6.5
|
||||
5.5.21
|
||||
5.6.4
|
||||
5.5.20
|
||||
5.6.3
|
||||
5.5.19
|
||||
5.6.2
|
||||
5.5.18
|
||||
5.6.1
|
||||
5.5.17
|
||||
5.6.0
|
||||
5.5.16
|
||||
5.5.15
|
||||
5.5.14
|
||||
5.5.13
|
||||
5.5.12
|
||||
5.5.11
|
||||
5.5.10
|
||||
5.5.9
|
||||
5.5.8
|
||||
5.5.7
|
||||
5.5.6
|
||||
5.5.5
|
||||
5.5.4
|
||||
5.5.3
|
||||
5.5.2
|
||||
5.5.1
|
||||
5.5.0
|
||||
5.4.45
|
||||
5.4.44
|
||||
5.4.43
|
||||
5.4.42
|
||||
5.4.41
|
||||
5.4.40
|
||||
5.4.39
|
||||
5.4.38
|
||||
5.4.37
|
||||
5.4.36
|
||||
5.4.35
|
||||
5.4.34
|
||||
5.4.33
|
||||
5.4.32
|
||||
5.4.31
|
||||
5.4.30
|
||||
5.4.29
|
||||
5.4.28
|
||||
5.4.27
|
||||
5.4.26
|
||||
5.4.25
|
||||
5.4.24
|
||||
5.4.23
|
||||
5.4.22
|
||||
5.4.21
|
||||
5.4.20
|
||||
5.4.19
|
||||
5.4.18
|
||||
5.4.17
|
||||
5.4.16
|
||||
5.4.15
|
||||
5.4.14
|
||||
5.4.13
|
||||
5.4.12
|
||||
5.4.11
|
||||
5.4.10
|
||||
5.4.9
|
||||
5.4.8
|
||||
5.4.7
|
||||
5.4.6
|
||||
5.4.5
|
||||
5.4.4
|
||||
5.4.3
|
||||
5.4.2
|
||||
5.4.1
|
||||
5.4.0
|
||||
5.3.29
|
||||
5.3.28
|
||||
5.3.27
|
||||
5.3.26
|
||||
5.3.25
|
||||
5.3.24
|
||||
5.3.23
|
||||
5.3.22
|
||||
5.3.21
|
||||
5.3.20
|
||||
5.3.19
|
||||
5.3.18
|
||||
5.3.17
|
||||
5.3.16
|
||||
5.3.15
|
||||
5.3.14
|
||||
5.3.13
|
||||
5.3.12
|
||||
5.3.11
|
||||
5.3.10
|
||||
5.3.9
|
||||
5.3.8
|
||||
5.3.7
|
||||
5.3.6
|
||||
5.3.5
|
||||
5.3.4
|
||||
5.2.17
|
||||
5.2.16
|
||||
5.2.15
|
||||
5.3.3
|
||||
5.2.14
|
||||
5.3.2
|
||||
5.2.13
|
||||
5.3.1
|
||||
5.2.12
|
||||
5.2.11
|
||||
5.3.0
|
||||
5.2.10
|
||||
5.2.9
|
||||
5.2.8
|
||||
5.2.6
|
||||
5.2.5
|
||||
5.2.4
|
||||
5.2.3
|
||||
5.2.2
|
||||
5.2.1
|
||||
5.2.0
|
||||
5.1.6
|
||||
5.1.5
|
||||
5.1.4
|
||||
5.1.3
|
||||
5.1.2
|
||||
5.1.1
|
||||
5.1.0
|
||||
5.0.5
|
||||
5.0.4
|
||||
5.0.3
|
||||
5.0.2
|
||||
5.0.1
|
||||
5.0.0
|
||||
4.4.9
|
||||
4.4.8
|
||||
4.4.7
|
||||
4.4.6
|
||||
4.4.5
|
||||
4.4.4
|
||||
4.4.3
|
||||
4.4.2
|
||||
4.4.1
|
||||
4.4.0
|
||||
4.3.11
|
||||
4.3.10
|
||||
4.3.9
|
||||
4.3.8
|
||||
4.3.7
|
||||
4.3.6
|
||||
4.3.5
|
||||
4.3.4
|
||||
4.3.3
|
||||
4.3.2
|
||||
4.3.1
|
||||
4.3.0
|
||||
4.2.3
|
||||
4.2.2
|
||||
4.2.1
|
||||
4.2.0
|
||||
4.1.2
|
||||
4.1.1
|
||||
4.1.0
|
||||
4.0.6
|
||||
4.0.5
|
||||
4.0.4
|
||||
4.0.3
|
||||
4.0.2
|
||||
4.0.1
|
||||
4.0.0
|
||||
)
|
||||
|
||||
versions=""
|
||||
sorted_versions=($(printf '%s\n' "${versions_list[@]}"|sort))
|
||||
|
||||
# Concatenate all the versions together separated by spaces
|
||||
for version in "${sorted_versions[@]}"; do
|
||||
versions="${versions} ${version}"
|
||||
done
|
||||
|
||||
# Print out the versions
|
||||
echo $versions
|
||||
# As per the documentation, all versions should be in a single line separated
|
||||
# by spaces. We use `xargs` for this.
|
||||
echo $versions | xargs
|
||||
|
||||
Reference in New Issue
Block a user