Bug 37197 Basepath for relative pathes in JAR-exporter
The basepath for the JAR-exporter is the eclipse-install-directory. I prefer it to be the root of the project (the description is saved in), so that relative pathes end inside the project. Now: <jardesc> <jar path="workspace/projectdir/jar.jar"/> Desired: <jardesc> <jar path="jar.jar"/> Reason: To make the jardesc-files portable for shared projects
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/jarpackager/JarFileExportOperation.java
ByteArrayOutputStream manifestOutput= new ByteArrayOutputStream();
		ByteArrayInputStream fileInput= null;
		try {
			Manifest manifest= fJarPackage.getManifestProvider().create(fJarPackage);
			manifest.write(manifestOutput);
			fileInput= new ByteArrayInputStream(manifestOutput.toByteArray());
			IFile manifestFile= fJarPackage.getManifestFile();
			if (manifestFile.isAccessible()) {
				if (fJarPackage.allowOverwrite() || JarPackagerUtil.askForOverwritePermission(fParentShell, manifestFile.getFullPath().toString()))
					manifestFile.setContents(fileInput, true, true, null);
			} else
				manifestFile.create(fileInput, true, null);
		} finally {
			if (manifestOutput != null)
				manifestOutput.close();
			if (fileInput != null)
				fileInput.close();
		}
	}
	
	private boolean isAutoBuilding() {
		return ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
	}
	private boolean isCompilerGeneratingSourceFileAttribute() {
		Object value= JavaCore.getOptions().get(JavaCore.COMPILER_SOURCE_FILE_ATTR);
		if (value instanceof String)
			return "generate".equalsIgnoreCase((String)value); 
		else
			return true; 
	}