groovy/groovy-core — pull request #339 by melix (2014-02-26 08:51:59+00:00)
Title: GROOVY-6596: MarkupTemplateEngine implementation

Add support for multiple types of includes (groovy, escaped, unescaped)

Added support for template configuration

Added support for new lines and avoid use of "mkp."

Support for tags which have the same name as a macro

Reworked to get rid of StreamingMarkupBuilder
* templates are statically compiled
* unresolved methods/properties are executed in mixed mode

Small performance improvements

Fixed nested builder calls not being directly wired to methodMissing

Fixed nested methodMissing calls inside resolved closures not being statically linked

Fixed broken tests

Support for helper methods in bindign

Support for automatic escaping
* if autoEscape flag is on, then $foo will automatically be escaped unless we use the direct ${model.foo} syntax

Add direct call to getModel() for faster resolution

For direct, unescaped access to model, create an "unescaped" alias for "model"

Added support for a type checked model

Make sure templates included in type checked mode are also type checked

Add auto-indent feature

Add support for automatic new lines

Fixed build of Groovy template module

Added support for a custom base template class

Make type checking errors silent if not in strict mode
Renamed the template generator

Improve code coverage

Implemented a Grails tagLib adapter

Fixed unchecked assignment

Add backport jar task

Javadocs for the markup template engine