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]