Publish Mule 4 Code Review and Coverage to SonarQube
In this article, see how to publish Mule 4 code review and coverage to SonarQube.
Join the DZone community and get the full member experience.Join For Free
Mulesoft plugin to support SonarQube:
Follow the below steps:
1: SonarQube on-prem installation should be available.
2: If required, create organization and configure it into maven's settings.xml file as below.
<!-- Optional URL to server. Default value is http://localhost:9000 -->
My sonar is available on "http://localhost:9000". As I have not created any organization, none of the organization and its credentials are configured here.
3: Download the MuleSoft plugin binary from the below location.
4: Now execute the below command and create a jar file as a plugin to add in sonar
mvn clean package sonar-packaging:sonar-plugin -Dlanguage=mule
Once the plugin is created, copy the jar file in sonar's plugin folder (sonar-home/extensions/plugins).
Restart the Sonar instance after the same.
5: Once the plugin is copied in the plugin folder, copy the rules files in the same plugin folder.
2: https://github.com/mulesoft-catalyst/mule-sonarqube- plugin/blob/master/src/test/resources/rules-3.xml
And restart sonar once again. (Safer side to reflect changes in UI.)
6: Once it is done, go to Default/Particular created organization in SonarQube->Administration -> Quality Profiles and delete the XML file extension from the rule.
7: Once it is done, refresh the page, and you will be able to see the Mule plugin in quality profiles. By default, it will set the MuleSoft 4 rule, and based on the project, it can be configured for MuleSoft 3 from the drop-down.
Now we're ready to execute the command.
Let's create a sample MuleSoft application:
Created one sample application: MuleSoft4 sample application
And now, execute the command to scan mu code with the defined rule in the MuleSoft plugin tool.
command: /root/apache-maven-3.6.3/bin/mvn sonar:sonar test -Dsonar.host.url=http://localhost:9000 -Dsonar.sources=src/
You can change commands based on your requirements.
Here is the resultant SonarQube's dashboard:
Now we have a plugin to perform code review and MunitCode review.
Opinions expressed by DZone contributors are their own.
Generics in Java and Their Implementation
Demystifying SPF Record Limitations
How AI Will Change Agile Project Management
How To Use an Automatic Sequence Diagram Generator