Search in sources :

Example 36 with Delta

use of org.eclipse.xtext.resource.IResourceDescription.Delta in project xtext-eclipse by eclipse.

the class Bug486584Test method testFullBuildWhenClasspathChanged_2.

@Test
public void testFullBuildWhenClasspathChanged_2() throws CoreException, InterruptedException {
    IJavaProject project = setupProject();
    IFile libaryFile = copyAndGetXtendExampleJar(project);
    IClasspathEntry libraryEntry = JavaCore.newLibraryEntry(libaryFile.getFullPath(), null, null);
    addToClasspath(project, libraryEntry);
    build();
    assertFalse(getEvents().isEmpty());
    getEvents().clear();
    libaryFile.touch(null);
    libaryFile.refreshLocal(IResource.DEPTH_INFINITE, null);
    build();
    assertEquals(1, getEvents().size());
    Event singleEvent = getEvents().get(0);
    ImmutableList<Delta> deltas = singleEvent.getDeltas();
    assertEquals(1, deltas.size());
}
Also used : IJavaProject(org.eclipse.jdt.core.IJavaProject) IFile(org.eclipse.core.resources.IFile) IClasspathEntry(org.eclipse.jdt.core.IClasspathEntry) Delta(org.eclipse.xtext.resource.IResourceDescription.Delta) Event(org.eclipse.xtext.resource.IResourceDescription.Event) Test(org.junit.Test)

Example 37 with Delta

use of org.eclipse.xtext.resource.IResourceDescription.Delta in project xtext-eclipse by eclipse.

the class BuilderUtil method print.

public static String print(ImmutableList<Delta> deltas) {
    int i = 1;
    String buff = "Deltas : \n";
    for (Delta delta : deltas) {
        buff += "Delta " + i + "[" + delta.getUri() + "]: {\n";
        buff += " old : " + toString(delta.getOld()) + "\n";
        buff += " new : " + toString(delta.getNew()) + "\n";
        buff += "}\n\n";
        i++;
    }
    return buff;
}
Also used : Delta(org.eclipse.xtext.resource.IResourceDescription.Delta)

Example 38 with Delta

use of org.eclipse.xtext.resource.IResourceDescription.Delta in project applause by applause.

the class AbstractBuildStrategy method build.

public void build(IProgressMonitor monitor) throws CoreException {
    if (canBuildProject()) {
        final IFolder folder = getPlatformProject().getFolder(getGeneratedSourcesFolderName());
        // FIXME: maybe we should just create the folder if it's missing?!
        if (!folder.exists())
            return;
        List<EObject> objects = new ArrayList<EObject>();
        for (Delta d : context.getDeltas()) {
            if (d.getNew() != null) {
                for (IEObjectDescription desc : d.getNew().getExportedObjects()) {
                    EObject obj = context.getResourceSet().getEObject(desc.getEObjectURI(), true);
                    EcoreUtil2.resolveAll(context.getResourceSet());
                    objects.add(obj);
                }
            }
        }
        Iterable<Application> applicationObjects = Iterables.filter(objects, Application.class);
        if (!Iterables.isEmpty(applicationObjects)) {
            deletePreviouslyGeneratedFiles(monitor, folder);
        }
        for (Application app : applicationObjects) {
            OutputImpl output = new OutputImpl();
            Outlet outlet = createOutlet(folder);
            configureOutlet(outlet);
            output.addOutlet(outlet);
            // IFolder rootFolder = (IFolder) getPlatformProject().getAdapter(IFolder.class);
            // // IPath location = getPlatformProject().getFullPath();
            // // IFolder rootFolder = ResourcesPlugin.getWorkspace().getRoot().getFolder(location);
            // Outlet projectRootOutlet = createOutlet(rootFolder);
            // projectRootOutlet.setName("ROOT");
            // output.addOutlet(projectRootOutlet);
            generate(app, output);
            copyResources(app, getModelProject().getFolder("/Images"));
            getPlatformProject().build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);
            return;
        }
    }
}
Also used : Delta(org.eclipse.xtext.resource.IResourceDescription.Delta) EObject(org.eclipse.emf.ecore.EObject) ArrayList(java.util.ArrayList) Outlet(org.eclipse.xpand2.output.Outlet) Application(org.applause.lang.applauseDsl.Application) OutputImpl(org.eclipse.xpand2.output.OutputImpl) IFolder(org.eclipse.core.resources.IFolder) IEObjectDescription(org.eclipse.xtext.resource.IEObjectDescription)

Aggregations

Delta (org.eclipse.xtext.resource.IResourceDescription.Delta)38 URI (org.eclipse.emf.common.util.URI)22 IResourceDescription (org.eclipse.xtext.resource.IResourceDescription)17 SubMonitor (org.eclipse.core.runtime.SubMonitor)13 DefaultResourceDescriptionDelta (org.eclipse.xtext.resource.impl.DefaultResourceDescriptionDelta)10 OperationCanceledException (org.eclipse.core.runtime.OperationCanceledException)8 Resource (org.eclipse.emf.ecore.resource.Resource)8 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)7 IFile (org.eclipse.core.resources.IFile)5 IProject (org.eclipse.core.resources.IProject)5 IResourceDelta (org.eclipse.core.resources.IResourceDelta)5 WrappedException (org.eclipse.emf.common.util.WrappedException)4 IJavaProject (org.eclipse.jdt.core.IJavaProject)4 QualifiedName (org.eclipse.xtext.naming.QualifiedName)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3 CoreException (org.eclipse.core.runtime.CoreException)3 IClasspathEntry (org.eclipse.jdt.core.IClasspathEntry)3 LoadOperationException (org.eclipse.xtext.builder.resourceloader.IResourceLoader.LoadOperationException)3 IContainer (org.eclipse.xtext.resource.IContainer)3