use of org.eclipse.xtext.maven.MavenLog4JConfigurator in project xtext-maven by eclipse.
the class AbstractInstallDebugInfoMojo method execute.
@Override
public void execute() throws MojoExecutionException {
synchronized (lock) {
new MavenLog4JConfigurator().configureLog4j(getLog());
Injector injector = Guice.createInjector(new MavenStandaloneBuilderModule());
injector.injectMembers(this);
for (Language language : getLanguages()) {
Set<OutputConfiguration> outputConfigurations = language.getOutputConfigurations();
if (outputConfigurations == null) {
getLog().warn("No output configurations available for language " + language.getSetup() + ", assuming default layout and using SMAP trace.");
outputConfigurations = new OutputConfigurationProvider().getOutputConfigurations();
}
try {
Class<?> setup = getClass().getClassLoader().loadClass(language.getSetup());
ISetup languageSetup = (ISetup) setup.getDeclaredConstructor().newInstance();
Injector languageInjector = languageSetup.createInjectorAndDoEMFRegistration();
FileExtensionProvider fileExtensionProvider = languageInjector.getInstance(FileExtensionProvider.class);
TraceFileNameProvider traceFileNameProvider = languageInjector.getInstance(TraceFileNameProvider.class);
for (OutputConfiguration config : outputConfigurations) {
ITraceToBytecodeInstaller traceInstaller = getTraceInstaller(config);
List<Trace> traces = createTraceInformation(getOutputDirectories(config), traceFileNameProvider);
installTraces(fileExtensionProvider.getFileExtensions(), traceInstaller, traces, traceFileNameProvider);
}
} catch (Exception e) {
throw new MojoExecutionException("Failed to install traces for " + language.getSetup(), e);
}
}
}
}
Aggregations