[IMPROVED] Odoo Extra Pack, otras mejoras y correcciones mejores

- Para desarrolladores autorizados se puede descargar el repo extras pack
- Se obtiene la versión de odoo devs tools del archivo project.version
- Otras correcciones menores
This commit is contained in:
Mauro Rosero P. 2024-12-04 00:36:47 -05:00
parent 130618e05c
commit ad3a98453d
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
8 changed files with 295 additions and 6 deletions

View file

@ -21,6 +21,7 @@
# Test library
function baselib_test() {
echo "Base Library loaded!"
exit 1
}
# Load messages
@ -45,7 +46,7 @@ function display_text_header() {
clear
echo "$(cat < $PROJECT/config/project.head) $tittle"
echo "=========================================================="
echo "============================================================"
}
# Verify if your program or command is installed
@ -135,3 +136,84 @@ function container_mode() {
return 255
}
# Git init repository
function git_init() {
local REPO_PATH=$1
local BRANCH=$2
cd $REPO_PATH
if [ $? -eq 0 ]; then
git init -b $BRANCH
return $?
else
return 255
fi
}
# Git add tracked files to repository
function git_add_full() {
local REPO_PATH=$1
cd $REPO_PATH
if [ $? -eq 0 ]; then
git add .
return $?
else
return 255
fi
}
# Git add tracked files to repository
function git_commit_first() {
local REPO_PATH=$1
cd $REPO_PATH
if [ $? -eq 0 ]; then
git commit -m "$git_first_commited"
return $?
else
return 255
fi
}
# Git clone repository
function git_clone_pull() {
local REPO_PATH=$1
local REPO_REMOTE=$2
local APPS=$3
if [ ! -d $REPO_PATH/$APPS ]
then
cd $REPO_PATH
if [ $? -eq 0 ]; then
git clone $REPO_REMOTE $APPS
return $?
else
return 255
fi
else
cd $REPO_PATH/$APPS
if [ $? -eq 0 ]; then
git pull
return $?
else
return 255
fi
fi
}
function check_server() {
local SERVER=$1
ping -c 1 $SERVER > /dev/null 2>&1 && return 0 || return 1
}

View file

