This repository has been archived by the owner on Mar 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproyecto.sh
executable file
·106 lines (95 loc) · 3.54 KB
/
proyecto.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/usr/bin/env bash
# -*- ENCODING: UTF-8 -*-
##
## @author Raúl Caro Pastorino
## @copyright Copyright © 2017 Raúl Caro Pastorino
## @license https://wwww.gnu.org/licenses/gpl.txt
## @email tecnico@fryntiz.es
## @web www.fryntiz.es
## @github https://github.com/fryntiz
## @gitlab https://gitlab.com/fryntiz
## @twitter https://twitter.com/fryntiz
##
## Guía de estilos aplicada:
## @style https://github.com/fryntiz/Bash_Style_Guide
############################
## INSTRUCCIONES ##
############################
## Este script se enlazará dentro de /home/$USER/.local/bin/proyecto
## Será el lanzador de "main.sh" tras comprobar que existe el repositorio
## y actualizarlo si procede para traer cambios.
## $1 Recibe como primer parámetro el tipo de proyecto
## $2 Recibe como segundo parámetro el nombre para el proyecto (Opcional)
############################
## CONSTANTES ##
############################
AM="\033[1;33m" ## Color Amarillo
AZ="\033[1;34m" ## Color Azul
BL="\033[1;37m" ## Color Blanco
CY="\033[1;36m" ## Color Cyan
GR="\033[0;37m" ## Color Gris
MA="\033[1;35m" ## Color Magenta
RO="\033[1;31m" ## Color Rojo
VE="\033[1;32m" ## Color Verde
CL="\e[0m" ## Limpiar colores
WORKSCRIPT='' ## Directorio principal del script
USER=$(whoami) ## Usuario que ejecuta el script
###########################
## EJECUCIÓN ##
###########################
## Si es ejecutado como root sale del script
if [[ "$USER" = 'root' ]]; then
echo -e "$RO No se contempla root por motivos de seguridad.$CL"
echo -e "$VE Saliendo del scrip. Ejecútalo como usuario.$CL"
exit 1
fi
## Si pide ayuda se muestra este menú
if [[ "$1" = '-h' ]] || [[ "$1" = '--help' ]]; then
echo -e "$VE Menú de ayuda$CL"
echo ''
echo -e "$AZ Sintaxis:$RO proyecto$MA tipo$AM nombre$CL"
echo ''
echo -e "$AZ Tipos de proyectos:$CL"
echo -e "$RO yii$VE → Genera estructura de Yii2 framework php$CL"
echo -e "$RO js$VE → Genera Proyecto Javascript$CL"
echo -e "$RO slim$VE → Genera Proyecto Slim$CL"
echo -e "$RO bash$VE → Genera Proyecto Bash$CL"
echo -e "$RO python$VE → Genera Proyecto Python$CL"
echo -e "$RO angular$VE → Genera Proyecto Angular$CL"
echo -e "$RO node$VE → Genera Proyecto Node$CL"
echo -e "$RO blask$VE → Genera Proyecto Blask$CL"
echo -e "$RO hexo$VE → Genera Proyecto Hexo$CL"
exit 0
fi
## Si no existe proyecto → git clone ¿? (Preguntar si descargar de nuevo)
if [[ ! -d "$WORKSCRIPT" ]] || [[ ! -f "$WORKSCRIPT/main.sh" ]]; then
echo -e "$RO El programa principal ha sido movido de directorio$VE"
read -p '¿Clonar de nuevo el directorio en el mismo lugar? s/N' entrada
if [[ "$entrada" = 's' ]] || [[ "$entrada" = 'S' ]]; then
echo -e "$VE Preparando para clonar repositorio$CL"
git clone 'https://github.com/fryntiz/Generador_Proyectos.git' "$WORKSCRIPT" || exit 1
else
echo -e "$VE No se clona el repositorio, error al intentar regenerar$CL"
exit 1
fi
fi
## Actualizar repositorio
function actualizar_proyectos() {
echo -e "$VE Actualizando scripts$CL"
local diractual=$(pwd)
cd "$WORKSCRIPT" || exit 1
git checkout -- .
git pull
./instalar.sh
cd $diractual || exit 1
}
actualizar_proyectos
## LLamada al script principal del repositorio main.sh
if [[ $# = 1 ]]; then
$WORKSCRIPT/main.sh "$WORKSCRIPT" "$1"
elif [[ $# = 2 ]]; then
$WORKSCRIPT/main.sh "$WORKSCRIPT" "$1" "$2"
else
$WORKSCRIPT/main.sh "$WORKSCRIPT"
fi
exit 0