buildLogger.setMessageOutputLevel(debug ? Project.MSG_DEBUG : Project.MSG_INFO);
buildLogger.setOutputPrintStream(getContext().out);
buildLogger.setErrorPrintStream(getContext().err);
antProject.addBuildListener(buildLogger);
antProject.setBasedir(ProjectUtils.getPath(project));
Javadoc javadoc = new Javadoc();
javadoc.setTaskName("javadoc");
javadoc.setProject(antProject);
javadoc.setDestdir(new File(ProjectUtils.getFilePath(project, dest)));
if (packageNames != null && !packageNames.trim().equals(StringUtils.EMPTY)){
javadoc.setPackagenames(packageNames);
}
// construct classpath
Path classpath = new Path(antProject);
String[] paths = ClasspathUtils.getClasspath(javaProject);
for (String path : paths){
Path.PathElement pe = classpath.createPathElement();
pe.setPath(path);
}
javadoc.setClasspath(classpath);
if (files == null){
// construct sourcepath
String sourcepath =
getPreferences().getValue(project, "org.eclim.java.doc.sourcepath");
if (sourcepath != null && !sourcepath.trim().equals(StringUtils.EMPTY)){
paths = StringUtils.split(sourcepath, " ");
}else{
paths = ClasspathUtils.getSrcPaths(javaProject);
}
for (String path : paths){
FileSet fileset = new FileSet();
fileset.setProject(antProject);
fileset.setDir(new File(ProjectUtils.getFilePath(project, path)));
fileset.setIncludes("**/*.java");
javadoc.addFileset(fileset);
}
}else{
paths = StringUtils.split(files);
for (String path : paths){
javadoc.addSource(
new Javadoc.SourceFile(
new File(ProjectUtils.getFilePath(project, path))));
}
}
javadoc.execute();
return null;
}