Standard SonarQube features can be found here. This section only describes the specific parts of the OpenEdge plugin.
Syntax highlight of DF files and ABL code
Syntax tree from DF files, and lint rules
Such as tables defined with too many indexes (threshold being a custom parameter)
DF lint rules customization
Generic metrics, such as number of procedures, include files, GUI components, classes:
OpenEdge metrics, such as number of shared variables, temp-tables and datasets:
Code duplication detection, taking into account formatting differences, keyword abbreviations, comments and so on:
Code coverage
Keep track of every line of code, make sure that new code is tested!
:new: Code coverage is also dispatched in include files
Cross-reference (XREF) files parsing, and issues reporting:
Generation of Abstract Syntax Tree from OpenEdge procedures and classes
- Execution of rules on AST:
- Ability to execute custom rules on AST, and report issues in SonarQube
- Transaction scopes in procedures and classes