Browse Source

Add error reporting to copyfile and copydir.

Thanks to Diane Holt <holtdl@yahoo.com> for pointing that out.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267978 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 25 years ago
parent
commit
5c185694a7
2 changed files with 25 additions and 8 deletions
  1. +8
    -4
      src/main/org/apache/tools/ant/taskdefs/Copydir.java
  2. +17
    -4
      src/main/org/apache/tools/ant/taskdefs/Copyfile.java

+ 8
- 4
src/main/org/apache/tools/ant/taskdefs/Copydir.java View File

@@ -74,12 +74,12 @@ public class Copydir extends MatchingTask {
private boolean forceOverwrite = false;
private Hashtable filecopyList = new Hashtable();

public void setSrc(String src) {
srcDir = project.resolveFile(src);
public void setSrc(File src) {
srcDir = src;
}

public void setDest(String dest) {
destDir = project.resolveFile(dest);
public void setDest(File dest) {
destDir = dest;
}

public void setFiltering(String filter) {
@@ -105,6 +105,10 @@ public class Copydir extends MatchingTask {
+" does not exist!", location);
}

if (destDir == null) {
throw new BuildException("The dest attribute must be set.", location);
}

DirectoryScanner ds = super.getDirectoryScanner(srcDir);

String[] files = ds.getIncludedFiles();


+ 17
- 4
src/main/org/apache/tools/ant/taskdefs/Copyfile.java View File

@@ -72,16 +72,16 @@ public class Copyfile extends Task {
private boolean filtering = false;
private boolean forceOverwrite = false;
public void setSrc(String src) {
srcFile = project.resolveFile(src);
public void setSrc(File src) {
srcFile = src;
}

public void setForceoverwrite(String force) {
forceOverwrite = Project.toBoolean(force);
}

public void setDest(String dest) {
destFile = project.resolveFile(dest);
public void setDest(File dest) {
destFile = dest;
}

public void setFiltering(String filter) {
@@ -89,6 +89,19 @@ public class Copyfile extends Task {
}

public void execute() throws BuildException {
if (srcFile == null) {
throw new BuildException("The src attribute must be present.", location);
}
if (!srcFile.exists()) {
throw new BuildException("src " + srcFile.toString()
+ " does not exist.", location);
}

if (destFile == null) {
throw new BuildException("The dest attribute must be present.", location);
}
if (forceOverwrite || srcFile.lastModified() > destFile.lastModified()) {
try {
project.copyFile(srcFile, destFile, filtering, forceOverwrite);


Loading…
Cancel
Save