示例#1
0
 public void run(IProgressMonitor monitor) throws CoreException {
   Iterator outputs = work.keySet().iterator();
   while (outputs.hasNext()) {
     IFile output = (IFile) outputs.next();
     Buildlet buildlet = (Buildlet) work.get(output);
     System.out.println("CIMBuilder: building: " + output.getName());
     buildlet.run(output, cleanup, monitor);
   }
 }
示例#2
0
    private void collect(IResource resource) throws CoreException {
      rebuild = rebuild || Info.isSchema(resource);

      for (int ix = 0; ix < buildlets.length; ix++) {
        Buildlet buildlet = buildlets[ix];
        Iterator outputs = buildlet.getOutputs(resource).iterator();
        while (outputs.hasNext()) {
          IFile output = (IFile) outputs.next();
          if (work.remove(output) != null)
            System.out.println(
                "CIMBuilder: push down in build order: "
                    + output.getName()); // push output down in the build order
          else System.out.println("CIMBuilder: adding to build: " + output.getName());
          work.put(output, buildlet);
          collect(output); // not efficient since we might encounter an output many times
        }
      }
    }