java/ant/src/org/apidesign/infra/ant/GrepCopy.java
changeset 274 e1a7420cea38
parent 271 a1c057f1f756
     1.1 --- a/java/ant/src/org/apidesign/infra/ant/GrepCopy.java	Sun Jul 06 00:31:01 2008 +0200
     1.2 +++ b/java/ant/src/org/apidesign/infra/ant/GrepCopy.java	Sun Aug 17 17:15:52 2008 +0200
     1.3 @@ -3,6 +3,7 @@
     1.4  import java.io.File;
     1.5  import java.io.FileWriter;
     1.6  import java.io.IOException;
     1.7 +import java.net.URL;
     1.8  import java.util.Map.Entry;
     1.9  import org.apache.tools.ant.BuildException;
    1.10  import org.apache.tools.ant.Task;
    1.11 @@ -12,6 +13,7 @@
    1.12  public class GrepCopy extends Task {
    1.13      private GrepFilter filter = new GrepFilter();
    1.14      private File dir;
    1.15 +    private URL url;
    1.16      
    1.17      public GrepCopy() {
    1.18      }
    1.19 @@ -23,6 +25,10 @@
    1.20      public void setTarget(File dir) {
    1.21          this.dir = dir;
    1.22      }
    1.23 +    
    1.24 +    public void setBaseURL(URL url) {
    1.25 +        this.url = url;
    1.26 +    }
    1.27  
    1.28      @Override
    1.29      public void execute() throws BuildException {
    1.30 @@ -35,11 +41,24 @@
    1.31              FileWriter w = null;
    1.32              try {
    1.33                  Entry en = (Entry) object;
    1.34 -                File to = new File(dir, (String) en.getKey());
    1.35 -                to.getParentFile().mkdirs();
    1.36 -                w = new FileWriter(to);
    1.37 -                w.write((String) en.getValue());
    1.38 -                w.close();
    1.39 +                String key = (String)en.getKey();
    1.40 +                {
    1.41 +                    File to = new File(dir, key);
    1.42 +                    to.getParentFile().mkdirs();
    1.43 +                    w = new FileWriter(to);
    1.44 +                    w.write((String) en.getValue());
    1.45 +                    w.close();
    1.46 +                }
    1.47 +                
    1.48 +                if (url != null) {
    1.49 +                    URL u = filter.getPath(url, key);
    1.50 +                    File to = new File(dir, key + ".url");
    1.51 +                    to.getParentFile().mkdirs();
    1.52 +                    w = new FileWriter(to);
    1.53 +                    w.write(u.toExternalForm());
    1.54 +                    w.close();
    1.55 +                }
    1.56 +                
    1.57              } catch (IOException ex) {
    1.58                  throw new BuildException(ex);
    1.59              }