| Summary: | Incorrect chopping of weird paths in option value like ${workspace_loc:/proj}/path | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | James Blackburn <jamesblackburn+eclipse> | ||||
| Component: | cdt-build-managed | Assignee: | James Blackburn <jamesblackburn+eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Chris Recoskie <recoskie> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 7.0 | ||||||
| Target Milestone: | 7.0.1 | ||||||
| Hardware: | PC | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Committed to 7.0.1 + HEAD *** cdt cvs genie on behalf of jblackburn *** [*] ManagedBuildManager.java 1.134 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java?root=Tools_Project&r1=1.133&r2=1.134 [*] ManagedBuildManager.java 1.133.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java?root=Tools_Project&r1=1.133&r2=1.133.2.1 |
Created attachment 173309 [details] fix 1 The paths contributed back from MBS are badly chopped if they're strangely constructed by the user. The result is failure (/loss) at some arbitrary point in the future. 1) Create HelloWorld Proejct 2) Project Properties > C/C++ Build / Settings > Includes 3) Add > Workspace > select: helloworld > Ok > Ok 4) Add > Workspace > select: helloworld/src > Ok > Ok 5) Change "${workspace_loc:/${ProjName}/src}" to "${workspace_loc:/${ProjName}}/src" Look in C/C++ General > Paths and Symbols, only ${ProjName} has been exported by the MBS. In fact, due to string chopping, the two paths have collided. Trivial patch attached. In the future we should look again at why we transform paths in this way before passing them to cdt.core rather than let all this translation happen magically in ICSettingEntry.