
ZPA adalah alat analisis kode parser dan statis untuk PL/SQL dan Oracle SQL.
Anda dapat menggunakannya dalam sonarqube on-premise instance. Sonarquce adalah platform terbuka untuk mengelola kualitas kode.
Lihat beberapa contoh dalam contoh sonarquce kami!
Apakah Anda ingin menggunakan penganalisa ini dalam proyek yang diselenggarakan di SonarCloud? Coba ZPA-CLI!
| Versi ZPA | Versi Sonarqube (Min/Max) |
|---|---|
| 3.6.0 | 9.9 / 10.7 |
| 3.7.0 (dalam pengembangan) | 9.9 / 24.12 |
Toolkit ZPA adalah alat visual untuk meninjau AST (pohon sintaks abstrak) dan tabel simbol yang dihasilkan oleh parser.
Toolkit ZPA terbaru dapat diunduh dari halaman rilis dan membutuhkan JDK 11 atau yang lebih baru.
Setiap orang dipersilakan untuk berkontribusi. Baca pedoman kontribusi kami untuk informasi lebih lanjut.
Ada beberapa hal yang perlu Anda ketahui tentang kode tersebut. Itu dibagi dalam modul ini:
plsql-custom-rules -Proyek demo yang menunjukkan cara memperluas ZPA dengan aturan pengkodean khusus.sonar-zpa-plugin -Plugin Sonarqube itu sendiri, modul ini berisi semua kode yang diperlukan untuk berintegrasi dengan platform Sonarqube.zpa-checks -Aturan pengkodean bawaan yang disediakan oleh ZPA.zpa-checks-testkit -Test Helper untuk aturan pengkodean, dapat digunakan untuk menguji aturan khusus.zpa-core - jantung proyek ini. Ini berisi lexer, parser dan kode yang diperlukan untuk memahami dan memproses kode PL/SQL.zpa-toolkit - Alat visual untuk meninjau AST (pohon sintaks abstrak) yang dihasilkan oleh parser. API yang terpapar plugin khusus harus ditempatkan di paket org.sonar.plugins.plsqlopen.api (ini adalah persyaratan dari server Sonarqube). Kelas yang terletak di luar paket ini tidak disiapkan untuk konsumsi eksternal, jadi jika Anda menggunakannya, kode Anda dapat rusak tanpa pemberitahuan lebih lanjut.
Ada dua set tes integrasi:
Untuk menjalankan tes integrasi, pertama perbarui submodul:
git submodule update --init --recursive
Bangun plugin utama dan contoh aturan khusus:
./gradlew build publishToMavenLocal
./gradlew build -p plsql-custom-rules
Kemudian jalankan tes:
./gradlew integrationTest
Secara default, tes akan dieksekusi menggunakan Sonarqube 9.9 LTA. Anda dapat mengubah versi Sonarqube menggunakan properti sonar.runtimeVersion , melewati salah satu dari LATEST_RELEASE[9.9] (untuk SonarQUBE 9.9.x LTA), LATEST_RELEASE[24.12] (rilis resmi terbaru) atau abcd untuk rilis yang tepat termasuk nomor build:
./gradlew integrationTest -Dsonar.runtimeVersion=LATEST_RELEASE[9.9]