Commit 70e8b8e
committed
Fix IllegalArgumentException in getFolder() for ancestor resource dirs
When a resource <directory> resolves to an ancestor of the project
(e.g., from a child module, or
<directory>..</directory>), projectLocation.relativize(folderPath)
produces '..'. Then project.getFolder('..') normalizes to IPath '/',
triggering IllegalArgumentException: Path must include project and
resource name: /.
Add a guard to detect when the relativized path starts with '..' and
return the project, so the caller (addResourceDirs) skips the resource
directory. This follows the same pattern as the existing
workaround.
Fixes #1790
Signed-off-by: Changyong Gong <chagon@microsoft.com>1 parent 7e13152 commit 70e8b8e
2 files changed
Lines changed: 9 additions & 2 deletions
File tree
- org.eclipse.m2e.jdt
- META-INF
- src/org/eclipse/m2e/jdt/internal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1003 | 1003 | | |
1004 | 1004 | | |
1005 | 1005 | | |
1006 | | - | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
1007 | 1014 | | |
1008 | 1015 | | |
1009 | 1016 | | |
| |||
0 commit comments