[IMPROVED] Creación de proyecto odoo nuevo

- Se crea la esctructura de carpetas
- Si no existe el Dockerfile, se crea a partir de la plantilla dockerfile.local
This commit is contained in:
Mauro Rosero P. 2024-12-01 21:42:51 -05:00
parent 7772727895
commit 29509c0b91
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
4 changed files with 121 additions and 19 deletions

View file

@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
#odoo.lib
# #
# Library: odoo.lib
# Modified: 2024/11/30 15:27:00
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>] # Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
# #
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo # Este programa es software libre: usted puede redistribuirlo y/o modificarlo
@ -16,25 +17,58 @@
# Debería haber recibido una copia de la Licencia Pública Affero General # Debería haber recibido una copia de la Licencia Pública Affero General
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>. # junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
# Función para crear la estructura de archivos para proyecto de desarrollo local Odoo - Contenedores
odoo_structure() {
if [[ ! -f "${POSTGRES_PATH}" ]]
then
mkdir -p "${POSTGRES_PATH}"
fi
if [[ ! -f "${POSTGRES_INIT}" ]] DOCKER_LOCAL=dockerfile.local
then DOCKER_BASE=dockerfile.base
mkdir -p "${POSTGRES_INIT}" DOCKER_SAAS=dockerfile.saas
fi DOCKER_BUILD=build
DOCKER_FILE=Dockerfile
if [[ ! -f "${ODOO_DATA}" ]] ODOO_APP=apps
then ODOO_DOC=docs
mkdir -p "${ODOO_DATA}" ODOO_ETC=etc
fi ODOO_CFG=config
if [[ ! -f "${ODOO_BACKUPS}" ]] # Test odoo library
function odoolib_test() {
echo "Odoo Library loaded!"
}
# Create odoo project structured path
function odoo_structure() {
local ODOO_PATH=$1
local ODOO_PROJ=$2
if [[ ! -d "${ODOO_PATH}" ]]
then then
mkdir -p "${ODOO_BACKUPS}" echo "${odmsg_002}"
return 1
else
if [[ ! -d "${ODOO_PATH}/${ODOO_PROJ}" ]]
then
mkdir -p $ODOO_PATH/$ODOO_PROJ/{$DOCKER_BUILD,$ODOO_APP,$ODOO_DOC,$ODOO_ETC}
if [ $? -eq 0 ]
then
echo "[x] $odmsg_008_1 $ODOO_PROJ $odmsg_008_2"
fi
fi
fi
}
# Copy docker file to build
function copy_dockerfile() {
local ODOO_PATH=$1
local ODOO_PROJ=$2
local DOCKERFILE=$3
if [ ! -f "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$DOCKER_FILE" ]
then
cp $DOCKERFILE "$ODOO_PATH/$ODOO_PROJ/$DOCKER_BUILD/$DOCKER_FILE"
if [ $? -eq 0 ]
then
echo "[x] $odmsg_009"
fi
fi fi
} }

View file

@ -18,6 +18,7 @@ head_info="INFO"
head_warning="ADVERTENCIA" head_warning="ADVERTENCIA"
head_error="ERROR" head_error="ERROR"
head_unknow="UNKNOW" head_unknow="UNKNOW"
head_version="Versión"
os_update="Actualizando sistema operativo " os_update="Actualizando sistema operativo "
os_nofound="Sistemas operativos soportados: Ubuntu, Debian, Arch Linux, Fedora, Redhat, AlmaLinux, Rocky, Oracle Linux, FreeBSD, MacOS" os_nofound="Sistemas operativos soportados: Ubuntu, Debian, Arch Linux, Fedora, Redhat, AlmaLinux, Rocky, Oracle Linux, FreeBSD, MacOS"

25
bin/msg/odoo.es Normal file
View file

@ -0,0 +1,25 @@
#!/usr/bin/env bash
#bash script : odoo.es
#apps : Odoo Developer Utilities
#description : Bootstrap Translate Messages (es)
#author : MRP/mrp - Mauro Rosero P.
#company email : mauro@rosero.one
#personal email : mauro.rosero@gmail.com
#date : 20240201
#version : 1.0.2
#notes :
#==============================================================================
#==============================================================================
odmsg_000="(ODOO TOOLS)"
odmsg_001="- PROYECTO NUEVO"
odmsg_002="Ambiente de desarrollo Odoo no instalado!"
odmsg_003_1="Uso:"
odmsg_003_2="<project path> [--help] [--version]"
odmsg_004="Descripción: Este script requiere un argumento obligatorio."
odmsg_005="Opciones:"
odmsg_006=" --help Muestra este mensaje de ayuda."
odmsg_007=" --version Muestra la versión del script."
odmsg_008_1="Estructura de carpetas de proyecto"
odmsg_008_2="fue creada!"
odmsg_009="Dockerfile fue creado!"

View file

@ -22,6 +22,7 @@ DEVSTEAM=odoo
BIN_HOME=$HOME/$DEVSPATH/$DEVSTEAM BIN_HOME=$HOME/$DEVSPATH/$DEVSTEAM
BIN_MESG=bin/msg BIN_MESG=bin/msg
BIN_LIBS=bin/lib BIN_LIBS=bin/lib
VERSION="1.0"
# CHECK SHELL LANGUAGE # CHECK SHELL LANGUAGE
BIN_LANG=${LANG:0:2} BIN_LANG=${LANG:0:2}
@ -30,9 +31,50 @@ BIN_LANG=${LANG:0:2}
source $BIN_HOME/$BIN_LIBS/base.lib source $BIN_HOME/$BIN_LIBS/base.lib
#baselib_test #baselib_test
# LOAD ODOO BASH LIBRARY
source $BIN_HOME/$BIN_LIBS/odoo.lib
#odoolib_test
# Load head messages # Load head messages
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head" load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head"
# Display Headers # Load odoo messages
display_text_header $BIN_HOME "$bomsg_000 $head_000" load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo"
# Function to display help message
function help() {
echo "$odmsg_003_1 $0 $odmsg_003_2"
echo "$odmsg_004"
echo "$odmsg_005"
echo "$odmsg_006"
echo "$odmsg_007"
}
# Display Headers
display_text_header $BIN_HOME "${odmsg_000} ${odmsg_001}"
# Check for arguments option
for arg in "$@"; do
case $arg in
--help)
help
exit 0
;;
--version)
echo "$head_version $VERSION"
exit 0
;;
esac
done
# Check if mandatory argument is provided
if [ -z "$1" ]; then
help
exit 1
fi
# Create odoo project path
odoo_structure $BIN_HOME "$1"
# Copy Dockerfile to build (local)
copy_dockerfile $BIN_HOME "$1" "$BIN_HOME/$ODOO_CFG/$DOCKER_LOCAL"