- 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)
52 lines
1.6 KiB
Bash
Executable file
52 lines
1.6 KiB
Bash
Executable file
#!/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 "=========================================="
|