|
|
@@ -19,6 +19,7 @@ package org.apache.tools.ant.types.resources; |
|
|
|
|
|
|
|
import java.io.BufferedInputStream; |
|
|
|
import java.io.BufferedReader; |
|
|
|
import java.io.File; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStreamReader; |
|
|
|
import java.io.Reader; |
|
|
@@ -49,6 +50,7 @@ public class ResourceList extends DataType implements ResourceCollection { |
|
|
|
private final Union cachedResources = new Union(); |
|
|
|
private volatile boolean cached = false; |
|
|
|
private String encoding = null; |
|
|
|
private File baseDir; |
|
|
|
|
|
|
|
public ResourceList() { |
|
|
|
cachedResources.setCache(true); |
|
|
@@ -99,6 +101,21 @@ public class ResourceList extends DataType implements ResourceCollection { |
|
|
|
this.encoding = encoding; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Basedir to use for file resources read from nested resources - |
|
|
|
* this allows the resources contained inside this collection to |
|
|
|
* be considered relative to a certain base directory. |
|
|
|
* |
|
|
|
* @param basedir the basedir |
|
|
|
* @since Ant 1.9.12 |
|
|
|
*/ |
|
|
|
public final void setBasedir(File baseDir) { |
|
|
|
if (isReference()) { |
|
|
|
throw tooManyAttributes(); |
|
|
|
} |
|
|
|
this.baseDir = baseDir; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Makes this instance in effect a reference to another ResourceList |
|
|
|
* instance. |
|
|
@@ -250,6 +267,11 @@ public class ResourceList extends DataType implements ResourceCollection { |
|
|
|
// resource |
|
|
|
} |
|
|
|
} |
|
|
|
if (baseDir != null) { |
|
|
|
FileResource fr = new FileResource(baseDir, expandedLine); |
|
|
|
fr.setProject(getProject()); |
|
|
|
return fr; |
|
|
|
} |
|
|
|
return new FileResource(getProject(), expandedLine); |
|
|
|
} |
|
|
|
} |