@ -32,17 +32,22 @@ ODOO_SET=odoo.conf
ODOO_LOG=odoo.log
ODOO_DEF_VERS="18"
ODOO_DEF_BRCH=devs
ODOO_CFG_VARS=("18")
ODOO_PKG_BASE=base
ODOO_PKG_DEVS=devs
ODOO_PKG_INAR=ia
ODOO_PKG_EXTR=extras
ODOO_CFG_PREF=odoo.v
ODOO_CFG_GITI=odoo.gitignore
ODOO_CFG_BASE=odoo.base.conf
ODOO_CFG_SAAS=odoo.saas.conf
ODOO_CFG_PACK=packs
ODOO_GIT_EXTRAS="git@git.rosero.one:OPENTECH/odoo%s_%s.git"
# Test odoo library
function odoolib_test() {
echo "Odoo Library loaded!"

View file

@ -25,3 +25,11 @@ os_nofound="Sistemas operativos soportados: Ubuntu, Debian, Arch Linux, Fedora,
pkg_install_begin="Instalando paquete(s):"
pkg_install_success="Instalación satisfactoria de paquete(s):"
git_initialized="Repositorio git inicializado!"
git_notinitialized="Repositorio git no fue inicializado!"
git_setbranch="Rama git ha sido creada"
git_gitignored="Archivo .gitignore generado a partir de plantilla"
git_add_files="Archivos base del proyecto agregados!"
git_first_commited="[INIT] Proyecto inicializado"
git_end_commited="Todos los cambios al repositorio nuevo han sido aplicados!"

View file

@ -13,10 +13,11 @@
odmsg_000="(ODOO TOOLS)"
odmsg_001="- INICIALIZACIÓN"
odmsg_100="- INSTALAR"
odmsg_002="Ambiente de desarrollo Odoo no instalado!"
odmsg_003_1="Uso:"
odmsg_003_2="<project path> [--help] [--version] [--odoo <n>]"
odmsg_004="Descripción: Este script requiere un argumento obligatorio."
odmsg_004="Descripción: Este script requiere <project path> como argumento obligatorio."
odmsg_005="Opciones:"
odmsg_006=" --help Muestra este mensaje de ayuda."
odmsg_007=" --version Muestra la versión del script."
@ -32,3 +33,6 @@ odmsg_013="Error: Se requiere un argumento para --odoo."
odmsg_014_1="Versión de Odoo"
odmsg_014_2="no es soportada!"
odmsg_015=" --odoo <n> Identifica la versión de odoo a configurar. Default:"
odmsg_016="Odoo Pack no instalado!"
odmsg_017_2="[--help] [--version] [--odoo <n>]"
odmsg_018="Descripción: Este script instala o actualiza el pack"

118
bin/pack_extras.sh Executable file
View file

@ -0,0 +1,118 @@
#!/bin/bash
#
# pack_extras.sh
# Modified: 2024/12/02 10:27:00
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
#
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
# bajo los términos de la Licencia Pública Affero General de GNU tal como
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
# o (a su elección) cualquier versión posterior.
#
# Este programa se distribuye con la esperanza de que sea útil,
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
# Licencia Pública Affero General de GNU para obtener más detalles.
#
# 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/>.
DEVSPATH=developers
DEVSTEAM=odoo
BIN_HOME=$HOME/$DEVSPATH/$DEVSTEAM
BIN_MESG=bin/msg
BIN_LIBS=bin/lib
VERSION="$(cat $BIN_HOME/config/project.version)"
# CHECK SHELL LANGUAGE
BIN_LANG=${LANG:0:2}
# LOAD BASE BASH LIBRARY
source $BIN_HOME/$BIN_LIBS/base.lib
#baselib_test
# LOAD ODOO BASH LIBRARY
source $BIN_HOME/$BIN_LIBS/odoo.lib
#odoolib_test
# Load head messages
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head"
# Load odoo messages
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "odoo"
# Function to display help message
function help() {
echo "$odmsg_003_1 $0 $odmsg_017_2"
echo "$odmsg_018 $DEVSTEAM $ODOO_PKG_EXTR"
echo "$odmsg_005"
echo "$odmsg_006"
echo "$odmsg_007"
echo "$odmsg_015 $ODOO_DEF_VERS"
}
# Display Headers
display_text_header $BIN_HOME "${odmsg_000} ${odmsg_100} ${ODOO_PKG_EXTR^^}"
# Check for arguments option
help=false
version=false
while [[ $# -gt 0 ]]; do
case $1 in
--help)
help=true
shift
;;
--version)
version=true
shift
;;
--odoo)
if [[ -n $2 ]]; then
ODOO_VERS="$2"
shift 2
else
echo "$odmsg_013"
exit 1
fi
;;
esac
done
# Check to show help
if $help; then
help
exit 0
fi
# Check to show command version
if $version; then
echo "$head_version $VERSION"
exit 0
fi
# Set odoo default version, if odoo version is not defined
if [[ ! -n $ODOO_VERS ]]; then
ODOO_VERS=$ODOO_DEF_VERS
fi
# Check if odoo version is supported
odoo_verscheck $ODOO_VERS
if [ $? -ne 0 ]; then
echo "[-] $odmsg_014_1 $ODOO_VERS $odmsg_014_2"
exit 2
fi
# Get clone/pull odoo extras pack_extras
if [ -d $BIN_HOME ]; then
REPO_REMOTE=$(printf "$ODOO_GIT_EXTRAS" "${ODOO_VERS}" "$ODOO_PKG_EXTR")
git_clone_pull "$BIN_HOME/$ODOO_CFG_PACK/${ODOO_CFG_PREF}${ODOO_VERS}" "$REPO_REMOTE" ${ODOO_PKG_EXTR}
if [ $? -eq 0 ]; then
echo "[x] $odmsg_012_1 ${ODOO_PKG_EXTR} v$ODOO_VERS $odmsg_012_2"
else
echo "[-] $odmsg_016"
fi
else
echo "[-] $odmsg_016"
exit 3
fi

