Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-939

Add Groovy support in Clover for Intellij

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Atlassian Status as of 15 December 2011

      Hi Folks,

      Thanks for your feedback, we regularly review your requests in order to schedule the improvements that our customers highlight as most important and useful.

      After surveying the Clover customer base, we believe that the main use cases of Clover are satisfied by its current feature set. Due to this, we have decided to close this feature request as we are not planning to address this in the near future.

      For any questions or queries, please feel free to comment on this issue, we will get back to you in a timely manner.

      Regards,

      Josh Devenny
      Atlassian Product Management

      Status update 18.06.2014:

      I've made a spike for this. It's feasible and I've got a working prototype, but it needs a lot of polishing.

      Tasks:
      perform spike to estimate complexity
      solve problem with concurrent updates of clover.db (first is IDE/JPS builder process for Java code, second is Groovyc AST transformer) - maybe we could use two databases instead and merge them after the build in memory for reporting? it would require change in Settings > Clover window as well
      serialize Clover configuration to instrumentation.ser (initstring etc to be used by Clover Groovy AST Transformer)
      serialize inclusion/exclusion patterns for *.groovy files into the instrumentation.ser (files to be instrumented by Clover)
      integrate with IDEA's Groovy plugin (e.g. via GroovyBuilderExtension)
      pick Clover AST Transformer by groovyc process (META-INF/services)
      handle build started/finished events for Groovy-based projects
      show Groovy classes in the Cloverage view
      handle stub generation by groovyc?
      syntax highlighting for Groovy code (in editor tab)
      check integration with Groovy test runner / Spock test runner
      check instrumentation of mixed Java/Groovy projects (esp. compilation of Java sources from groovyc)
      handle compilation of Groovy code triggered from other IDEA plug-ins, such as: Grails, Gradle, Griffon
      check report generation (HTML, XML, PDF) launched from IDEA

        1. clover-idea.z01
          9.00 MB
        2. clover-idea.zip
          5.53 MB
        3. clover_idea_groovy_spock.png
          clover_idea_groovy_spock.png
          51 kB

            [CLOV-939] Add Groovy support in Clover for Intellij

            Marek Parfianowicz added a comment - clover_idea_groovy_spock.png

            Prototype:

            • clover-idea.zip + clover-idea.z01
            • it does not compile Java
            • an absolute path to initstring must be used (Project Settings > Clover > 'relative to project dir' unchecked, 'User specified' selected, full path in the text field)
            • tested with IDEA 13.0 only (which has an external build feature), does not handle 'classic' build (IDEA 12 and older)

            Marek Parfianowicz added a comment - Prototype: clover-idea.zip + clover-idea.z01 it does not compile Java an absolute path to initstring must be used (Project Settings > Clover > 'relative to project dir' unchecked, 'User specified' selected, full path in the text field) tested with IDEA 13.0 only (which has an external build feature), does not handle 'classic' build (IDEA 12 and older)

            Update:

            • we will re-evaluate a possibility of adding Groovy support in IDE in one of Clover 4.2 sprints (2015);
            • we don't guarantee that it will be implemented - it depends on the results of the evaluation

            Marek Parfianowicz added a comment - Update: we will re-evaluate a possibility of adding Groovy support in IDE in one of Clover 4.2 sprints (2015); we don't guarantee that it will be implemented - it depends on the results of the evaluation

            Thanks for setting that up. I like that 2 out of the top 3 are wont fix

            Jon Barksdale added a comment - Thanks for setting that up. I like that 2 out of the top 3 are wont fix

            FYI: I have also created a table with top 10 most voted features on the https://confluence.atlassian.com/display/CLOVER/Clover+Road+Map page

            Marek Parfianowicz added a comment - FYI: I have also created a table with top 10 most voted features on the https://confluence.atlassian.com/display/CLOVER/Clover+Road+Map page

            JoeA added a comment -

            I actually did know that and we use the Gradle integration already, I was thinking Spock support would be in IntelliJ, but that item is to support Spock outside of IntelliJ. Sorry, my mistake. Thanks!

            JoeA added a comment - I actually did know that and we use the Gradle integration already, I was thinking Spock support would be in IntelliJ, but that item is to support Spock outside of IntelliJ. Sorry, my mistake. Thanks!

            ??? :-o But Clover supports Groovy! Since very long time - you can instrument groovy via Ant, Maven and Grails plugins. What is missing is a direct integration with Eclipse and IDEA IDEs.

            Oh. There's also an integration with a Gradle written by community.

            Marek Parfianowicz added a comment - ??? :-o But Clover supports Groovy! Since very long time - you can instrument groovy via Ant, Maven and Grails plugins. What is missing is a direct integration with Eclipse and IDEA IDEs. Oh. There's also an integration with a Gradle written by community.

            JoeA added a comment -

            Thank you. I hope groovy support happens soon.

            On a related note, wouldn't adding support for Spock mean that you would need to support Groovy since Spock tests are written in Groovy?

            JoeA added a comment - Thank you. I hope groovy support happens soon. On a related note, wouldn't adding support for Spock mean that you would need to support Groovy since Spock tests are written in Groovy?

            I'm reopening this issue to allow voting. I've also reassigned it to the "won't fix" version to indicate that we don't have plans to implement it right now.

            Marek Parfianowicz added a comment - I'm reopening this issue to allow voting. I've also reassigned it to the "won't fix" version to indicate that we don't have plans to implement it right now.

            As Ilia Lewis pointed out, if this would be the issue to vote for, to get it to be a higher priority, then I think it should be reopened so anyone that wants to voice their support for it can.

            Indeed, it's not possible to vote on resolved issues: https://jira.atlassian.com/browse/JRA-13360 I'll look for an alternative.

            Marek Parfianowicz added a comment - As Ilia Lewis pointed out, if this would be the issue to vote for, to get it to be a higher priority, then I think it should be reopened so anyone that wants to voice their support for it can. Indeed, it's not possible to vote on resolved issues: https://jira.atlassian.com/browse/JRA-13360 I'll look for an alternative.

            Hi Jon,

            So, would it be safe to say if it had more votes it would be reopened?

            It's not only about a number of votes. How features are chosen describes the Implementation+of+New+Features+Policy. Customer feedback (including votes on jira.atlassian.com) is one of the factors.

            Regards
            Marek

            Marek Parfianowicz added a comment - Hi Jon, So, would it be safe to say if it had more votes it would be reopened? It's not only about a number of votes. How features are chosen describes the Implementation+of+New+Features+Policy . Customer feedback (including votes on jira.atlassian.com) is one of the factors. Regards Marek

            JoeA added a comment -

            Mark, I certainly understand the need to prioritize new features and respect a company for saying no or not yet to new features rather than trying to build everything for everyone and making the product worse. I was just looking for a little background on what led to the decision to close this feature and if that was a permanent decision or not. As Ilia Lewis pointed out, if this would be the issue to vote for, to get it to be a higher priority, then I think it should be reopened so anyone that wants to voice their support for it can.

            Thanks for such a fast response.

            JoeA added a comment - Mark, I certainly understand the need to prioritize new features and respect a company for saying no or not yet to new features rather than trying to build everything for everyone and making the product worse. I was just looking for a little background on what led to the decision to close this feature and if that was a permanent decision or not. As Ilia Lewis pointed out, if this would be the issue to vote for, to get it to be a higher priority, then I think it should be reopened so anyone that wants to voice their support for it can. Thanks for such a fast response.

            Ilia Lewis added a comment -

            I would like to vote for it as well, but don't seem to be able to.

            Ilia Lewis added a comment - I would like to vote for it as well, but don't seem to be able to.

            So, would it be safe to say if it had more votes it would be reopened?

            Jon Barksdale added a comment - So, would it be safe to say if it had more votes it would be reopened?

            Marek Parfianowicz added a comment - - edited

            Hi Joe,

            It's always hard for us to say "no" to our customers. Making decision whether some feature shall be implemented or not is not only about asking "do we need this feature?" (in most cases the answer would be "yes") but also about asking "which features requested by customers can be implemented using our resources and can add the highest value to Clover as a product".

            Groovy support in IntelliJ has 2 votes. There are 14 unresolved issues having more votes currently:

            A current road map for Clover is as follows:

            As you can see above, a current plan is to work on the top-voted feature, which is Scala, this year.
            In addition to this, we'll add support for the Spock framework and introduce a new HTML report.

            Do not hesitate to ask if you have any questions.

            Regards
            Marek

            Marek Parfianowicz added a comment - - edited Hi Joe, It's always hard for us to say "no" to our customers. Making decision whether some feature shall be implemented or not is not only about asking "do we need this feature?" (in most cases the answer would be "yes") but also about asking "which features requested by customers can be implemented using our resources and can add the highest value to Clover as a product". Groovy support in IntelliJ has 2 votes. There are 14 unresolved issues having more votes currently: https://jira.atlassian.com/issues/?jql=project%20%3D%20CLOV%20and%20votes%20%3E%202%20and%20%28resolution%20!%3D%20%22Fixed%22%20or%20resolution%20is%20EMPTY%29 A current road map for Clover is as follows: https://confluence.atlassian.com/display/CLOVER/Clover+Road+Map As you can see above, a current plan is to work on the top-voted feature, which is Scala, this year. In addition to this, we'll add support for the Spock framework and introduce a new HTML report. Do not hesitate to ask if you have any questions. Regards Marek

            JoeA added a comment -

            I realize this is an old issue and closed already, but since the Atlassian forums are gone I can't see any of the rationale behind this decision or if there are any other discussions about this after the last two years?

            FWIW, this would be a very valuable feature for my company. We are expanding our use of Groovy in existing Java applications but only getting coverage for Java classes within IntelliJ is somewhat limiting.

            JoeA added a comment - I realize this is an old issue and closed already, but since the Atlassian forums are gone I can't see any of the rationale behind this decision or if there are any other discussions about this after the last two years? FWIW, this would be a very valuable feature for my company. We are expanding our use of Groovy in existing Java applications but only getting coverage for Java classes within IntelliJ is somewhat limiting.

            Ilia Lewis added a comment -

            Well we had been considering getting an enterprise license for Clover but guess that won't be needed since it doesn't actually work with Groovy. Good thing we can still use cobertura instead.

            Ilia Lewis added a comment - Well we had been considering getting an enterprise license for Clover but guess that won't be needed since it doesn't actually work with Groovy. Good thing we can still use cobertura instead.

            Hi Jon,

            I'm sad to say this probably won't be implemented any time soon. See here for more details: http://forums.atlassian.com/thread.jspa?threadID=53687&tstart=15

            Michael.

            Michael Studman (Inactive) added a comment - Hi Jon, I'm sad to say this probably won't be implemented any time soon. See here for more details: http://forums.atlassian.com/thread.jspa?threadID=53687&tstart=15 Michael.

            Is this coming any time soon? If not, I don't thing my company needs clover anymore, as like 70% of our active codebase is groovy...

            Jon Barksdale added a comment - Is this coming any time soon? If not, I don't thing my company needs clover anymore, as like 70% of our active codebase is groovy...

            We have a groovy project for which we'd like to see coverage in the IDE; otherwise we have to run the maven plugin commands and look at html reports.

            Zac Thompson added a comment - We have a groovy project for which we'd like to see coverage in the IDE; otherwise we have to run the maven plugin commands and look at html reports.

              Unassigned Unassigned
              mstudman Michael Studman (Inactive)
              Votes:
              17 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: