
ZPA является инструментом анализа анализа и статического кода для PL/SQL и Oracle SQL.
Вы можете использовать его в локальном экземпляре Sonarqube. Sonarqube - это открытая платформа для управления качеством кода.
Смотрите несколько примеров в нашем экземпляре Sonarqube!
Вы хотите использовать этот анализатор в проекте, размещенном на Sonarcloud? Попробуйте zpa-cli!
| ZPA версия | Версия Sonarqube (min/max) |
|---|---|
| 3.6.0 | 9,9 / 10.7 |
| 3.7.0 (в разработке) | 9,9 / 24.12 |
Toolkit ZPA - это визуальный инструмент для просмотра AST (Abstract Syntax Tree) и таблицы символов, сгенерированной синтаксиком.
Последний инструментарий ZPA можно загрузить со страницы релизов, и для него требуется JDK 11 или более новее.
Все могут внести свой вклад. Пожалуйста, прочитайте наши рекомендации по вкладу для получения дополнительной информации.
Есть несколько вещей, которые вам нужно знать о коде. Он разделен в этих модулях:
plsql-custom-rules -демонстрационный проект, показывающий, как расширить ZPA с помощью пользовательских правил кодирования.sonar-zpa-plugin -сам плагин Sonarqube, этот модуль содержит весь код, необходимый для интеграции с платформой Sonarqube.zpa-checks -встроенные правила кодирования, предоставленные ZPA.zpa-checks-testkit -тест-помощник для правил кодирования, его можно использовать для тестирования пользовательских правил.zpa-core - сердце этого проекта. Он содержит лексер, анализатор и код, необходимый для понимания и обработки кода PL/SQL.zpa-toolkit - визуальный инструмент для обзора AST (Abstract Syntax Tree), сгенерированного анализатором. 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. Вы можете изменить версию Sonarqube, используя Property sonar.runtimeVersion , передавая один из LATEST_RELEASE[9.9] (для Sonarqube 9.9.x LTA), LATEST_RELEASE[24.12] (последний официальный релиз) или abcd для точного выпуска, включая номер сборки:
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]