40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
source /etc/nulib.sh || exit 1
|
|
|
|
declare -A DESTDIRS=(
|
|
[template-_bg_launcher.php]=sbin
|
|
[template-.launcher.php]=_cli
|
|
[template-_wrapper.sh]=_cli
|
|
)
|
|
declare -A MODES=(
|
|
[template-_bg_launcher.php]=+x
|
|
[template-.launcher.php]=
|
|
[template-_wrapper.sh]=+x
|
|
)
|
|
|
|
projdir=
|
|
args=(
|
|
"copier les templates dans le projet en cours"
|
|
#"usage"
|
|
-d:,--projdir: .
|
|
)
|
|
parse_args "$@"; set -- "${args[@]}"
|
|
|
|
if [ -n "$projdir" ]; then
|
|
cd "$projdir" || die
|
|
fi
|
|
|
|
[ -f composer.json ] || die "$(basename "$(dirname "$(pwd)")"): n'est pas un projet composer"
|
|
|
|
setx -a templates=ls_files "$MYDIR" "template-*"
|
|
for template in "${templates[@]}"; do
|
|
destdir="${DESTDIRS[$template]}"
|
|
[ -n "$destdir" ] || die "$template: la destination n'est pas configurée"
|
|
mode="${MODES[$template]}"
|
|
destname="${template#template-}"
|
|
|
|
tail -n+4 "$MYDIR/$template" >"$destdir/$destname"
|
|
[ -n "$mode" ] && chmod "$mode" "$destdir/$destname"
|
|
done
|