Skip to content

FRI-DAY/sonar-gosu-plugin

Repository files navigation

SonarQube Gosu Plugin

.github/workflows/build.yml Quality Gate Status Coverage

Gosu Programming Language Plugin for SonarQube.

For plugin configurations and a list of all coding rules included in the plugin, see: plugin documentation.

Why ANTLR4?

The Sonarqube Gosu Plugin uses ANTLR (Another Tool For Language Recognition) to execute static analysis of Gosu code. We decided to write our own grammar in ANTLR4 due the official Gosu grammar been written in an old and non-supported version of ANTLR. In the long run, it was easier to write our own simple grammar rather than working with an undocumented, unmodifiable and not fully working parser.

Compatibility

Please find below the compatibility matrix of the plugin:

SonarQube Version Plugin Version
v8.9 [1.0.0, 1.1.0, 1.2.0, 1.2.1]
v9+ [1.2.1, 1.2.2]

Installation

Sonarqube Marketplace

Available in the marketplace since v1.2.1.

Sonarqube On-premise

Download the latest JAR file and put it into Sonarqube's plugin directory (./extensions/plugins). After restarting the server, a new Quality Profile for Gosu with all the plugin rules should be available on Quality Profiles.

Alternatively, you can clone the project and build the JAR file from the sources. E.g.:

$ ./gradlew shadowJar

The installation procedure is the same as mentioned previously.

Want to contribute?

Check the contributing guidelines.

Changelog

All releases are available in the Releases section.

License

Copyright (C) 2023 FRIDAY Insurance S.A.

The SonarQube Plugin for Gosu Programming Language is released under the GNU AGPL License, Version 3.0.