@@ -21,6 +21,7 @@ import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.TaskContainer;
import org.apache.tools.ant.TaskContainer;
import org.apache.tools.ant.util.StringUtils;
/**
/**
* Retries the nested task a set number of times
* Retries the nested task a set number of times
@@ -65,7 +66,6 @@ public class Retry extends Task implements TaskContainer {
*/
*/
public void execute() throws BuildException {
public void execute() throws BuildException {
StringBuffer errorMessages = new StringBuffer();
StringBuffer errorMessages = new StringBuffer();
String br = getProject().getProperty("line.separator");
for (int i = 0; i <= retryCount; i++) {
for (int i = 0; i <= retryCount; i++) {
try {
try {
nestedTask.perform();
nestedTask.perform();
@@ -76,13 +76,13 @@ public class Retry extends Task implements TaskContainer {
StringBuffer exceptionMessage = new StringBuffer();
StringBuffer exceptionMessage = new StringBuffer();
exceptionMessage.append("Task [").append(nestedTask.getTaskName());
exceptionMessage.append("Task [").append(nestedTask.getTaskName());
exceptionMessage.append("] failed after [").append(retryCount);
exceptionMessage.append("] failed after [").append(retryCount);
exceptionMessage.append("] attempts; giving up.").append(br );
exceptionMessage.append("Error messages:").append(br );
exceptionMessage.append("] attempts; giving up.").append(StringUtils.LINE_SEP );
exceptionMessage.append("Error messages:").append(StringUtils.LINE_SEP );
exceptionMessage.append(errorMessages);
exceptionMessage.append(errorMessages);
throw new BuildException(exceptionMessage.toString(), getLocation());
throw new BuildException(exceptionMessage.toString(), getLocation());
}
}
log("Attempt [" + i + "]: error occurred; retrying...", e, Project.MSG_INFO);
errorMessages.append(br );
log("Attempt [" + i + "]: error occurred; retrying...", e, Project.MSG_INFO);
errorMessages.append(StringUtils.LINE_SEP );
}
}
}
}
}
}