zpa
Release 3.6.0

ZPA是PL/SQL和Oracle SQL的解析器和靜態代碼分析工具。
您可以在Sonarqube本地實例中使用它。 Sonarqube是管理代碼質量的開放平台。
在我們的Sonarqube實例中查看一些例子!
您是否要在Sonarcloud託管的項目中使用此分析儀?嘗試ZPA-CLI!
| ZPA版本 | Sonarqube版本(最小/最大) |
|---|---|
| 3.6.0 | 9.9 / 10.7 |
| 3.7.0(開發中) | 9.9 / 24.12 |
ZPA工具包是查看AST(抽象語法樹)和解析器生成的符號表的視覺工具。
最新的ZPA工具包可以從“發行”頁面下載,並且需要JDK 11或更新。
歡迎大家做出貢獻。請閱讀我們的貢獻指南,以獲取更多信息。
關於代碼,您需要了解一些事情。它分為這些模塊:
plsql-custom-rules演示項目,展示瞭如何使用自定義編碼規則擴展ZPA。sonar-zpa-plugin聲納基插件本身,該模塊包含與Sonarqube平台集成所需的所有代碼。zpa-checks - ZPA提供的內置編碼規則。zpa-checks-testkit用於編碼規則的測試輔助器,可用於測試自定義規則。zpa-core - 該項目的核心。它包含Lexer,解析器和理解和處理PL/SQL代碼所需的代碼。zpa-toolkit一種視覺工具,可以查看解析器生成的AST(抽象語法樹)。暴露於自定義插件的API必須位於軟件包org.sonar.plugins.plsqlopen.api中(這是Sonarqube服務器的要求)。該軟件包外部的類並未準備用於外部消費,因此,如果您使用它們,您的代碼可能會破裂而無需任何其他通知。
有兩組集成測試:
要運行集成測試,請首先更新子模型:
git submodule update --init --recursive
構建主插件和自定義規則示例:
./gradlew build publishToMavenLocal
./gradlew build -p plsql-custom-rules
然後運行測試:
./gradlew integrationTest
默認情況下,測試將使用Sonarqube 9.9 LTA執行。您可以使用屬性sonar.runtimeVersion更改Sonarqube版本,通過LATEST_RELEASE[9.9] (用於Sonarqube 9.9.x lta), LATEST_RELEASE[24.12] (最新官方版本)或ABCD或abcd ,以獲取確切版本,包括構建編號:構建編號:
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]