Bug 14531 Unable to use JarPackager headless
Beginning with the 04/23 Integration build, I am unable to utilize the JarPackager in a headless environment. Specifically, I have defined my own Ant tasks which perform operations including jar packaging. The problem is in JarFileExportOperation.getDirtyEditors(Shell parent). Is it possible to accept null for parent and have the method just return an empty array?
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java
cfReader= org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.read(classFile.getLocation().toFile());
				} catch (org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException ex) {
					addWarning(JarPackagerMessages.getFormattedString("JarFileExportOperation.invalidClassFileFormat", classFile.getLocation().toFile()), ex); 
					continue;
				} catch (IOException ex) {
					addWarning(JarPackagerMessages.getFormattedString("JarFileExportOperation.ioErrorDuringClassFileLookup", classFile.getLocation().toFile()), ex); 
					continue;
				}
				if (cfReader != null) {
					if (cfReader.sourceFileName() == null) {
						/*
						 * Can't fully build the map because one or more
						 * class file does not contain the name of its 
						 * source file.
						 */
						addWarning(JarPackagerMessages.getFormattedString("JarFileExportOperation.classFileWithoutSourceFileAttribute", classFile.getLocation().toFile()), null); 
						return null;
					}
					String javaName= new String(cfReader.sourceFileName());
					Object classFiles= map.get(javaName);
					if (classFiles == null) {
						classFiles= new ArrayList(3);
						map.put(javaName, classFiles);
					}
					((ArrayList)classFiles).add(classFile);
				}
			}		
		}
		return map;
	}