That’s worth noting. Everything here is in the community edition, everything Grails related is in the Ultimate Edition. I have absolutely no insider information on this, but I can’t image the community edition getting Grails support any time soon. You never know though, the open sourcing of the CE took me by total surprise.
You seem to be a seasoned hat with IntelliJ & Groovy – what practices do you take to deal with unresolved references in Groovy & IntelliJ? I’ve actually posted in the IDEA community discussion http://devnet.jetbrains.net/thread/292731 and am going to try Groovy++ shortly.
I’m currently doing a sizable refactor on a codebase where tests aren’t that great, and so far the best tool I found is changing my inspections to error on unresolved — but it’s a slow process; much slower than if I got compiler warnings etc.
But maybe you have some tips too?
PS – I really liked your summary of new features; makes me want to upgrade asap
@dotnetnewbie44 – Groovy is a dynamic language. There will always be times where a variable cannot be resolved and that is perfectly OK at compile time. Your forum post says you’re considering Groovy++, but that is not always a drop in replacement for Groovy. It is a slightly different language with slightly different semantics than Groovy. If you do not have test coverage on your code, then I think swapping out Groovy for Groovy++ is a bad idea because there will be differences in behavior at runtime. It is like trying to swap out Java for Groovy… yes it is possible, but there are different semantics in the language. I would be scared to do this myself without an extensive battery of tests.
As for unresolved references… you’re making a big refactoring without tests. My advice is to spend some time writing high level acceptance tests that run before and after, then make the refactoring. Sorry, that may not be what you want to hear.
Hamlet – thanks…I was just looking for I don’t have any tips! 😉 I’m aware of the things you are saying, but one cannot control what one inherits.
Personally, I think this is a problem that is begging to be solved. Imagine if you can have static type compilation & checking & refactor goodness on a dynamic language? There’s a gap in the market for someone who is a can do as opposed to cannot do