
ZPA ist das Parser- und statische Code -Analyse -Tool für PL/SQL und Oracle SQL.
Sie können es in einer Sonarqube-On-Premise-Instanz verwenden. Sonarqube ist eine offene Plattform zur Verwaltung der Codequalität.
Sehen Sie einige Beispiele in unserer Sonarqube -Instanz!
Möchten Sie diesen Analysator in einem auf Sonarcloud gehosteten Projekt verwenden? Probieren Sie den ZPA-Cli!
| ZPA -Version | Sonarqube -Version (min/max) |
|---|---|
| 3.6.0 | 9.9 / 10.7 |
| 3.7.0 (in der Entwicklung) | 9.9 / 24.12 |
Das ZPA -Toolkit ist visuelles Tool, um den AST (abstrakten Syntaxbaum) und die vom Parser generierte Symboltabelle zu überprüfen.
Das neueste ZPA -Toolkit kann auf der Seite "Releases" heruntergeladen werden und benötigt JDK 11 oder neuer.
Jeder ist eingeladen, einen Beitrag zu leisten. Bitte lesen Sie unsere Beitragsrichtlinien für weitere Informationen.
Es gibt ein paar Dinge, die Sie über den Code wissen müssen. Es ist in diese Module geteilt:
plsql-custom-rules -Demo-Projekt zeigt, wie ZPA mit benutzerdefinierten Codierungsregeln erweitert werden.sonar-zpa-plugin -Das Sonarqube-Plugin selbst enthält dieses Modul den gesamten Code, der für die Integration in die Sonarqube-Plattform erforderlich ist.zpa-checks -Die von ZPA bereitgestellten integrierten Codierungsregeln.zpa-checks-testkit -Testhelfer für Codierungsregeln und kann verwendet werden, um benutzerdefinierte Regeln zu testen.zpa-core - Das Herz dieses Projekts. Es enthält den Lexer, den Parser und den Code, der erforderlich ist, um den PL/SQL -Code zu verstehen und zu verarbeiten.zpa-toolkit - Ein visuelles Werkzeug zur Überprüfung des vom Parser generierten AST -Syntaxbaums. Die API, die benutzerdefinierte Plugins ausgesetzt ist, muss sich im Paket org.sonar.plugins.plsqlopen.api befinden (es ist eine Anforderung vom Sonarqube -Server). Die außerhalb dieses Pakets befindlichen Klassen sind nicht für den externen Verbrauch vorbereitet. Wenn Sie sie verwenden, kann Ihr Code ohne weitere Ankündigung zerbrechen.
Es gibt zwei Sätze von Integrationstests:
Um die Integrationstests auszuführen, aktualisieren Sie zunächst die Submodules:
git submodule update --init --recursive
Erstellen Sie das Haupt -Plugin und das Beispiel für benutzerdefinierte Regeln:
./gradlew build publishToMavenLocal
./gradlew build -p plsql-custom-rules
Dann führen Sie die Tests aus:
./gradlew integrationTest
Standardmäßig werden die Tests mit Sonarqube 9.9 LTA durchgeführt. Sie können die Sonarqube -Version mit der Eigenschaft sonar.runtimeVersion ändern und eines der LATEST_RELEASE[9.9] (für Sonarqube 9.9.x LTA), LATEST_RELEASE[24.12] (neueste offizielle Veröffentlichung) oder abcd für eine genaue Veröffentlichung einschließlich Build -Nummer:
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]