build: configurar herramientas de verificación OCA
- Instalar pre-commit con 25 hooks configurados - Configurar black 26.1.0 para formateo de código Python - Configurar isort 7.0.0 para ordenación de imports - Configurar flake8 7.3.0 con flake8-bugbear - Configurar pylint 3.1.1 con pylint-odoo 9.1.2 - Añadir autoflake y pyupgrade para mejoras automáticas - Configurar prettier para formateo de XML/JSON/YAML - Crear .editorconfig para consistencia de editor - Crear Makefile con comandos útiles - Crear check_addon.sh para verificación rápida de addons - Actualizar configuración de VS Code con extensiones recomendadas - Añadir documentación completa de uso - Aplicar formateo automático a archivos existentes - Deshabilitar setuptools-odoo (no soporta Odoo 18.0 aún) - Deshabilitar fix-encoding-pragma (obsoleto, usar pyupgrade)
This commit is contained in:
parent
5b9c6e3211
commit
fe137dc265
224 changed files with 18376 additions and 0 deletions
52
check_addon.sh
Executable file
52
check_addon.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#!/bin/bash
|
||||
# Script para verificar rápidamente un addon específico
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Uso: $0 <nombre_addon>"
|
||||
echo "Ejemplo: $0 account_invoice_triple_discount"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ADDON_NAME=$1
|
||||
ADDON_PATH="./$ADDON_NAME"
|
||||
|
||||
if [ ! -d "$ADDON_PATH" ]; then
|
||||
echo "Error: El addon '$ADDON_NAME' no existe en este directorio"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$ADDON_PATH/__manifest__.py" ] && [ ! -f "$ADDON_PATH/__openerp__.py" ]; then
|
||||
echo "Error: '$ADDON_NAME' no parece ser un addon válido de Odoo"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
echo "Verificando addon: $ADDON_NAME"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
echo "1. Ejecutando black..."
|
||||
black --check "$ADDON_PATH" || (echo "❌ Black encontró problemas de formato" && black "$ADDON_PATH" && echo "✅ Formateado con black")
|
||||
|
||||
echo ""
|
||||
echo "2. Ejecutando isort..."
|
||||
isort --check-only "$ADDON_PATH" || (echo "❌ isort encontró problemas" && isort "$ADDON_PATH" && echo "✅ Imports ordenados con isort")
|
||||
|
||||
echo ""
|
||||
echo "3. Ejecutando flake8..."
|
||||
flake8 "$ADDON_PATH" && echo "✅ flake8 pasó correctamente" || echo "❌ flake8 encontró problemas"
|
||||
|
||||
echo ""
|
||||
echo "4. Ejecutando pylint (checks mandatorios)..."
|
||||
pylint --rcfile=.pylintrc-mandatory "$ADDON_PATH" && echo "✅ pylint mandatorio pasó correctamente" || echo "❌ pylint mandatorio encontró problemas"
|
||||
|
||||
echo ""
|
||||
echo "5. Ejecutando pylint (checks opcionales)..."
|
||||
pylint --rcfile=.pylintrc --exit-zero "$ADDON_PATH"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Verificación completa de $ADDON_NAME"
|
||||
echo "=========================================="
|
||||
Loading…
Add table
Add a link
Reference in a new issue