use of org.eclipse.n4js.ui.building.instructions.BuildInstruction in project n4js by eclipse.
the class N4JSBuilderParticipant method prepareBuild.
/**
* Intentionally package visible producer for the {@link IBuildParticipantInstruction}.
*
* @param project
* the currently build project
* @param buildType
* the current build type
* @return a StatefulBuilderParticipant. Never <code>null</code>.
*/
IBuildParticipantInstruction prepareBuild(IProject project, IXtextBuilderParticipant.BuildType buildType) throws CoreException {
if (!isEnabled(project)) {
return IBuildParticipantInstruction.NOOP;
}
EclipseResourceFileSystemAccess2 access = fileSystemAccessProvider.get();
access.setProject(project);
final Map<String, OutputConfiguration> outputConfigurations = getOutputConfigurations(project);
refreshOutputFolders(project, outputConfigurations, null);
access.setOutputConfigurations(outputConfigurations);
if (buildType == BuildType.CLEAN || buildType == BuildType.RECOVERY) {
IBuildParticipantInstruction clean = new CleanInstruction(project, outputConfigurations, getDerivedResourceMarkers());
if (buildType == BuildType.RECOVERY) {
clean.finish(Collections.<Delta>emptyList(), null);
} else {
return clean;
}
}
Map<OutputConfiguration, Iterable<IMarker>> generatorMarkers = getGeneratorMarkers(project, outputConfigurations.values());
BuildInstruction buildInstruction = new BuildInstruction(project, outputConfigurations, getDerivedResourceMarkers(), access, generatorMarkers, storage2UriMapper, compositeGenerator, injector);
return buildInstruction;
}
Aggregations