Add support for GoSu language

Hi,
At the moment the options for analysing GoSu code (Java derivative used in the GuideWire stack of products) is limited, to say the least.

Guidewire is used by some of the biggest insurance companies all over the world and I think it’s safe to say the repos would be huge!

Surely there is a case for investing in a plugin in SonarQube, with the net return looking so healthy?

Andrew.

Hi @andrew_w,

Thank you for your suggestion.
Supporting the GoSu language is not one of our immediate priorities but we will take into account your input next time we decide to analyze a new language.

Could you tell us a little more about the company you work for and the size of its GoSu codebase? What other analyzers did you try and what do you think of them?

Cheers,
Nicolas

Hi Nicolas,

Thanks for replying so quickly.

We have tried CodeNarc, but I am not a big fan at all, it has nowhere near the capabilities of Sonar. To be honest we use Sonar in our company and I wouldn’t necessarily want to use another tool. Apart from the issue GoSu, Sonar is a great tool and we will be using it a lot in future too.

Size of the codebase? Honest answer is I have no idea, I am not that close to the code, I am more looking at the tooling side of things. What I do know is that InsuranceSuite offered by Guidewire is a huge suite of products, used by many of the biggest insurance companies in the world, to run their operations. https://www.guidewire.com/customers
Of course if we could use Sonar I could tell you exactly how many! :smiley:

If you want any further information then I am more than happy to take this offline, in the meantime I will keep a look out for further developments.

Thanks, Andrew.

2 Likes

We are new to Sonar BUT We are also using Guidewire and would love to use SonarQube instead of JaCoCo, GUnit, and CodeNarc.:smiley::smiley::smiley::smiley::smiley:

Hi, Recently we are using guide wire - sonarqube for test cases(with gw-gosu-plugin). However we can see that its taking min 35mins for every test case completion.
Hard to wait for every Developer initial test.

The same when we tested with Codenarc, it took only 4mins to complete.

The source code is same for both the cases & every time for gw-sonarqube, its taking more time to complete the task.
Is there a way that we can complete sonar testcase compilation in < = 5mins… !!

Hi @raj.speed1,

I am not aware of the plugin you mention. It is not in the SonarQube marketplace. Could you tell us where you downloaded it?

I suggest to contact directly its developers as we won’t be able to help you here.

Also please next time create a dedicated topic for your question. This one is for adding an official plugin for the GoSu language.

Hi All,

In my company we have developed a Sonar plugin for Gosu language (currently we have about 100 rules), and Guidewire Studio IDE specific plugin.

If you would like to know more details feel free to drop me a message, or send an e-mail directly to: goqu@sollers.eu.

I will be happy to share with you materials about our tool.

Kind regards,

Tom

Hello @Tomasz_W

Can you clarify why your company decided to develop a SonarQube Plugin for Gosu instead of using what is provided by Guidewire itself thru their Gosu SonarQube Plugin for InsuranceSuite?

Thanks
Alex

Hello @Alexandre_Gigleux

When we started developing GoQu (in 2018) we thought mostly of our own developers working on projects supporting Insurance Suite. We tried to find some suitable tool on the market, but we failed. Back then, Guidewire itself had nothing more than the Best Practise Guide and on the market there were only few tools supporting Gosu language, but none of them met our criteria.

Nowadays, we know about existence of Gosu SQ Plugin for IS, but we believe that our product is the best solution currently available on the market. Here are the reasons:

  • For now, our tool (we named it GoQu) has 132 rules implemented dedicated strictly to Gosu language issues, which is far more than any other code quality tool dedicated to Gosu language available on the market (i.e., GW Inspections has only 64 rules for Gosu). Furthermore, we constantly develop it, having at least two new major versions released each year (ex. next release planned for Q4 this year adds another 13 new rules).
  • GoQu supports all GW version starting from 6, whereas GW Inspections works only for GW versions 9 and 10.
  • Each of our rules has extensive description, which is especially useful for programmers not experienced in Gosu language – as it helps to increase their learning curve significantly in a short time – thanks to detailed explanations, real code examples written by Gosu Experts, common scenarios and best practices considerations.
  • Issue descriptions always have examples of both compliant and not-compliant code as we believe that knowing that something is wrong is not enough to fix it in a proper way.
  • Each GoQu rule has assigned severity level to help companies prioritize their work on cleaning the code.
  • Using GoQu on SonarQube we can estimate technical debt which allows to assess the amount of work that has to be done to achieve desired quality level of the code.

Additionally, as I mentioned in last post (1,5 year ago, whoah :slight_smile:) GoQu consists of two modules:

  • GoQu Dev is a tool for developer to analyse work-in-progress Gosu code directly in Guidewire Studio. Receiving instant feedback over code quality helps accelerating learning curve of unexperienced Gosu developers.
  • GoQu Hub generates customizable reports in SonarQube for developers and management, providing an overview of the entire Gosu code base. The scan may be triggered by merge request and helps with code review process.

For the best experience of GoQu, we always use both modules (Hub and Dev) simultaneously, but they can be used independently (all those 132 GoQu rules are implemented in both modules).

If you are interested in more information, please reach us directly via e-mail goqu@sollers.eu. I hope I answered your question.