Skip to content

Commit e09cb20

Browse files
Rusydy-MekariRusydy
authored andcommitted
Move download logic to separate script and simplify install args
1 parent 09203d1 commit e09cb20

2 files changed

Lines changed: 55 additions & 59 deletions

File tree

bin/download

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env bash
2+
3+
set -eo pipefail
4+
5+
get_download_url() {
6+
local install_type=$1
7+
local version=$2
8+
9+
echo "https://github.com/php/php-src/archive/php-${version}.tar.gz"
10+
}
11+
12+
get_php_version() {
13+
IFS='-' read -r -a version_info <<<"$1"
14+
15+
if [ "${#version_info[@]}" -eq 1 ]; then
16+
echo "${version_info[0]}"
17+
else
18+
echo "${version_info[0]}-${version_info[1]}"
19+
fi
20+
}
21+
22+
download_source() {
23+
local install_type=$1
24+
local version=$2
25+
local download_path=$3
26+
27+
local php_version
28+
php_version=$(get_php_version "$version")
29+
local download_file="$download_path/php-${php_version}.tar.gz"
30+
local download_url
31+
download_url=$(get_download_url "$install_type" "$version")
32+
33+
echo "Downloading PHP source from $download_url"
34+
curl -Lo "$download_file" "$download_url"
35+
36+
echo "Extracting PHP source..."
37+
tar -xzf "$download_file" -C "$download_path" --strip-components=0
38+
39+
# The extracted directory name
40+
local extracted_dir="$download_path/php-src-php-${php_version}"
41+
42+
# Move contents to download_path root if extracted to subdirectory
43+
if [ -d "$extracted_dir" ]; then
44+
mv "$extracted_dir"/* "$download_path"/
45+
rm -rf "$extracted_dir"
46+
fi
47+
48+
# Clean up tarball
49+
rm -f "$download_file"
50+
}
51+
52+
download_source "$ASDF_INSTALL_TYPE" "$ASDF_INSTALL_VERSION" "$ASDF_DOWNLOAD_PATH"

bin/install

Lines changed: 3 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,8 @@
33
set -eo pipefail
44

55
install_php() {
6-
local install_type=$1
7-
local version=$2
8-
local install_path=$3
9-
10-
if [ "$TMPDIR" = "" ]; then
11-
local tmp_download_dir=$(mktemp -d)
12-
else
13-
local tmp_download_dir=${TMPDIR%/}
14-
fi
6+
local install_path=$1
7+
local download_path=$2
158

169
echo "Determining configuration options..."
1710
local source_path=$(get_download_file_path $install_type $version $tmp_download_dir)
@@ -360,54 +353,5 @@ os_based_configure_options() {
360353
echo $configure_options
361354
}
362355

363-
download_source() {
364-
local install_type=$1
365-
local version=$2
366-
local download_path=$3
367-
local download_url=$(get_download_url $install_type $version)
368-
369-
# curl -Lo $download_path -C - $download_url
370-
curl -Lo $download_path $download_url
371-
}
372-
373-
get_download_file_path() {
374-
local install_type=$1
375-
local version=$2
376-
local tmp_download_dir=$3
377-
local php_version=$(get_php_version $version)
378-
local pkg_name="php-${php_version}.tar.gz"
379-
380-
echo "$tmp_download_dir/$pkg_name"
381-
}
382-
383-
untar_path() {
384-
local install_type=$1
385-
local version=$2
386-
local tmp_download_dir=$3
387-
388-
local php_version=$(get_php_version $version)
389-
390-
local dir_name="php-src-php-${php_version}"
391-
392-
echo "$tmp_download_dir/$dir_name"
393-
}
394-
395-
get_download_url() {
396-
local install_type=$1
397-
local version=$2
398-
399-
echo "https://github.com/php/php-src/archive/php-${version}.tar.gz"
400-
}
401-
402-
get_php_version() {
403-
IFS='-' read -a version_info <<<"$1"
404-
405-
if [ "${#version_info[@]}" -eq 1 ]; then
406-
echo "${version_info[0]}"
407-
else
408-
echo "${version_info[0]}-${version_info[1]}"
409-
fi
410-
}
411-
412-
install_php "$ASDF_INSTALL_TYPE" "$ASDF_INSTALL_VERSION" "$ASDF_INSTALL_PATH"
356+
install_php "$ASDF_INSTALL_PATH" "$ASDF_DOWNLOAD_PATH"
413357
install_composer "$ASDF_INSTALL_PATH"

0 commit comments

Comments
 (0)