Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvement - General - Integrar herramienta Rector #480

Merged
merged 13 commits into from
Nov 20, 2024

Conversation

jordiSTIC
Copy link
Collaborator

@jordiSTIC jordiSTIC commented Nov 14, 2024

Descripción

Previo al PR #315 de actualización del core de SuiteCRM, se estima oportuno incluir en SinergiaCRM la herramienta "Rector" con el objetivo de poderla pasar en las instancias y poderse anticipar a posibles errores en el código personalizado de éstas debido al cambio de versión de php

Instalación de Rector

Se ha instalado la herramienta "Rector" en el directorio SticInclude/vendor/rector-standalone, mediante 'composer'

Scripts

Se han creado dos scripts para ejecutar en las instancias:

  • SticInclude/rector/UpdateToPhp8RectorCheck.php: Script a ejecutar en las instancias para pasar Rector
  • SticInclude/rector/SticRectorConfig.php: Configuración de las acciones a realizar con Rector en las instancias

Características del script:

  • Se ejecutará en la carpeta custom y en las carpetas de modules que no estén incluidas en SinergiaCRM, es decir, los módulos propios de cada instancia
  • Ejecutará un conjunto de reglas "básicas" para detectar y corregir posibles errores con PHP 8 (no se aplican muchas reglas definidas como "best-practices" ya que pueden modificar mucho código de forma innecesaria)
  • Si hay errores o cambios propuestos, se generará un fichero con el resultado y los cambios propuestos en el directorio raíz de sinergiaCRM con el nombre rectorOutput.html (no incluirá cambios de formato)
  • Si se ejecuta con el parámetro adapt-code modifica el código de los ficheros, aplicando los cambios

Rector en custom

Se ha ejecutado el script en el código de la carpeta custom. Alguno de los cambios aplicados son de formato en algunas tabulaciones de inicio de línea

Pruebas

  1. Verificar los cambios realizados en custom
  2. En terminal, ejecutar php SticInclude/rector/UpdateToPhp8RectorCheck.php
  3. Verificar que no propone modificaciones de código

@jordiSTIC jordiSTIC self-assigned this Nov 14, 2024
@jordiSTIC jordiSTIC added General Improvement ... that do not affect user functionality labels Nov 14, 2024
@jordiSTIC jordiSTIC marked this pull request as ready for review November 18, 2024 12:48
Copy link
Collaborator

@ManuSinergiaCRM ManuSinergiaCRM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probado en los siguientes escenario:

  1. Con la instancia limpia --> No genera el fichero
  2. Con un módulo recien construido --> No genera el fichero
  3. Con un módulo recien construido y modificado para tener dos variables con var en vez de public --> Encontrados los dos errores
  4. Escenario 3 + modificaciones en módulos STIC y SUITE --> Encontrados los dos errores del Escenario 3

Copy link
Collaborator

@AlbertoSTIC AlbertoSTIC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprobado

@AlbertoSTIC AlbertoSTIC merged commit 1567cfd into develop Nov 20, 2024
1 check failed
Copy link

Actions executed at: 2024-11-20 09:57:42.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
General Improvement ... that do not affect user functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants