View | Details | Raw Unified | Return to bug 65637
Collapse All | Expand All

(-)model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java (-12 / +11 lines)
Lines 246-265 Link Here
246
			switch(member.getType()) {
246
			switch(member.getType()) {
247
			    
247
			    
248
			    case IResource.FOLDER:
248
			    case IResource.FOLDER:
249
			        // recurse into sub folders even even parent not included as a sub folder could be included
250
			        // (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=65637)
249
					if (Util.isValidFolderNameForPackage(memberName)) {
251
					if (Util.isValidFolderNameForPackage(memberName)) {
250
					    boolean isMemberIncluded = !Util.isExcluded(member, inclusionPatterns, exclusionPatterns);
252
						// eliminate binary output only if nested inside direct subfolders
251
						// keep looking inside as long as included already, or may have child included due to inclusion patterns
253
						if (javaProject.contains(member)) {
252
					    if (isMemberIncluded || inclusionPatterns != null) { 
254
							String newPrefix;
253
							// eliminate binary output only if nested inside direct subfolders
255
							if (prefix.length() == 0) {
254
							if (javaProject.contains(member)) {
256
								newPrefix = memberName;
255
								String newPrefix;
257
							} else {
256
								if (prefix.length() == 0) {
258
								newPrefix = prefix + "." + memberName; //$NON-NLS-1$
257
									newPrefix = memberName;
258
								} else {
259
									newPrefix = prefix + "." + memberName; //$NON-NLS-1$
260
								}
261
								computeFolderChildren((IFolder) member, isMemberIncluded, newPrefix, vChildren, inclusionPatterns, exclusionPatterns);
262
							}
259
							}
260
						    boolean isMemberIncluded = !Util.isExcluded(member, inclusionPatterns, exclusionPatterns);
261
							computeFolderChildren((IFolder) member, isMemberIncluded, newPrefix, vChildren, inclusionPatterns, exclusionPatterns);
263
						}
262
						}
264
					}
263
					}
265
			    	break;
264
			    	break;

Return to bug 65637