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
 |