Move auto-imports to an ImportCustomizer defined in DefaultWebViewComponentTemplateCompileUnit.
This commit is contained in:
parent
1a528465f9
commit
bd4dee98fa
@ -34,19 +34,9 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
||||
return SimpleTranspilerConfiguration.withDefaults();
|
||||
}
|
||||
|
||||
protected void addAutomaticImports(WebViewComponentModuleNode moduleNode, TranspilerConfiguration configuration) {
|
||||
configuration.getImports().forEach(moduleNode::addImport);
|
||||
configuration.getStaticImports().forEach(staticImport -> moduleNode.addStaticImport(
|
||||
staticImport.getV1(), staticImport.getV2(), staticImport.getV3()
|
||||
));
|
||||
configuration.getStarImports().forEach(moduleNode::addStarImport);
|
||||
configuration.getStaticStarImports().forEach(moduleNode::addStaticStarImport);
|
||||
}
|
||||
|
||||
protected WebViewComponentModuleNode initModuleNode(
|
||||
ComponentTemplateCompileUnit compileUnit,
|
||||
WebViewComponentSourceUnit sourceUnit,
|
||||
TranspilerConfiguration configuration
|
||||
WebViewComponentSourceUnit sourceUnit
|
||||
) {
|
||||
final var moduleNode = new WebViewComponentModuleNode(sourceUnit);
|
||||
sourceUnit.setModuleNode(moduleNode);
|
||||
@ -56,7 +46,6 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
||||
moduleNode.setPackageName(defaultPackageName);
|
||||
}
|
||||
|
||||
this.addAutomaticImports(moduleNode, configuration);
|
||||
return moduleNode;
|
||||
}
|
||||
|
||||
@ -218,12 +207,6 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
||||
CompilationUnitNode compilationUnitNode,
|
||||
String templateClassSimpleName
|
||||
) throws ComponentTemplateCompileException {
|
||||
// resolver, transpilerConfiguration, and positionSetter
|
||||
final ClassLoaderComponentClassNodeResolver resolver = new ClassLoaderComponentClassNodeResolver(
|
||||
compileUnit,
|
||||
compilerConfiguration.getGroovyClassLoader()
|
||||
);
|
||||
final var transpilerConfiguration = this.getConfiguration(resolver);
|
||||
// transpilerConfiguration, and positionSetter
|
||||
final var transpilerConfiguration = this.getConfiguration();
|
||||
final PositionSetter positionSetter = transpilerConfiguration.getPositionSetter();
|
||||
@ -241,7 +224,7 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
||||
|
||||
// prepare moduleNode
|
||||
final WebViewComponentModuleNode moduleNode = this.initModuleNode(
|
||||
compileUnit, sourceUnit, transpilerConfiguration
|
||||
compileUnit, sourceUnit
|
||||
);
|
||||
|
||||
// prepare mainClassNode
|
||||
|
@ -10,7 +10,9 @@ import groowt.view.component.compiler.source.FileSource;
|
||||
import groowt.view.component.compiler.source.URISource;
|
||||
import groowt.view.component.compiler.source.URLSource;
|
||||
import org.codehaus.groovy.control.CompilationUnit;
|
||||
import org.codehaus.groovy.control.CompilerConfiguration;
|
||||
import org.codehaus.groovy.control.Janitor;
|
||||
import org.codehaus.groovy.control.customizers.ImportCustomizer;
|
||||
import org.codehaus.groovy.control.io.ReaderSource;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@ -20,8 +22,20 @@ import java.net.URI;
|
||||
public class DefaultWebViewComponentTemplateCompileUnit extends AbstractComponentTemplateCompileUnit
|
||||
implements ReaderSource, WebViewComponentTemplateCompileUnit {
|
||||
|
||||
private static CompilationUnit getCompilationUnit() {
|
||||
final var configuration = new CompilerConfiguration();
|
||||
final var addGroowtImports = new ImportCustomizer();
|
||||
addGroowtImports.addStarImports(
|
||||
"groowt.view.component.web.lib",
|
||||
"groowt.view.component.web.runtime",
|
||||
"groowt.view.component.runtime"
|
||||
);
|
||||
configuration.addCompilationCustomizers(addGroowtImports);
|
||||
return new CompilationUnit(configuration);
|
||||
}
|
||||
|
||||
private final String defaultPackageName;
|
||||
private final CompilationUnit groovyCompilationUnit = new CompilationUnit();
|
||||
private final CompilationUnit groovyCompilationUnit;
|
||||
|
||||
public DefaultWebViewComponentTemplateCompileUnit(
|
||||
String descriptiveName,
|
||||
@ -35,6 +49,7 @@ public class DefaultWebViewComponentTemplateCompileUnit extends AbstractComponen
|
||||
} else {
|
||||
this.defaultPackageName = defaultPackageName;
|
||||
}
|
||||
this.groovyCompilationUnit = getCompilationUnit();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user