示例#1
0
 /** @since 2.3 */
 protected List<IResourceDescription.Delta> getRelevantDeltas(IBuildContext context) {
   List<IResourceDescription.Delta> result = newArrayList();
   for (IResourceDescription.Delta delta : context.getDeltas()) {
     if (resourceServiceProvider.canHandle(delta.getUri())) result.add(delta);
   }
   return result;
 }
示例#2
0
 /** @since 2.3 */
 protected List<IResourceDescription.Delta> getRelevantDeltas(IBuildContext context) {
   List<IResourceDescription.Delta> result = newArrayList();
   for (IResourceDescription.Delta delta : context.getDeltas()) {
     if (resourceServiceProvider.canHandle(delta.getUri())
         && (resourceServiceProvider instanceof IResourceServiceProviderExtension)
         && !((IResourceServiceProviderExtension) resourceServiceProvider)
             .isReadOnly(delta.getUri())) {
       result.add(delta);
     }
   }
   return result;
 }
  @Override
  public void build(IBuildContext context, IProgressMonitor monitor) throws CoreException {
    if (!context.getBuiltProject().hasNature(KarelNature.NATURE_ID)) return;

    for (Delta delta : context.getDeltas()) {
      IResourceDescription newRes = delta.getNew();
      if (newRes == null) continue;

      try {
        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
        URI uri = CommonPlugin.resolve(newRes.getURI());
        if (!uri.isFile()) continue;
        IPath path = new Path(uri.toFileString());
        IFile file = workspaceRoot.getFileForLocation(path);
        if (file == null) continue;
        generate(context.getBuiltProject(), file, monitor);
      } catch (Exception e) {
        IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
        Activator.getDefault().getLog().log(status);
      }
    }

    context.getResourceSet();
  }