Grails plugin version compatibility - grails

Anyone know if I write a Grails plugin using Grails 2.2.1 (which uses Groovy 2.0) and use some Groovy 2.0 features e.g. #TypeChecked and if a Grails project that is using an earlier version of Grails and an earlier version Groovy use this plugin?

the plugins and groovy versions of course are not backward-compatible in terms of new features. you shall prepare a backward-compatible version of your plugin by removing groovy 2.x features out of it

Related

Which version of codenarc will support to Grails 1.3.7?

I am trying to implement for my grails project using 1.3.7 version. I am using ant build instead of Gradle build tool. I am not able to find
Which version of codenarc will support to Grails 1.3.7?
Versions above 0.9 and under 1.0.

Upgrading a Grails app from 1.3.7 to Java 8 compatibility version

I am looking to upgrade Grails from 1.3.7.
Which version of grails is compatible with Java8?
What versions of hibernate and tomcat plugins to be used?
Which version of grails is compatible with Java8?
Grails 2.5.x is the first version of Grails for which we officially support Java 8.
What versions of hibernate and tomcat plugins to be used?
Your options there will depend on which version of Grails you decide to use. If you are using Grails 2.5.6 then I would suggest :tomcat:7.0.70 and either :hibernate4:4.3.10 or :hibernate:3.6.10.18. With Grails 3 you have a wider array of options.
Which version of grails is compatible with Java8?
I upgraded to 2.3.10 with JDK 1.8 successfully in two steps.
I first tried to upgrade it to version 2.0.5 from 1.3.7. (Note earlier vesions of grails support upgrade command which helps to upgrade few things automatically).
Remember there will be some changes in Application
AppplicationContext.xml will have some changes.
The class org.codehaus.groovy.grails.commons.ConfigurationHolder is deprecated. Use below code
def config = Holders.config
In second step I migrated from version 2.0.5 to 2.3.10
What versions of hibernate and tomcat plugins to be used?
runtime ':hibernate:3.6.10.16' // ':hibernate4:4.3.5.4' for Hibernate 4
build ':tomcat:7.0.54'

Grails, GGTS Setup

I need to setup a Windows working environment for Grails. I'd like to use GGTS as an IDE but got several errors compiling a sample project. Currently I'm using jdk1.8.0_40 and Grails 2.5.0. which results in this error (but in the end the project is working):
Groovy:Unexpected problem with AST transform: The Spock compiler
plugin cannot execute because Spock 1.0.0-groovy-2.4 is not compatible
with Groovy 2.3.10. For more information, see http://versioninfo.spockframework.org
On top of that there are two Java Exception Breakpoints which are listed as "unknown". Only info regarding version support I could find is:
Java SDK 1.5+ for Grails 1.2 or greater
GGTS itself seems not to run with the latest grails (3.0.1) since I simply cannot add it (directory appears not to be a grails installation).
Should I use Java 7 instead?
This issue is not related to JDK 1.8 or 1.7, but its is related to the GGTS IDE 3.6.4 Groovy Compiler version. As the error clarifies that Spock 1.0.0 version needs Groovy 2.4 compiler.
GGTS 3.6.4.RELEASE-e4.4.2 IDE comes with Groovy 2.3.10 compiler by Default.
Install Groovy Compiler 2.4 Feature and "switch to 2.4" will resolve this issue.
Refer: http://docs.codehaus.org/display/GROOVY/Compiler+Switching+within+Groovy-Eclipse
If you cannot switch compilers from the IDE Groovy Compiler preference page, follow the instructions to perform the switch from outside of Eclipse:
(Grails 2.5.0 uses Spock 1.0.0 (and internally Groovy 2.4.3 and this is why your project is compiling & working fine as the Grails runtime environment is taking over)
As an additional experience report to the answer above, thus providing another solution variant: I had to use the http://dist.springsource.org/snapshot/GRECLIPSE/e4.4 update site (as opposed to the release version mentioned in the link above) to make the 2.4 compiler feature available in the update manager.
After installation, the compiler errors are gone.
I noticed that project-specific groovy compiler is set in the Groovy Compiler preference page in new grails projects. By selecting "I don't care" for "Groovy compiler" it will default to the workspace groovy compiler which is usually correct (for me it's version 2.4). This worked for me but experience may vary.

Migrating Grails 2.4 MultipleCompilationErrorsException

I'm going to migrate an existing Grails 2.0 plugin to 2.4.
According to the migration guide the following steps were done:
run set-grails-version 2.4.4
update to latest plugin versions (hibernate4, tomcat, release and etc)
In in Intellij I've changed plugin SDK version on 2.4.4. Now module->dependencies looks like
It looks good but when I do grails compile, I have MultipleCompilationErrorsException in SvnDeployer class of release:3.0.1 plugin with "unable to resolve" message: unable to resolve class org.apache.commons.io.FilenameUtils(it's strange, commons.io is included into grails library)
On SDK of 2.0 everything is fine, but when I change SDK version to 2.4, project can not be compiled.
From my experience, Grails upgrades are not really smooth especially between feature releases.
I recommend starting with the usual
grails clean
grails refresh-dependencies
grails compile
After that check if you still get the same kind of errors, see whether or not excluding the svn plugin helps (if you're not using it).

Grails plugin site version syntax

On the Grails Plugin Site (http://www.grails.org/plugins/), every plugin lists the versions of Grails that it is compatible with; something like Grails version : 1.2 > *.
Does this mean that the plugin is compatible with all versions of Grails starting with 1.2 or up to 1.2?
Yes, it means that version is supported for mentioned and above versions. But do read that whether the plugin is deprecated or not. For that you need to go to plugin and then see the details at the bottom.
For example, Cloud Foundary is depreciated but it is still listed on Grails plugin page.
http://www.grails.org/plugin/cloud-foundry

Resources