Skip to content

Commit 8e2f8df

Browse files
committed
Fix installer to download required project templates
1 parent a049670 commit 8e2f8df

1 file changed

Lines changed: 24 additions & 16 deletions

File tree

install.sh

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,37 @@ set -euo pipefail
33

44
REPO_RAW_BASE="${REPO_RAW_BASE:-https://raw.githubusercontent.com/psfs/core/master}"
55
GENERATOR_PATH="${GENERATOR_PATH:-scripts/create-psfs-project.sh}"
6-
GENERATOR_URL="${REPO_RAW_BASE}/${GENERATOR_PATH}"
6+
TMP_ROOT="$(mktemp -d -t psfs-installer.XXXXXX)"
7+
WORK_DIR="${TMP_ROOT}/core"
78

8-
tmp_file="$(mktemp -t psfs-generator.XXXXXX.sh)"
99
cleanup() {
10-
rm -f "${tmp_file}"
10+
rm -rf "${TMP_ROOT}"
1111
}
1212
trap cleanup EXIT
1313

14-
download_with_curl() {
15-
curl -fsSL "${GENERATOR_URL}" -o "${tmp_file}"
16-
}
14+
download_file() {
15+
local source="$1"
16+
local destination="$2"
17+
mkdir -p "$(dirname "${destination}")"
1718

18-
download_with_wget() {
19-
wget -qO "${tmp_file}" "${GENERATOR_URL}"
20-
}
19+
if command -v curl >/dev/null 2>&1; then
20+
curl -fsSL "${source}" -o "${destination}"
21+
return
22+
fi
23+
if command -v wget >/dev/null 2>&1; then
24+
wget -qO "${destination}" "${source}"
25+
return
26+
fi
2127

22-
if command -v curl >/dev/null 2>&1; then
23-
download_with_curl
24-
elif command -v wget >/dev/null 2>&1; then
25-
download_with_wget
26-
else
2728
echo "ERROR: curl or wget is required." >&2
2829
exit 1
29-
fi
30+
}
31+
32+
download_file "${REPO_RAW_BASE}/${GENERATOR_PATH}" "${WORK_DIR}/${GENERATOR_PATH}"
33+
download_file "${REPO_RAW_BASE}/templates/project/composer.json.tpl" "${WORK_DIR}/templates/project/composer.json.tpl"
34+
download_file "${REPO_RAW_BASE}/templates/project/docker-compose.yml.tpl" "${WORK_DIR}/templates/project/docker-compose.yml.tpl"
35+
download_file "${REPO_RAW_BASE}/templates/project/.env.example.tpl" "${WORK_DIR}/templates/project/.env.example.tpl"
36+
download_file "${REPO_RAW_BASE}/templates/project/docker/php.ini.tpl" "${WORK_DIR}/templates/project/docker/php.ini.tpl"
3037

31-
bash "${tmp_file}" "$@"
38+
chmod +x "${WORK_DIR}/${GENERATOR_PATH}"
39+
bash "${WORK_DIR}/${GENERATOR_PATH}" "$@"

0 commit comments

Comments
 (0)