
ZPA es una herramienta de análisis de código estático y analizador para PL/SQL y Oracle SQL.
Puede usarlo en una instancia de Sonarqube en las instalaciones. Sonarqube es una plataforma abierta para administrar la calidad del código.
¡Vea algunos ejemplos en nuestra instancia de Sonarqube!
¿Quieres usar este analizador en un proyecto alojado en Sonarcloud? ¡Prueba el ZPA-Cli!
| Versión de ZPA | Versión de Sonarqube (Min/Max) |
|---|---|
| 3.6.0 | 9.9 / 10.7 |
| 3.7.0 (en desarrollo) | 9.9 / 24.12 |
El kit de herramientas ZPA es una herramienta visual para revisar el AST (árbol de sintaxis abstracto) y la tabla de símbolos generada por el analizador.
El último KPA Toolkit se puede descargar desde la página de versiones y requiere JDK 11 o más nuevo.
Todos son bienvenidos a contribuir. Lea nuestras pautas de contribución para obtener más información.
Hay algunas cosas que debe saber sobre el código. Está dividido en estos módulos:
plsql-custom-rules -Proyecto de demostración que muestra cómo extender ZPA con reglas de codificación personalizadas.sonar-zpa-plugin : el complemento Sonarqube en sí, este módulo contiene todo el código necesario para integrarse con la plataforma Sonarqube.zpa-checks : las reglas de codificación incorporadas proporcionadas por ZPA.zpa-checks-testkit -Prueba auxiliar para las reglas de codificación, se puede usar para probar las reglas personalizadas.zpa-core : el corazón de este proyecto. Contiene el lexer, el analizador y el código requerido para comprender y procesar el código PL/SQL.zpa-toolkit : una herramienta visual para revisar el AST (árbol de sintaxis abstracto) generado por el analizador. La API expuesta a complementos personalizados debe ubicarse en el paquete org.sonar.plugins.plsqlopen.api (es un requisito del servidor Sonarqube). Las clases ubicadas fuera de este paquete no están preparadas para el consumo externo, por lo que si las usa, su código puede romperse sin ninguna notificación adicional.
Hay dos conjuntos de pruebas de integración:
Para ejecutar las pruebas de integraciones, primero actualice los submódulos:
git submodule update --init --recursive
Cree el complemento principal y el ejemplo de reglas personalizadas:
./gradlew build publishToMavenLocal
./gradlew build -p plsql-custom-rules
Luego ejecute las pruebas:
./gradlew integrationTest
Por defecto, las pruebas se ejecutarán utilizando Sonarqube 9.9 LTA. Puede cambiar la versión Sonarqube abcd LATEST_RELEASE[24.12] propiedad sonar.runtimeVersion LATEST_RELEASE[9.9]
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]