Search in sources :

Example 1 with LanguageAccess

use of org.eclipse.xtext.builder.standalone.LanguageAccess in project xtext-maven by eclipse.

the class XtextGenerator method internalExecute.

protected void internalExecute() throws MojoExecutionException, MojoFailureException {
    Map<String, LanguageAccess> languages = new LanguageAccessFactory().createLanguageAccess(getLanguages(), this.getClass().getClassLoader());
    Injector injector = Guice.createInjector(new MavenStandaloneBuilderModule());
    StandaloneBuilder builder = injector.getInstance(StandaloneBuilder.class);
    builder.setBaseDir(project.getBasedir().getAbsolutePath());
    builder.setLanguages(languages);
    builder.setEncoding(encoding);
    builder.setClassPathEntries(getClasspathElements());
    builder.setClassPathLookUpFilter(classPathLookupFilter);
    builder.setSourceDirs(sourceRoots);
    builder.setJavaSourceDirs(javaSourceRoots);
    builder.setFailOnValidationError(failOnValidationError);
    builder.setTempDir(createTempDir().getAbsolutePath());
    builder.setDebugLog(getLog().isDebugEnabled());
    if (clusteringConfig != null)
        builder.setClusteringConfig(clusteringConfig.convertToStandaloneConfig());
    configureCompiler(builder.getCompiler());
    logState();
    boolean errorDetected = !builder.launch();
    if (errorDetected && failOnValidationError) {
        throw new MojoExecutionException("Execution failed due to a severe validation error.");
    }
}
Also used : LanguageAccessFactory(org.eclipse.xtext.builder.standalone.LanguageAccessFactory) StandaloneBuilder(org.eclipse.xtext.builder.standalone.StandaloneBuilder) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) Injector(com.google.inject.Injector) LanguageAccess(org.eclipse.xtext.builder.standalone.LanguageAccess)

Example 2 with LanguageAccess

use of org.eclipse.xtext.builder.standalone.LanguageAccess in project xtext-maven by eclipse.

the class AbstractXtextGeneratorMojo method internalExecute.

protected void internalExecute() throws MojoExecutionException {
    if (addOutputDirectoriesToCompileSourceRoots) {
        configureMavenOutputs();
    }
    Map<String, LanguageAccess> languages = new LanguageAccessFactory().createLanguageAccess(getLanguages(), this.getClass().getClassLoader());
    Injector injector = Guice.createInjector(new MavenStandaloneBuilderModule());
    StandaloneBuilder builder = injector.getInstance(StandaloneBuilder.class);
    builder.setBaseDir(getProject().getBasedir().getAbsolutePath());
    builder.setLanguages(languages);
    builder.setEncoding(getEncoding());
    builder.setClassPathEntries(getClasspathElements());
    builder.setClassPathLookUpFilter(classPathLookupFilter);
    builder.setSourceDirs(getSourceRoots());
    builder.setJavaSourceDirs(javaSourceRoots);
    builder.setFailOnValidationError(failOnValidationError);
    builder.setTempDir(createTempDir().getAbsolutePath());
    builder.setDebugLog(getLog().isDebugEnabled());
    if (clusteringConfig != null)
        builder.setClusteringConfig(clusteringConfig.convertToStandaloneConfig());
    configureCompiler(builder.getCompiler());
    logState();
    boolean errorDetected = !builder.launch();
    if (errorDetected && failOnValidationError) {
        throw new MojoExecutionException("Execution failed due to a severe validation error.");
    }
}
Also used : LanguageAccessFactory(org.eclipse.xtext.builder.standalone.LanguageAccessFactory) StandaloneBuilder(org.eclipse.xtext.builder.standalone.StandaloneBuilder) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) Injector(com.google.inject.Injector) LanguageAccess(org.eclipse.xtext.builder.standalone.LanguageAccess)

Aggregations

Injector (com.google.inject.Injector)2 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)2 LanguageAccess (org.eclipse.xtext.builder.standalone.LanguageAccess)2 LanguageAccessFactory (org.eclipse.xtext.builder.standalone.LanguageAccessFactory)2 StandaloneBuilder (org.eclipse.xtext.builder.standalone.StandaloneBuilder)2