Bug 3209 - DCR - JM -Invalid references to IPath.getDevice() potentially breaking on Linux (1G4U1R7)
Summary: DCR - JM -Invalid references to IPath.getDevice() potentially breaking on Lin...
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: All Windows 98
: P2 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-10 22:51 EDT by Philipe Mulet CLA
Modified: 2002-01-11 09:22 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2001-10-10 22:51:20 EDT
There are still some invocations of IPath.getDevice(), which might prevent from running on Linux.

see:

com.ibm.jdt.ui.launcher.JavaApplicationLauncher.makeAbsolute(IPath, IPath)

NOTES:

EG (12/5/00 12:51:57 PM)
	TM why do we depend on getDevice?

TM (05.12.2000 12:54:32)
	We're trying to determine whether something is a file system path or relative to the workbench. 
	IPath.isAbsolute() is not useful here because it just checks for the leading file separator.
	The issue is that we can't tell from a path wether a classpath entry is external or not.
	This has to be recorded explicitly, because under Unix, we can always have:

	<workbench>/bin/something.jar

	and
	
	/bin/something.jar

EG (12/5/00 4:22:51 PM)
	we loose the external information when we create the ClassPathEntry:
		ClasspathEntry(int contentKind, int entryKind, IPath path)
	There should be support for an additional flag "isExternal" to preserve the external information.
	Moving to ITPJCORE. 

PM (12/5/2000 11:38:48 AM)
	This is the problem we had to deal with as well. 

DA (6/19/01 11:35:32 AM)
	Problem still occur in build 0.125.
Comment 1 Philipe Mulet CLA 2001-10-23 06:09:19 EDT
The only solution is to use IContainer.findMember(IPath) to figure whether an 
entry is located inside or outside the workspace.

Entries cannot remember this, since variable entries would never be able to 
tell until resolved.

We could tag package fragment roots with this information, so as to save some 
cycles once they got created. Is this what you would need ?
Comment 2 DJ Houghton CLA 2001-10-23 23:51:37 EDT
PRODUCT VERSION:
VAME Eclipse 0.013

Comment 3 Philipe Mulet CLA 2001-10-29 07:06:53 EST
Closing, roots already remember if external.