@@ -3,29 +3,37 @@ set -euo pipefail
33
44REPO_RAW_BASE=" ${REPO_RAW_BASE:- https:// raw.githubusercontent.com/ psfs/ core/ master} "
55GENERATOR_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) "
99cleanup () {
10- rm -f " ${tmp_file } "
10+ rm -rf " ${TMP_ROOT } "
1111}
1212trap 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