Summary: | internal error in setting buildpath (name collsion) | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Adam Kiezun <akiezun> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P1 | ||
Version: | 2.0 | ||
Target Milestone: | 2.0 M1 | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: |
Description
Adam Kiezun
2001-11-15 05:21:23 EST
Reproducable scenario: 1. project P1: source folder src 2. project P2: library folder P1/src, required project P1 Tolerated by JavaConventions.validateClasspath, rejected by setClasspath 1. There is a classpath validation API: JavaConventions#validateClasspath 2. When using IJavaProject#setRawClasspath, it only performs a lightweight check of the new classpath, which however did catch a scenario missed by JavaConventions#validateClasspath. The offending scenario is a library folder nested inside a source folder. This should be forbidden, but the classpath validation did not find it. The proposed change is: a) Make the classpath validation code stricter (include a check for this scenario) b) Have IJavaProject#setRawClasspath run the full classpath validation check before accepting the classpath update. Any concern about this change ? Until getting more feedback, I left the #verifyClasspath in, and made the validation check stricter. Validation check is stricter and run whenever setting the classpath. Fixed |