Bug 212208 - Integrate Eclipse path variables and make them relative to workspace location
Summary: Integrate Eclipse path variables and make them relative to workspace location
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.3.1   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: JDT-Debug-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-06 17:02 EST by Mi Amidot CLA
Modified: 2008-05-02 12:24 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mi Amidot CLA 2007-12-06 17:02:41 EST
Build ID: M20071023-1652

This is an expansion of issue# 70417.

I request an integration of the following.
- external tools variables
- classpath variables
- linked resources variables.

There should be one single variable basis in eclipse used (as well as completely usable for substitution) throughout all of the eclipse IDE.

It is very annoying when I could refer to ${workspace_loc:whatever-path} at external tools and then when I try to define classpath variables with ${workspace_loc:blah}, eclipse ide is non-responsive (rather, it is responsive with error msg). They should also share the same format - rather than ${var:xxx} in one place and then $var/xxx in another.

According to Eclipse help on Linked Resources Path Variables:

"By using a path variable, you can share projects containing linked resources with team members without requiring the exact same directory structure as on your file system."

Which is not true - because the moment you move your workspace from
C:\projects.cvs\mybotserver

to
C:\projects.svn\mybotserver

all the variables (classpath and linked resources) break.

Therefore, I recommend Eclipse team removing this untrue and misleading paragraph until it becomes true:
"By using a path variable, you can share projects containing linked resources with team members without requiring the exact same directory structure as on your file system."
Comment 1 Mi Amidot CLA 2007-12-06 17:29:39 EST
Variables should grounded on workspace as I suggested earlier - but they should be scoped on project sets.

Which means,
1. A path variable is always relative to the workspace location.

2. The path separator of a path based on a path variable should always be forward slashes.

3. Since a workspace may have multiple project sets, the path variables should be local to a project set. Therefore, a variable "tomcat" defined in a.psf would not be visible to b.psf.

4. For people not using PSFs, they will always be using default.psf.


Alternatively, We could have
- workspace variables which would be visible to every project in a particular workspace;
- project set variables which would be visible only to members within a project set.

And if we wanted to carry this to extremes, we could have project level variables so that we have a hierarchy of variables: workspace -> project set-> project.

And ... since we might wish to carry this variable integration that far, why not bring it to object-oriented extreme - we should call them resource objects rather than variables.

So that a tomcat server could also be defined and exploited:

${servers[my tomcat 5.5].syspath:/commons/lib}

${connectors.jdbc[manufacturing mysql db].url}

Comment 2 Mi Amidot CLA 2007-12-06 17:48:42 EST
Then, pursuant to an earlier issue I had entered (but I cannot remember which), variables/resources should be accessible to an external tool running independent of Eclipse.

We need to integrate the programmer's realm with the build manager's realm. The build manager uses a megalomaniac ant script that runs every night to trigger a build without eclipse.

Within the perspective of the build manager, there is no point for programmers to define any variables which the megalomaniacal build process is unable to access.

There should be an export-resources-to-xml function which could be run by the programmer from eclipse for the benefit of the build manager's ant script.
Comment 3 Darin Wright CLA 2008-05-02 12:24:46 EDT
Marking assigned for consideration post 3.4