Thread: [Codenarc-user] CodeNarc with Groovy 1.8
Brought to you by:
chrismair
From: R. S. <ren...@go...> - 2011-05-08 22:04:54
|
Hi, I just wanted to ask for the timeline to support Groovy 1.8? Currently CodeNarc 0.13 fails with Groovy 1.8 because some packages have been rearranged in Groovy. Groovy 1.7.10: org/codehaus/groovy/transform/powerassert/ValueRecorder Groovy 1.8.0: org/codehaus/groovy/runtime/powerassert/ValueRecorder Regars, René Scheibe |
From: Hamlet D'A. <ham...@gm...> - 2011-05-09 05:41:00
|
The package rearrangement means that we just need to recompile the product and re-deploy it. I estimate it would take only a few hours to fix all the failing tests that 1.8 creates (I've already done the research). But the bigger problem is that this means two Maven artefacts: CodeNarc_for_Groovy_1_7 and CodeNarc_for_Groovy_1_8. That's unfortunate because it is additional complexity in getting up and running. One possible (but untested) alternative is to remove all "assert" statements from the CodeNarc codebase. Then the ValueRecorder incompatibility might never be triggered and we wouldn't need two different deployments. I'll let Chris weigh in on this issue and see what he things. We currently have 23 new rules finished for the unreleased 0.14 version, plus a few defects that _must_ be fixed. I was hoping for an end-of-May release after the GR8 conference. -- Hamlet D'Arcy ham...@gm... On Mon, May 9, 2011 at 12:04 AM, René Scheibe <ren...@go...> wrote: > Hi, > > I just wanted to ask for the timeline to support Groovy 1.8? > > Currently CodeNarc 0.13 fails with Groovy 1.8 because some packages have > been rearranged in Groovy. > > Groovy 1.7.10: org/codehaus/groovy/transform/powerassert/ValueRecorder > Groovy 1.8.0: org/codehaus/groovy/runtime/powerassert/ValueRecorder > > Regars, > René Scheibe > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Codenarc-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codenarc-user > |
From: <chr...@we...> - 2011-05-09 13:00:31
|
>> I just wanted to ask for the timeline to support Groovy 1.8? >> >> Currently CodeNarc 0.13 fails with Groovy 1.8 because some packages have >> been rearranged in Groovy. >> >> Groovy 1.7.10: org/codehaus/groovy/transform/powerassert/ValueRecorder >> Groovy 1.8.0: org/codehaus/groovy/runtime/powerassert/ValueRecorder >> >> Regars, >> René Scheibe > The package rearrangement means that we just need to recompile the > product and re-deploy it. I estimate it would take only a few hours to > fix all the failing tests that 1.8 creates (I've already done the > research). But the bigger problem is that this means two Maven > artefacts: CodeNarc_for_Groovy_1_7 and CodeNarc_for_Groovy_1_8. That's > unfortunate because it is additional complexity in getting up and > running. One possible (but untested) alternative is to remove all > "assert" statements from the CodeNarc codebase. Then the ValueRecorder > incompatibility might never be triggered and we wouldn't need two > different deployments. I'll let Chris weigh in on this issue and see > what he things. > > Hamlet D'Arcy I would be hesitant to remove all of the "assert" statements. Would you replace them with a custom assert-like facility? I hate to bastardize the code like that, but perhaps that would be a worthwhile sacrifice in the name of pragmatism. And having two separate branches and maven artefacts (1.7/1.8) sounds pretty distasteful as well. Of course at some point we will need to support Groovy 1.8. Since CodeNarc runtime environment is not tied to the code that it analyzes (i.e. it can run in 1.7 and analyze 1.8 code), I would be inclined to leave it at 1.7 for the upcoming 0.14 release. Perhaps once there is a "tipping point" to 1.8, we can switch over. That does, however, have implications for environments/tools that are tied to a specific Groovy version of Groovy -- e.g. Grails. So, maybe we decide at that point that it is worth it to support two streams, or maybe we just make a clean break and move to 1.8. Worth some discussion and debate. Thanks. Chris |
From: Hamlet D'A. <ham...@gm...> - 2011-05-14 05:29:11
|
Concerning the Groovy 1.8 support... Rene from Gradle is almost done with a Site plugin for Gradle. Once that is complete then it will be much easier for us to create two different artifacts for a single project, one based on 1.7 and one on 1.8. How does this affect the Grails plugin? Will we need an option somewhere to specify the dependency version easily? (Grails won't support 1.8 for a while though, so no rush on that problem) -- Hamlet D'Arcy ham...@gm... On Mon, May 9, 2011 at 3:00 PM, <chr...@we...> wrote: >>> I just wanted to ask for the timeline to support Groovy 1.8? >>> >>> Currently CodeNarc 0.13 fails with Groovy 1.8 because some packages have >>> been rearranged in Groovy. >>> >>> Groovy 1.7.10: org/codehaus/groovy/transform/powerassert/ValueRecorder >>> Groovy 1.8.0: org/codehaus/groovy/runtime/powerassert/ValueRecorder >>> >>> Regars, >>> René Scheibe > >> The package rearrangement means that we just need to recompile the >> product and re-deploy it. I estimate it would take only a few hours to >> fix all the failing tests that 1.8 creates (I've already done the >> research). But the bigger problem is that this means two Maven >> artefacts: CodeNarc_for_Groovy_1_7 and CodeNarc_for_Groovy_1_8. That's >> unfortunate because it is additional complexity in getting up and >> running. One possible (but untested) alternative is to remove all >> "assert" statements from the CodeNarc codebase. Then the ValueRecorder >> incompatibility might never be triggered and we wouldn't need two >> different deployments. I'll let Chris weigh in on this issue and see >> what he things. >> >> Hamlet D'Arcy > > I would be hesitant to remove all of the "assert" statements. Would you replace them with a custom assert-like facility? I hate to bastardize the code like that, but perhaps that would be a worthwhile sacrifice in the name of pragmatism. > > And having two separate branches and maven artefacts (1.7/1.8) sounds pretty distasteful as well. Of course at some point we will need to support Groovy 1.8. Since CodeNarc runtime environment is not tied to the code that it analyzes (i.e. it can run in 1.7 and analyze 1.8 code), I would be inclined to leave it at 1.7 for the upcoming 0.14 release. Perhaps once there is a "tipping point" to 1.8, we can switch over. That does, however, have implications for environments/tools that are tied to a specific Groovy version of Groovy -- e.g. Grails. So, maybe we decide at that point that it is worth it to support two streams, or maybe we just make a clean break and move to 1.8. Worth some discussion and debate. > > Thanks. > Chris > |
From: Chris M. <chr...@ea...> - 2011-05-15 22:19:25
|
>> Concerning the Groovy 1.8 support... >> Rene from Gradle is almost done with a Site plugin for Gradle. Once that is complete then it will be much easier for >> us to create two different artifacts for a single project, one based on 1.7 and one on 1.8. Excellent. I know I am not the only one interested in that. Depending on the capabilities, that should be a big selling point. >> How does this affect the Grails plugin? Will we need an option somewhere to specify the dependency version >> easily? (Grails won't support 1.8 for a while though, so no rush on that problem) I am not really sure about the effect on the Grails plugin. That build process/script is integrated with the Grails Plugin facility and repo. I do manually add in the CodeNarc jar into that plugin project, but I don't know how or if you could support multiple CodeNarc versions. Chris |
From: Cédric C. <ced...@gm...> - 2011-05-16 12:31:04
|
BTW, I'm wondering what I should do with the IDEA plugin: release two versions ? Le 16/05/2011 00:19, Chris Mair a écrit : >>> Concerning the Groovy 1.8 support... >>> Rene from Gradle is almost done with a Site plugin for Gradle. Once that > is complete then it will be much easier for >>> us to create two different artifacts for a single project, one based on > 1.7 and one on 1.8. > > Excellent. I know I am not the only one interested in that. Depending on the > capabilities, that should be a big selling point. > >>> How does this affect the Grails plugin? Will we need an option somewhere > to specify the dependency version >>> easily? (Grails won't support 1.8 for a while though, so no rush on that > problem) > > I am not really sure about the effect on the Grails plugin. That build > process/script is integrated with the Grails Plugin facility and repo. I do > manually add in the CodeNarc jar into that plugin project, but I don't know > how or if you could support multiple CodeNarc versions. > > Chris > > > ------------------------------------------------------------------------------ > Achieve unprecedented app performance and reliability > What every C/C++ and Fortran developer should know. > Learn how Intel has extended the reach of its next-generation tools > to help boost performance applications - inlcuding clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > Codenarc-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codenarc-user |
From: Hamlet D'A. <ham...@gm...> - 2011-05-17 05:23:41
|
> BTW, I'm wondering what I should do with the IDEA plugin: release two > versions ? No, I would not release two versions. We're going to make CodeNarc run on both 1.7 and 1.8 with the same binary class files. I talked to someone about this and you can do it. It means writing the missing class files into the Jar ourselves, but it is possible. It means CodeNarc will have classes in the package org.codeaus.groovy... that just dispatch on to the new location. Does that make sense? -- Hamlet D'Arcy ham...@gm... On Mon, May 16, 2011 at 2:14 PM, Cédric Champeau <ced...@gm...> wrote: > BTW, I'm wondering what I should do with the IDEA plugin: release two > versions ? > > Le 16/05/2011 00:19, Chris Mair a écrit : >>>> Concerning the Groovy 1.8 support... >>>> Rene from Gradle is almost done with a Site plugin for Gradle. Once that >> is complete then it will be much easier for >>>> us to create two different artifacts for a single project, one based on >> 1.7 and one on 1.8. >> >> Excellent. I know I am not the only one interested in that. Depending on the >> capabilities, that should be a big selling point. >> >>>> How does this affect the Grails plugin? Will we need an option somewhere >> to specify the dependency version >>>> easily? (Grails won't support 1.8 for a while though, so no rush on that >> problem) >> >> I am not really sure about the effect on the Grails plugin. That build >> process/script is integrated with the Grails Plugin facility and repo. I do >> manually add in the CodeNarc jar into that plugin project, but I don't know >> how or if you could support multiple CodeNarc versions. >> >> Chris >> >> >> ------------------------------------------------------------------------------ >> Achieve unprecedented app performance and reliability >> What every C/C++ and Fortran developer should know. >> Learn how Intel has extended the reach of its next-generation tools >> to help boost performance applications - inlcuding clusters. >> http://p.sf.net/sfu/intel-dev2devmay >> _______________________________________________ >> Codenarc-user mailing list >> Cod...@li... >> https://lists.sourceforge.net/lists/listinfo/codenarc-user > > > ------------------------------------------------------------------------------ > Achieve unprecedented app performance and reliability > What every C/C++ and Fortran developer should know. > Learn how Intel has extended the reach of its next-generation tools > to help boost performance applications - inlcuding clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > Codenarc-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codenarc-user > |
From: Cédric C. <ced...@gm...> - 2011-05-17 08:13:01
|
That would be perfect. Le 17/05/2011 07:23, Hamlet D'Arcy a écrit : >> BTW, I'm wondering what I should do with the IDEA plugin: release two >> versions ? > No, I would not release two versions. We're going to make CodeNarc run > on both 1.7 and 1.8 with the same binary class files. I talked to > someone about this and you can do it. It means writing the missing > class files into the Jar ourselves, but it is possible. It means > CodeNarc will have classes in the package org.codeaus.groovy... that > just dispatch on to the new location. Does that make sense? > |