Lines 551-567
Link Here
|
551 |
} |
551 |
} |
552 |
} |
552 |
} |
553 |
|
553 |
|
554 |
private void getProjectRelativePaths(IResource[] resource_list, List allProjectFiles, FilenameFilter filter) { |
554 |
private void getProjectRelativePaths(IResource[] resource_list, List allProjectFiles, FilenameFilter filter, int trimSegments) { |
555 |
try { |
555 |
try { |
556 |
for (int i = 0; i < resource_list.length; i++) { |
556 |
for (int i = 0; i < resource_list.length; i++) { |
557 |
IResource ir = resource_list[i]; |
557 |
IResource ir = resource_list[i]; |
558 |
if (ir instanceof IContainer) { |
558 |
if (ir instanceof IContainer) { |
559 |
getProjectRelativePaths(((IContainer) ir).members(), allProjectFiles, filter); |
559 |
getProjectRelativePaths(((IContainer) ir).members(), allProjectFiles, filter, trimSegments); |
560 |
} |
560 |
} |
561 |
else if (filter.accept(ir.getName())) { |
561 |
else if (filter.accept(ir.getName())) { |
562 |
String[] segments = ir.getProjectRelativePath().segments(); |
562 |
String[] segments = ir.getProjectRelativePath().segments(); |
563 |
String path = ""; |
563 |
String path = ""; |
564 |
for (int j = 1; j < segments.length; j++) { |
564 |
for (int j = trimSegments; j < segments.length; j++) { |
565 |
path += segments[j]; |
565 |
path += segments[j]; |
566 |
if (j < segments.length-1) path += '/'; // matches Eclipse's separator |
566 |
if (j < segments.length-1) path += '/'; // matches Eclipse's separator |
567 |
} |
567 |
} |
Lines 647-653
Link Here
|
647 |
List files = new ArrayList(); |
647 |
List files = new ArrayList(); |
648 |
sourcePath = sourcePath.removeFirstSegments(1); |
648 |
sourcePath = sourcePath.removeFirstSegments(1); |
649 |
IResource[] srcContainer = new IResource[] { project.findMember(sourcePath)}; |
649 |
IResource[] srcContainer = new IResource[] { project.findMember(sourcePath)}; |
650 |
getProjectRelativePaths(srcContainer, files, RESOURCE_FILTER); |
650 |
getProjectRelativePaths(srcContainer, files, RESOURCE_FILTER, srcContainer[0].getFullPath().segmentCount()-1); |
651 |
for (Iterator it = files.iterator(); it.hasNext(); ) { |
651 |
for (Iterator it = files.iterator(); it.hasNext(); ) { |
652 |
String relPath = (String)it.next(); |
652 |
String relPath = (String)it.next(); |
653 |
String fullPath = |
653 |
String fullPath = |