A modern, performant Delphi language analyzer plugin for SonarQube with semantic analysis and custom rule support.
SonarDelphi is a plugin for SonarQube that provides static code analysis specifically for the Delphi programming language. It analyzes Delphi code to identify bugs, code smells, security vulnerabilities, and maintainability issues through semantic understanding and a comprehensive rule set. The plugin integrates with existing SonarQube workflows and can also be used directly in the Delphi IDE via a companion plugin.
Delphi developers and teams using SonarQube for code quality management, particularly those maintaining large or legacy Delphi codebases who need automated quality checks and standards enforcement.
Developers choose SonarDelphi because it's the most feature-complete open-source Delphi analyzer for SonarQube, offering deep semantic analysis, dead code detection, and extensive customization options. Its active maintenance and alignment with SonarQube's official analyzer practices ensure reliability and compatibility.
Delphi language plugin for SonarQube
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The analyzer goes beyond syntax to detect issues like uninitialized variables and incorrect type usage, enabling rules such as validating FreeAndNil arguments or redundant casts, as shown in the README's code examples.
Identifies unused imports, types, routines, properties, and more across the codebase, helping clean up legacy Delphi projects efficiently.
Supports both simple template-based rules in the SonarQube UI and advanced custom rules via a dedicated API, allowing teams to enforce organization-specific patterns like forbidden types or naming conventions.
Offers on-the-fly analysis in the Delphi IDE through DelphiLint, and imports test reports from DUnitX and coverage from DelphiCodeCoverage, streamlining development workflows.
Requires a SonarQube server (v9.9+), SonarScanner, and Delphi installation, adding significant infrastructure overhead compared to standalone linters.
As a Delphi-specific plugin, it doesn't support other languages, forcing teams to manage separate analyzers for multi-language projects within SonarQube.
Being open-source and community-developed, updates and bug fixes may lag behind commercial tools, and support depends on volunteer contributions.