[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

1 Like

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

1 Like

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

1 Like