View | Details | Raw Unified | Return to bug 143025 | Differences between
and this patch

Collapse All | Expand All

(-)ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathsBlock.java (-2 / +2 lines)
Lines 763-769 Link Here
763
			//create and set the output path first
763
			//create and set the output path first
764
			if (!fWorkspaceRoot.exists(outputLocation)) {
764
			if (!fWorkspaceRoot.exists(outputLocation)) {
765
				IFolder folder= fWorkspaceRoot.getFolder(outputLocation);
765
				IFolder folder= fWorkspaceRoot.getFolder(outputLocation);
766
				CoreUtility.createFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
766
				CoreUtility.createDerivedFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
767
				folder.setDerived(true);		
767
				folder.setDerived(true);		
768
			} else {
768
			} else {
769
				monitor.worked(1);
769
				monitor.worked(1);
Lines 794-800 Link Here
794
					IPath folderOutput= (IPath) entry.getAttribute(CPListElement.OUTPUT);
794
					IPath folderOutput= (IPath) entry.getAttribute(CPListElement.OUTPUT);
795
					if (folderOutput != null && folderOutput.segmentCount() > 1) {
795
					if (folderOutput != null && folderOutput.segmentCount() > 1) {
796
						IFolder folder= fWorkspaceRoot.getFolder(folderOutput);
796
						IFolder folder= fWorkspaceRoot.getFolder(folderOutput);
797
						CoreUtility.createFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
797
						CoreUtility.createDerivedFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
798
					} else {
798
					} else {
799
						monitor.worked(1);
799
						monitor.worked(1);
800
					}
800
					}
(-)ui/org/eclipse/jdt/internal/ui/wizards/JavaProjectWizardSecondPage.java (-1 / +1 lines)
Lines 206-212 Link Here
206
				
206
				
207
				if (binPath.segmentCount() > 0 && !binPath.equals(srcPath)) {
207
				if (binPath.segmentCount() > 0 && !binPath.equals(srcPath)) {
208
					IFolder folder= fCurrProject.getFolder(binPath);
208
					IFolder folder= fCurrProject.getFolder(binPath);
209
					CoreUtility.createFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
209
					CoreUtility.createDerivedFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
210
				} else {
210
				} else {
211
					monitor.worked(1);
211
					monitor.worked(1);
212
				}
212
				}
(-)ui/org/eclipse/jdt/internal/ui/util/CoreUtility.java (-1 / +10 lines)
Lines 23-28 Link Here
23
import org.eclipse.core.resources.IContainer;
23
import org.eclipse.core.resources.IContainer;
24
import org.eclipse.core.resources.IFolder;
24
import org.eclipse.core.resources.IFolder;
25
import org.eclipse.core.resources.IProject;
25
import org.eclipse.core.resources.IProject;
26
import org.eclipse.core.resources.IResource;
26
import org.eclipse.core.resources.IWorkspace;
27
import org.eclipse.core.resources.IWorkspace;
27
import org.eclipse.core.resources.IWorkspaceDescription;
28
import org.eclipse.core.resources.IWorkspaceDescription;
28
import org.eclipse.core.resources.IncrementalProjectBuilder;
29
import org.eclipse.core.resources.IncrementalProjectBuilder;
Lines 40-46 Link Here
40
41
41
public class CoreUtility {
42
public class CoreUtility {
42
	
43
	
43
44
	public static void createDerivedFolder(IFolder folder, boolean force, boolean local, IProgressMonitor monitor) throws CoreException {
45
		if (!folder.exists()) {
46
			IContainer parent= folder.getParent();
47
			if (parent instanceof IFolder) {
48
				createDerivedFolder((IFolder)parent, force, local, null);
49
			}
50
			folder.create(force ? (IResource.FORCE | IResource.DERIVED) : IResource.DERIVED, local, monitor);
51
		}
52
	}
44
53
45
	/**
54
	/**
46
	 * Creates a folder and all parent folders if not existing.
55
	 * Creates a folder and all parent folders if not existing.

Return to bug 143025