SonarQube plugins

Creedengo’s first implementation is as SonarQube plugins, which can be used to detect code smells through SonarQube’s static analysis of your code.

Example of an issue highlighted in original code as shown by SonarQube

SonarQube plugins for ecodesign

Ekko logo

Creedengo provides two kinds of plugins:

How a SonarQube plugin works

Code is parsed to be transformed as an Abstract Syntax Tree (AST). The AST allows the scanner to access one or more nodes in the analyzed code. For example, it is then possible to access all for loops, to explore content etc. The plugin defines rules and checks whether the parsed AST is compliant.

When it is not, an issue is raised and made available in SonarQube’s UI.

To better understand AST structure, you can use the AST Explorer.

Supported languages

Creedengo supports 7 technologies right now:

🛒 Distribution

The primary way to obtain Creedengo plugins is through the SonarQube Marketplace, accessible in the Administration section. Alternatively, you can download them directly from the GitHub releases.

The (then-"ecoCode") plugins were previously hosted on a single repository. We split it to one repository per plugin in December 2023. Thus, the plugin should be retrieved from a repository or another depending on the wanted version.

🧩 SonarQube compatibility matrix (OLD ecoCode plugin)

Plugins Version SonarQube version Java version

1.4+

SonarQube 9.4.+ LTS to 10.1

11 / 17

1.2.x, 1.3.x

SonarQube 9.4.+ LTS to 10.0

11 / 17

0.2.x, 1.0.x, 1.1.x

SonarQube 9.4.+ LTS to 9.9

11 / 17

0.1.x

SonarQube 8.9.+ LTS to 9.3

11 / 17