Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Customizing the compilation process is possible using compilation customizers, however there is no lightweight syntax to define such customizers.
The objective of this task is to define a builder to generate such a configuration. For example:
def config = new CompilerConfiguration() config.customizers { ast(CompileStatic) source(extension: 'sgroovy') { ast(CompileStatic) } imports { normal 'java.io.Foo' normal List star 'groovy.transform' } secureAst { closuresAllowed = false methodDefinitionAllowed = false } inline(phase: 'CONVERSION') { source, context, classNode -> println "hello $classNode" } }
Attachments
Issue Links
- is depended upon by
-
GROOVY-5503 Compiler flag for type checking most classes, and TypeUnchecked annotation override
- Closed