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
88
LINTERS_README.md
Normal file
88
LINTERS_README.md
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
# 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:
|
||||
|
||||
```bash
|
||||
pre-commit run --all-files
|
||||
```
|
||||
|
||||
Para ejecutar en archivos específicos:
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
# 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 isort
|
||||
- `setup.cfg`: Configuración adicional para flake8 e isort
|
||||
- `pyproject.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:
|
||||
|
||||
```bash
|
||||
pre-commit autoupdate
|
||||
```
|
||||
|
||||
## Desactivar Temporalmente
|
||||
|
||||
Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO):
|
||||
|
||||
```bash
|
||||
git commit --no-verify
|
||||
```
|
||||
|
||||
## Más Información
|
||||
|
||||
- [OCA Guidelines](https://github.com/OCA/maintainer-tools)
|
||||
- [pre-commit](https://pre-commit.com/)
|
||||
- [pylint-odoo](https://github.com/OCA/pylint-odoo)
|
||||
Loading…
Add table
Add a link
Reference in a new issue