ventana - interfaz grafica en java netbeans
cómo crear un oyente para una tarea específica (1)
retocada taskFinished () ... Bien por mi uso.
public class JavacListener implements BuildListener
public void taskFinished(BuildEvent be) {
if ( be.getTask() instanceof UnknownElement ) {
UnknownElement ue= (UnknownElement) be.getTask();
ue.maybeConfigure();
if ( ue.getTask() instanceof Javac ) {
Javac task = (Javac)ue.getTask();
final Path sourcepath = task.getSrcdir();
FindBugsTask fbtask = new FindBugsTask();
System.out.println ("Trying FindBugs");
fbtask.setSourcePath(sourcepath);
fbtask.setAuxClasspath(task.getClasspath());
Path destPath = new Path( task.getProject() );
destPath.setPath(task.getDestdir().getAbsolutePath());
fbtask.setAuxAnalyzepath(destPath);
fbtask.setOutputFile(getFileName(task.getProject()));
fbtask.setProject(task.getProject());
fbtask.setHome(new File("C://apps//findbugs-1.3.0"));
fbtask.execute();
}
} else {
System.out.println(be.getTask().getClass().getName());
System.out.println(be.getTask().getTaskName());
}
}
..
Tenemos alrededor de 80 jarras en nuestras aplicaciones. Todos se crean usando la tarea javac y la tarea jar en hormiga.
Me gustaría presentar los controles de Findbug. Una opción era crear un solo proyecto de búsqueda de findbug. Esto tiene todas las jarras, todas las rutas de origen definidas en ella. Esto funciona, requiere mucho espacio. El análisis del resultado tampoco es muy directo. Hay miles de advertencias para comenzar.
Una opción que estoy considerando es ejecutar una hormiga con un oyente especial en la tarea javac, extraer la fuente y la ubicación de la clase, llamar a la tarea findbug con la información del archivo fuente y clase. De cualquier otra forma, introduce findbug a un gran proyecto.