[NEW RELEASE] Sonar Rust Plugin 0.0.4

I’m pleased to request inclusion of the sonar-rust-plugin 0.0.4.
It provides ability to scan Rust source code, import Clippy lints and coverage reports with LCOV or Cobertura formats

Release note : Release sonar-rust v0.0.4 · elegoff/sonar-rust · GitHub
Link to binary: https://github.com/elegoff/sonar-rust/releases/download/v0.0.4/sonar-rust-plugin-0.0.4.jar
Project site: GitHub - elegoff/sonar-rust: SonarQube plugin to analyze Rust files
SonarCloud Quality Gate: https://sonarcloud.io/dashboard?id=elegoff_sonar-rust
Link to the sonar-update-center-properties pull request : request sonar-rust inclusion to marketplace by elegoff · Pull Request #224 · SonarSource/sonar-update-center-properties · GitHub

Please note that the plugin should be added to the Plugin Library page

Hi,

Congrats on your plugin. So you know, your request is in queue behind this one, which I’m already frightfully, embarrassingly late in getting to. So it may take a while to get to yours but I’ll do it eventually.

 
Ann

Hi,

I’ve had a chance to start looking at this.

I’ve left a few comments on your PR but a bigger change is needed. Your plugin key (i.e. the name of the file) can’t simply be the name of a language. In fact, “rust” is specifically listed as a “don’t do” example for choosing a plugin key. :joy: Since you import Clippy lint reports, maybe rustclippy? Or communityrust? Or…

The rest of the bureaucratic requirements look good except for number 9, which I’ll look at when I do my testing.

Also, can you point me to a project to test with? Hopefully one that already has a Clippy report available?

Even before running an analysis, I see in the interface that you’ve added the Rust language and registered the file extension. Cool.

You’ve also provided a default profile but there are no rules, so the profile is empty. This is really weird.

I guess you’re importing the Clippy issues as external issues…? Is this something you plan to change in the future? Because as-is I have to wonder why you’re declaring the language and not just providing a pure utility to import Clippy issues (on unrecognized files). I guess you’ve declared the language so you can also import coverage data? If so… I think I’m going to have to hold out for a non-empty default profile. :woman_shrugging:

 
Ann

Ann,

Thanks again for your feedback. It led me to make some changes in both the PR and the code.

I confirm Clippy lints are imported as external issues and language declaration was actually because the plugin also allows to import coverage data (as you had guessed)

I have released a new version (v0.0.5) of the plugin , with a (very) limited set of rules in the built-in profile (at least it is no more empty :wink: )

Thanks again for your time checking this !

All the best

Eric

Hi Eric,

This looks good, and we’re nearly there. But…

Your properties file name must match your plugin key. When I run the generation job I get:

Failed to execute goal org.sonarsource.update-center:sonar-u ###### -plugin-0.0.5.jar is declared with key ‘rustreport’ in its MANIFEST, but with key ‘communityrust’ in the update center

You’re going to need to re-release.

 
Ann

Done.
Plugin-Key: communityrust

Thanks again for your help

Eric

Hello Ann,

As discussed I have released a new version (Community Rust v0.0.6) of the plugin after fixing the plugin key
I have created a new PR : Request inclusion of community-rust plugin to the Marketplace by elegoff · Pull Request #234 · SonarSource/sonar-upd

Let me know if something is missing to add it to the Plugin Library page

Eric

Hi Eric,

Sorry for the delay. I just need to find time to come back to this.

 
Ann

Hi Eric,

Sorry for the delay on this. I had forgotten where we were in the process & was thinking I needed to re-test, so I was putting this off until I had a chunk of time.

Aaand… you’re in!

 
Congrats!
Ann