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();
|
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(
|
protected WebViewComponentModuleNode initModuleNode(
|
||||||
ComponentTemplateCompileUnit compileUnit,
|
ComponentTemplateCompileUnit compileUnit,
|
||||||
WebViewComponentSourceUnit sourceUnit,
|
WebViewComponentSourceUnit sourceUnit
|
||||||
TranspilerConfiguration configuration
|
|
||||||
) {
|
) {
|
||||||
final var moduleNode = new WebViewComponentModuleNode(sourceUnit);
|
final var moduleNode = new WebViewComponentModuleNode(sourceUnit);
|
||||||
sourceUnit.setModuleNode(moduleNode);
|
sourceUnit.setModuleNode(moduleNode);
|
||||||
@ -56,7 +46,6 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
|||||||
moduleNode.setPackageName(defaultPackageName);
|
moduleNode.setPackageName(defaultPackageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addAutomaticImports(moduleNode, configuration);
|
|
||||||
return moduleNode;
|
return moduleNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,12 +207,6 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
|||||||
CompilationUnitNode compilationUnitNode,
|
CompilationUnitNode compilationUnitNode,
|
||||||
String templateClassSimpleName
|
String templateClassSimpleName
|
||||||
) throws ComponentTemplateCompileException {
|
) throws ComponentTemplateCompileException {
|
||||||
// resolver, transpilerConfiguration, and positionSetter
|
|
||||||
final ClassLoaderComponentClassNodeResolver resolver = new ClassLoaderComponentClassNodeResolver(
|
|
||||||
compileUnit,
|
|
||||||
compilerConfiguration.getGroovyClassLoader()
|
|
||||||
);
|
|
||||||
final var transpilerConfiguration = this.getConfiguration(resolver);
|
|
||||||
// transpilerConfiguration, and positionSetter
|
// transpilerConfiguration, and positionSetter
|
||||||
final var transpilerConfiguration = this.getConfiguration();
|
final var transpilerConfiguration = this.getConfiguration();
|
||||||
final PositionSetter positionSetter = transpilerConfiguration.getPositionSetter();
|
final PositionSetter positionSetter = transpilerConfiguration.getPositionSetter();
|
||||||
@ -241,7 +224,7 @@ public class DefaultGroovyTranspiler implements GroovyTranspiler {
|
|||||||
|
|
||||||
// prepare moduleNode
|
// prepare moduleNode
|
||||||
final WebViewComponentModuleNode moduleNode = this.initModuleNode(
|
final WebViewComponentModuleNode moduleNode = this.initModuleNode(
|
||||||
compileUnit, sourceUnit, transpilerConfiguration
|
compileUnit, sourceUnit
|
||||||
);
|
);
|
||||||
|
|
||||||
// prepare mainClassNode
|
// 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.URISource;
|
||||||
import groowt.view.component.compiler.source.URLSource;
|
import groowt.view.component.compiler.source.URLSource;
|
||||||
import org.codehaus.groovy.control.CompilationUnit;
|
import org.codehaus.groovy.control.CompilationUnit;
|
||||||
|
import org.codehaus.groovy.control.CompilerConfiguration;
|
||||||
import org.codehaus.groovy.control.Janitor;
|
import org.codehaus.groovy.control.Janitor;
|
||||||
|
import org.codehaus.groovy.control.customizers.ImportCustomizer;
|
||||||
import org.codehaus.groovy.control.io.ReaderSource;
|
import org.codehaus.groovy.control.io.ReaderSource;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ -20,8 +22,20 @@ import java.net.URI;
|
|||||||
public class DefaultWebViewComponentTemplateCompileUnit extends AbstractComponentTemplateCompileUnit
|
public class DefaultWebViewComponentTemplateCompileUnit extends AbstractComponentTemplateCompileUnit
|
||||||
implements ReaderSource, WebViewComponentTemplateCompileUnit {
|
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 String defaultPackageName;
|
||||||
private final CompilationUnit groovyCompilationUnit = new CompilationUnit();
|
private final CompilationUnit groovyCompilationUnit;
|
||||||
|
|
||||||
public DefaultWebViewComponentTemplateCompileUnit(
|
public DefaultWebViewComponentTemplateCompileUnit(
|
||||||
String descriptiveName,
|
String descriptiveName,
|
||||||
@ -35,6 +49,7 @@ public class DefaultWebViewComponentTemplateCompileUnit extends AbstractComponen
|
|||||||
} else {
|
} else {
|
||||||
this.defaultPackageName = defaultPackageName;
|
this.defaultPackageName = defaultPackageName;
|
||||||
}
|
}
|
||||||
|
this.groovyCompilationUnit = getCompilationUnit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user