Here is a checklist of changes you'll need to make to a Groovy classic codebase to ensure compatibility with the new Groovy JSR syntax
- return is mandatory in all non-void methods
- return/break/continue to behave inside closures like these statements work in other blocks (such as the block on a for() or while() loop. More details here
- local variable declarations and fields currently need to be specified with 'def' or a type. e.g.
- property keyword has been replaced with an annotation
- no dumb expression rule, so we will catch dumb expressions (where a carriage return has broken the script). e.g.
- markup / builders will change a little. Not sure of the syntax, but we'll have some kinda start/stop syntax to denote a markup block. Maybe a keyword, like
- single and double quote strings can only span one line; for multiple lines use treble quotes
- heredocs removal - they are kinda ugly anyway . If you want to use them, just use treble quote instead
- escaping of $ inside GStrings must use \$