View file

@ -22,7 +22,7 @@ DEVSTEAM=odoo
BIN_HOME=$HOME/$DEVSPATH/$DEVSTEAM
BIN_MESG=bin/msg
BIN_LIBS=bin/lib
VERSION="1.0"
VERSION="$(cat $BIN_HOME/config/project.version)"
# CHECK SHELL LANGUAGE
BIN_LANG=${LANG:0:2}
@ -82,7 +82,6 @@ while [[ $# -gt 0 ]]; do
shift
else
help
echo "zzzzzzzz"
exit 1
fi
;;
@ -92,7 +91,6 @@ done
# Check to show help
if $help; then
help
echo "$help"
exit 0
fi
@ -114,7 +112,7 @@ if [[ ! -n $ODOO_VERS ]]; then
fi
# Check if odoo version is supported
odoo_verscheck ODOO_VERS
odoo_verscheck $ODOO_VERS
if [ $? -eq 0 ]; then
echo "[-] $odmsg_014_1 $ODOO_VERS $odmsg_014_2"
exit 2
@ -140,3 +138,31 @@ copy_odooapps $BIN_HOME "$PROJECT_NAME" "${ODOO_VERS}" $ODOO_PKG_DEVS
# Copy odoo ai apps to project
copy_odooapps $BIN_HOME "$PROJECT_NAME" "${ODOO_VERS}" $ODOO_PKG_INAR
# Initialize git repository
if [ ! -d "$BIN_HOME/$PROJECT_NAME/$ODOO_APP/.git" ]
then
result=$(git_init "$BIN_HOME/$PROJECT_NAME/$ODOO_APP" $ODOO_DEF_BRCH)
if [ $? -eq 0 ]; then
echo "[x] $result"
echo "[x] $git_setbranch: $ODOO_DEF_BRCH"
cp -f $BIN_HOME/$ODOO_CFG/$ODOO_CFG_GITI $BIN_HOME/$PROJECT_NAME/$ODOO_APP/
echo "[x] $git_gitignored $ODOO_CFG_GITI"
else
echo echo "[-] $git_notinitialized"
fi
result=$(git_add_full "$BIN_HOME/$PROJECT_NAME/$ODOO_APP")
if [ $? -eq 0 ]; then
echo "[x] $git_add_files"
else
echo "$result"
fi
result=$(git_commit_first "$BIN_HOME/$PROJECT_NAME/$ODOO_APP")
if [ $? -eq 0 ]; then
echo "[x] $git_end_commited"
else
echo "$result"
fi
fi

45
config/odoo.gitignore Normal file
View file

@ -0,0 +1,45 @@
# Odoo .gitignore
*.pyc
*.pyo
*.pyd
__pycache__/
*.log
*.pot
*.pyc
*.egg-info/
*.egg
# Archivos de configuración locales
*.local.cfg
*.env
# Directorios de Odoo
addons/.local/
addons/.eggs/
addons/__pycache__/
odoo-bin
# Archivos de base de datos
*.db
*.dump
# Archivos de caché y temporales
tmp/
temp/
.cache/
.cache/
# Archivos de compilación de assets
static/lib/
static/src/
static/.cache/
# Archivos de pruebas y cobertura
.coverage
nosetests.xml
coverage.xml
*.cover
# Entorno virtual (si se utiliza)
venv/
env/

1
config/project.version Normal file
View file

@ -0,0 +1 @@
0.98.0