public IJavaProject createJavaProjectFromJavacNode(String projectName, Javac javacTask, IProgressMonitor monitor) throws CoreException {
try {
IJavaProject javaProject = createJavaProject(projectName, monitor);
File destDir = javacTask.getDestdir();
String destDirName = destDir == null ? null : destDir.getName();
org.apache.tools.ant.types.Path sourceDirs = javacTask.getSrcdir();
createSourceDirectories(destDir, destDirName, sourceDirs, javaProject, monitor);
addVariableEntry(javaProject, new Path(JavaRuntime.JRELIB_VARIABLE), new Path(JavaRuntime.JRESRC_VARIABLE), new Path(JavaRuntime.JRESRCROOT_VARIABLE), monitor);
setClasspath(javacTask, javaProject, monitor);
javaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
return javaProject;
}
catch (BuildException be) {
IStatus status = new Status(IStatus.ERROR, AntUIPlugin.PI_ANTUI, IStatus.OK, be.getLocalizedMessage(), be);
throw new CoreException(status);
}
}