Package org.grails.cli.compiler
Class CompilerAutoConfiguration
- java.lang.Object
-
- org.grails.cli.compiler.CompilerAutoConfiguration
-
- Direct Known Subclasses:
CachingCompilerAutoConfiguration,GrailsApplicationCompilerAutoConfiguration,GrailsTestCompilerAutoConfiguration,GroovyTemplatesCompilerAutoConfiguration,JdbcCompilerAutoConfiguration,JmsCompilerAutoConfiguration,RabbitCompilerAutoConfiguration,SpringBatchCompilerAutoConfiguration,SpringBootCompilerAutoConfiguration,SpringIntegrationCompilerAutoConfiguration,SpringMvcCompilerAutoConfiguration,SpringRetryCompilerAutoConfiguration,SpringSecurityCompilerAutoConfiguration,SpringTestCompilerAutoConfiguration,SpringWebsocketCompilerAutoConfiguration,TransactionManagementCompilerAutoConfiguration
public abstract class CompilerAutoConfiguration extends java.lang.ObjectStrategy that can be used to apply some auto-configuration during theCompilePhase.CONVERSIONGroovy compile phase.- Since:
- 2022.1.0
-
-
Constructor Summary
Constructors Constructor Description CompilerAutoConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapply(groovy.lang.GroovyClassLoader loader, GroovyCompilerConfiguration configuration, org.codehaus.groovy.classgen.GeneratorContext generatorContext, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode)Apply any additional configuration.voidapplyDependencies(DependencyCustomizer dependencies)Apply any dependency customizations.voidapplyImports(org.codehaus.groovy.control.customizers.ImportCustomizer imports)Apply any import customizations.voidapplyToMainClass(groovy.lang.GroovyClassLoader loader, GroovyCompilerConfiguration configuration, org.codehaus.groovy.classgen.GeneratorContext generatorContext, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode)Apply any customizations to the main class.booleanmatches(org.codehaus.groovy.ast.ClassNode classNode)Strategy method used to determine when compiler auto-configuration should be applied.
-
-
-
Method Detail
-
matches
public boolean matches(org.codehaus.groovy.ast.ClassNode classNode)
Strategy method used to determine when compiler auto-configuration should be applied. Defaults to always.- Parameters:
classNode- the class node- Returns:
trueif the compiler should be auto-configured using this class. If this method returnsfalseno other strategy methods will be called.
-
applyDependencies
public void applyDependencies(DependencyCustomizer dependencies) throws org.codehaus.groovy.control.CompilationFailedException
Apply any dependency customizations. This method will only be called ifmatches(org.codehaus.groovy.ast.ClassNode)returnstrue.- Parameters:
dependencies- dependency customizer- Throws:
org.codehaus.groovy.control.CompilationFailedException- if the dependencies cannot be applied
-
applyImports
public void applyImports(org.codehaus.groovy.control.customizers.ImportCustomizer imports) throws org.codehaus.groovy.control.CompilationFailedExceptionApply any import customizations. This method will only be called ifmatches(org.codehaus.groovy.ast.ClassNode)returnstrue.- Parameters:
imports- import customizer- Throws:
org.codehaus.groovy.control.CompilationFailedException- if the imports cannot be applied
-
applyToMainClass
public void applyToMainClass(groovy.lang.GroovyClassLoader loader, GroovyCompilerConfiguration configuration, org.codehaus.groovy.classgen.GeneratorContext generatorContext, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode) throws org.codehaus.groovy.control.CompilationFailedExceptionApply any customizations to the main class. This method will only be called ifmatches(org.codehaus.groovy.ast.ClassNode)returnstrue. This method is useful when a groovy file defines more than one class but customization only applies to the first class.- Parameters:
loader- the class loader being used during compilationconfiguration- the compiler configurationgeneratorContext- the current contextsource- the source unitclassNode- the main class- Throws:
org.codehaus.groovy.control.CompilationFailedException- if the customizations cannot be applied
-
apply
public void apply(groovy.lang.GroovyClassLoader loader, GroovyCompilerConfiguration configuration, org.codehaus.groovy.classgen.GeneratorContext generatorContext, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode) throws org.codehaus.groovy.control.CompilationFailedExceptionApply any additional configuration.- Parameters:
loader- the class loader being used during compilationconfiguration- the compiler configurationgeneratorContext- the current contextsource- the source unitclassNode- the class- Throws:
org.codehaus.groovy.control.CompilationFailedException- if the configuration cannot be applied
-
-