
ZPA est l'analyseur et l'outil d'analyse de code statique pour PL / SQL et Oracle SQL.
Vous pouvez l'utiliser dans une instance sonarqube sur site. Sonarqube est une plate-forme ouverte pour gérer la qualité du code.
Voir quelques exemples dans notre instance Sonarqube!
Voulez-vous utiliser cet analyseur dans un projet hébergé sur SonarCloud? Essayez le ZPA-CLI!
| Version ZPA | Version sonarqube (min / max) |
|---|---|
| 3.6.0 | 9.9 / 10.7 |
| 3.7.0 (en développement) | 9.9 / 24.12 |
La boîte à outils ZPA est un outil visuel pour examiner l'AST (Abstract Syntax Tree) et la table de symboles générée par l'analyseur.
La dernière boîte à outils ZPA peut être téléchargée à partir de la page des versions et nécessite JDK 11 ou plus récente.
Tout le monde est invité à contribuer. Veuillez lire nos directives de contribution pour plus d'informations.
Il y a quelques choses que vous devez savoir sur le code. Il est divisé dans ces modules:
plsql-custom-rules - Demo Project montrant comment étendre ZPA avec des règles de codage personnalisées.sonar-zpa-plugin - Le plugin Sonarqube lui-même, ce module contient tout le code nécessaire pour s'intégrer à la plate-forme Sonarqube.zpa-checks - Les règles de codage intégrées fournies par ZPA.zpa-checks-testkit - Tester l'aide aux règles de codage, il peut être utilisé pour tester les règles personnalisées.zpa-core - Le cœur de ce projet. Il contient le lexer, l'analyseur et le code requis pour comprendre et traiter le code PL / SQL.zpa-toolkit - Un outil visuel pour examiner l'AST (Syntaxe abstrait) généré par l'analyseur. L'API exposée aux plugins personnalisés doit être située dans le package org.sonar.plugins.plsqlopen.api (c'est une exigence du serveur Sonarqube). Les classes situées à l'extérieur de ce package ne sont pas préparées à la consommation externe, donc si vous les utilisez, votre code peut se casser sans préavis.
Il y a deux ensembles de tests d'intégration:
Pour exécuter les tests intégrations, mettez d'abord à jour les sous-modules:
git submodule update --init --recursive
Construisez le plugin principal et l'exemple de règles personnalisées:
./gradlew build publishToMavenLocal
./gradlew build -p plsql-custom-rules
Ensuite, exécutez les tests:
./gradlew integrationTest
Par défaut, les tests seront exécutés à l'aide de Sonarqube 9.9 LTA. Vous pouvez modifier la version Sonarqube à l'aide de la propriété sonar.runtimeVersion , en passant par l'un des LATEST_RELEASE[9.9] (pour Sonarqube 9.9.x LTA), LATEST_RELEASE[24.12] (dernière version officielle) ou abcd pour une version exacte, y compris le numéro de construction:
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]