1 package org.apidesign.infra.ant;
4 import java.io.FileWriter;
5 import java.io.IOException;
7 import java.util.Map.Entry;
8 import org.apache.tools.ant.BuildException;
9 import org.apache.tools.ant.Task;
10 import org.apache.tools.ant.types.FileSet;
11 import org.apache.tools.ant.types.FilterSet;
12 import org.apache.tools.ant.util.FileUtils;
13 import org.openide.util.Exceptions;
15 public class GrepCopy extends Task {
16 private GrepFilter filter = new GrepFilter();
22 public FileSet createFileSet() {
23 return filter.createFileSet();
26 public void setTarget(File dir) {
31 public void execute() throws BuildException {
32 filter.setProject(getProject());
34 FilterSet set = filter.createFilterSet();
36 for (Object object : set.getFilterHash().entrySet()) {
40 Entry en = (Entry) object;
41 File to = new File(dir, (String) en.getKey());
42 to.getParentFile().mkdirs();
43 w = new FileWriter(to);
44 w.write((String) en.getValue());
46 } catch (IOException ex) {
47 throw new BuildException(ex);