- 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)
2.2 KiB
2.2 KiB
Herramientas de Verificación OCA
Este repositorio está configurado con las herramientas de verificación estándar de OCA (Odoo Community Association).
Herramientas Instaladas
- pre-commit: Gestor de hooks de git para ejecutar verificaciones automáticas
- black: Formateador de código Python
- isort: Ordenador de imports Python
- flake8: Linter de estilo Python (con flake8-bugbear)
- pylint: Analizador de código Python con pylint-odoo
- autoflake: Elimina imports y variables no utilizadas
- pyupgrade: Actualiza sintaxis de Python a versiones más modernas
- prettier: Formateador para XML, YAML, JSON, etc.
Uso
Verificación Manual
Para ejecutar las verificaciones en todos los archivos:
pre-commit run --all-files
Para ejecutar en archivos específicos:
pre-commit run --files path/to/file.py
Verificación Automática
Los hooks de pre-commit están configurados para ejecutarse automáticamente en cada commit. Si hay errores, el commit será rechazado hasta que se corrijan.
Ejecutar Herramientas Individuales
# Black
black .
# isort
isort .
# flake8
flake8 .
# pylint (opcional)
pylint --rcfile=.pylintrc <addon_name>
# pylint (mandatorio)
pylint --rcfile=.pylintrc-mandatory <addon_name>
Configuración
Los archivos de configuración son:
.pre-commit-config.yaml: Configuración de pre-commit hooks.pylintrc: Verificaciones opcionales y mandatorias de pylint.pylintrc-mandatory: Solo verificaciones mandatorias.flake8: Configuración de flake8.isort.cfg: Configuración de isortsetup.cfg: Configuración adicional para flake8 e isortpyproject.toml: Configuración de black e isort.editorconfig: Configuración de editor para consistencia
Actualización de Hooks
Para actualizar los hooks a las últimas versiones:
pre-commit autoupdate
Desactivar Temporalmente
Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO):
git commit --no-verify