use of org.eclipse.xtext.builder.EclipseOutputConfigurationProvider in project xtext-eclipse by eclipse.
the class DebugSourceInstallingCompilationParticipant method findOutputConfiguration.
protected OutputConfiguration findOutputConfiguration(SourceRelativeURI dslSourceFile, IFile generatedJavaFile) {
IResourceServiceProvider serviceProvider = serviceProviderRegistry.getResourceServiceProvider(dslSourceFile.getURI());
if (serviceProvider == null)
return null;
EclipseOutputConfigurationProvider cfgProvider = serviceProvider.get(EclipseOutputConfigurationProvider.class);
IProject project = generatedJavaFile.getProject();
Set<OutputConfiguration> configurations = cfgProvider.getOutputConfigurations(project);
if (!configurations.isEmpty()) {
if (configurations.size() == 1)
return configurations.iterator().next();
for (OutputConfiguration out : configurations) {
for (String source : out.getSourceFolders()) {
IContainer container = ResourceUtil.getContainer(project, out.getOutputDirectory(source));
if (container != null && container.getFullPath().isPrefixOf(generatedJavaFile.getFullPath()))
return out;
}
}
}
log.error("Could not find output configuration for file " + generatedJavaFile.getFullPath());
return null;
}
Aggregations