У меня есть <path id="...">
в моем build.xml
. Перед вызовом компилятора я хочу проверить, что каждый каталог jar/pathpath существует и печатать предупреждение с отсутствующими. Кто-нибудь знает существующее решение или мне нужно написать свою собственную задачу для этого?Проверка пути в муравейнике
ОК, я решил пойти на заказ. Здесь, в случае, если кто-нибудь когда-либо нуждается в такую вещь:
import java.io.File;
import java.util.Iterator;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.Reference;
import org.apache.tools.ant.types.ResourceCollection;
import org.apache.tools.ant.types.resources.Resources;
public class CheckClasspathTask extends Task {
private Reference reference;
public CheckClasspathTask() {
}
public void setRefId(Reference reference) {
this.reference = reference;
}
public void execute() throws BuildException {
Resources resources = new Resources();
resources.setProject(getProject());
resources.add((ResourceCollection) reference.getReferencedObject());
boolean isFirst = true;
for (Iterator i = resources.iterator(); i.hasNext();) {
String f = i.next().toString();
if (!new File(f).exists()) {
if (isFirst) {
isFirst = false;
System.out.println("WARNING: The following entries on your classpath do not exist:");
}
System.out.println(f);
}
}
}
}
Я, кажется, помню, что прохождение объекта пути к пользовательской задаче легко. Я предполагаю, что это то, что вы имели в виду под «передачей списка каталогов»? – araqnid
@araqnid да, вот что я имел в виду – VonC