Bug 31995 - Run-time workbench doesn't load plugins from workspace
Summary: Run-time workbench doesn't load plugins from workspace
Status: RESOLVED FIXED
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows XP
: P1 critical (vote)
Target Milestone: 2.1 RC1   Edit
Assignee: Dejan Glozic CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-17 07:09 EST by Nikolay Entin CLA
Modified: 2003-03-20 09:12 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay Entin CLA 2003-02-17 07:09:42 EST
I've got ~70 plugins under development; when starting run-time workbench, only 
one of the plugins is loaded (and no messages pointing that others have not 
been loaded due to some errors).
Looks like plugins are not being loaded if their projects are not in default 
folder. I.e. in my situation only one plugin is resided in <eclipse>/workspace 
folder and it's loaded properly, when all others are imported from P4/CVS/... 
and just ignored on start of run-time workbench.
Comment 1 Nikolay Entin CLA 2003-02-17 07:12:05 EST
Forgot to mention: the problems appear only on M5 and is not reproducible with 
M4
Comment 2 Pascal Rapicault CLA 2003-02-17 09:01:19 EST
I encountered a similar problem with the following configuration:

   eclipse install : c:\eclipse
   workspace       : d:\myworkspace (it contains the plugin hello world)
   runtime-workspace : d:\myruntime-workspace

When I start my runtime workbench, the hello world plugin is not found.
The problem seems to come from the fact that eclipse and the runtime-workspace 
are not on the same drive.
Comment 3 Nikolay Entin CLA 2003-02-17 09:46:33 EST
On my configuration Eclipse is installed to 
e:\eclipse2.1
run-time workbench is default
e:\eclipse2.1\runtime-workbench
and sources are resided in
e:\perforce
and 
e:\cvs
I.e. I've got problems even when workspace and sources are on the same drive.
Comment 4 Dejan Glozic CLA 2003-02-17 11:54:25 EST
I think both scenarios (same drive, different drive) are caused by the same bug 
that we fixed yesterday. Please try with the next integration build (0218) - I 
think it should work.
Comment 5 Nikolay Entin CLA 2003-02-19 06:42:49 EST
In version I20030218 it still doesn't work.
Eclipse is installed to e:\eclipse2.1M5, target platform e:\eclipse2.0
In Plug-in paths I see:
file:e:/eclipse2.1M5/workspace/com.borland.mpi/plugin.xml - this is the only 
plugin loaded from my dev environment
file:e:/perforce/ts/ts.framework/dev/crs/_com.togethersoft.sapient.core/plugin.
xml - this and other plugins from non-workspace location are not loaded and no 
error messages provided
...
file:/e:/eclipse2.0/plugins/org.apache.ant_1.4.1/plugin.xml - this and other 
Eclipse plugins loaded properly.

Here what I see in run-time workbench in Configuration details:
*** Plugin Registry:
com.borland.mpi (1.0.0)
org.apache.ant (1.4.1)
org.apache.lucene (1.2.0)
org.apache.xerces (4.0.5)
org.eclipse.ant.core (2.0.1)
org.eclipse.compare (2.0.0)
org.eclipse.core.boot (2.0.1)
org.eclipse.core.resources (2.0.1)
	org.eclipse.core.resources.win32 (2.0.1)
org.eclipse.core.runtime (2.0.1)
org.eclipse.debug.core (2.0.0)
org.eclipse.debug.ui (2.0.0)
org.eclipse.draw2d (2.0.0)
org.eclipse.draw2d.doc.isv (2.0.0)
org.eclipse.gef (2.0.0)
org.eclipse.gef.doc.isv (2.0.0)
org.eclipse.gef.examples.logicdesigner (2.0.0)
org.eclipse.help (2.0.1)
org.eclipse.help.ui (2.0.1)
	org.eclipse.help.ui.win32 (2.0.1)
org.eclipse.help.webapp (2.0.1)
org.eclipse.jdt (2.0.1)
org.eclipse.jdt.core (2.0.1)
org.eclipse.jdt.debug (2.0.1)
org.eclipse.jdt.debug.ui (2.0.1)
org.eclipse.jdt.doc.isv (2.0.0)
org.eclipse.jdt.doc.user (2.0.0)
org.eclipse.jdt.junit (2.0.1)
org.eclipse.jdt.launching (2.0.1)
org.eclipse.jdt.source (2.0.1)
org.eclipse.jdt.ui (2.0.1)
org.eclipse.pde (2.0.1)
org.eclipse.pde.build (2.0.0)
org.eclipse.pde.core (2.0.1)
org.eclipse.pde.doc.user (2.0.0)
org.eclipse.pde.runtime (2.0.0)
org.eclipse.pde.source (2.0.1)
org.eclipse.pde.ui (2.0.1)
org.eclipse.platform (2.0.1)
org.eclipse.platform.doc.isv (2.0.0)
org.eclipse.platform.doc.user (2.0.0)
org.eclipse.platform.source (2.0.1)
org.eclipse.platform.win32 (2.0.1)
org.eclipse.platform.win32.source (2.0.1)
org.eclipse.sdk.win32 (2.0.1)
org.eclipse.search (2.0.1)
org.eclipse.swt (2.0.1)
	org.eclipse.swt.win32 (2.0.1)
org.eclipse.team.core (2.0.1)
org.eclipse.team.cvs.core (2.0.0)
org.eclipse.team.cvs.ssh (2.0.0)
org.eclipse.team.cvs.ui (2.0.1)
org.eclipse.team.ui (2.0.0)
org.eclipse.tomcat (4.0.3)
org.eclipse.ui (2.0.1)
	org.eclipse.ui.win32 (2.0.0)
org.eclipse.ui.externaltools (2.0.1)
org.eclipse.update.core (2.0.1)
	org.eclipse.update.core.win32 (2.0.0)
org.eclipse.update.ui (2.0.1)
	org.eclipse.update.ui.win32 (2.0.0)
org.eclipse.update.ui.forms (2.0.0)
org.junit (3.7.0)
Comment 6 Yang Liu CLA 2003-02-20 00:56:54 EST
I also met this problem.
I try to trace into the code of how the pde set the environment for loading
plugins, and find that PDE generated a file as:

C:\eclipse2.1.0\workspace\.metadata\.plugins\org.eclipse.pde.core\C__eclipse2.1.0_runtime-workspace\platform.cfg

in this file, there is some content look like:

site.0.list.0=voxa/myplugin/plugin.xml,.......

My plugin is at: d:\voxa\myplugin

But in the cfg file, the "d:\" drive is not there. And when I try debug, it will
try to looking for the plugin at "c:\eclipse2.1.0\voxa\myplugin" and result in fail.

This bug should change to P1.
Comment 7 Dejan Glozic CLA 2003-02-20 20:12:47 EST
OK, this makes sense - the separate drive was only part of the story. Your 
initial comment was absolutely right - I should have read it again :-).

Here is how it works: Eclipse really loads using local 'sites' and features in 
them. Plug-ins are computed based on configured features. This process is 
performed by the Update component. Eclipse can have one or more local site 
where features and plug-ins are installed. In the platform configuration, 
site has the first part of the path, and all plug-ins that belong to it 
are listed relative to that path.

When PDE launches Eclipse, it creates a transient configuration for that
session only. Starting from the list of plug-ins (both in the workspace 
and in the target platform), it reverse-engineers 'fake' sites just
so that it could add plug-ins relative to them. 

We made a mistake of assuming that all the workspace plug-ins are
relative to the workspace root. This is not the case for every workspace
plug-in project that has been created using the non-default path.
When we used 'getLocation()' on the project instead, it worked.

For testing, I created 'Hello, World' plug-in in 'c:\perforce' and
'Plug-in with a view' in 'c:\cvs', while my installation was in d:\eclipse-
xxx\eclipse. Both plug-ins loaded correctly.

Check the RC1 for the fix.
Comment 8 Nitin Dahyabhai CLA 2003-03-19 15:20:45 EST
Please reopen this.  I'm still seeing it on 200303132359
with the workspace, target, and platform all on the same
drive.
Comment 9 Dejan Glozic CLA 2003-03-19 15:52:49 EST
If Nick, Pascal and Yang don't see this problem any more, yours must be 
something different. Please open a different defect instead of reopening this 
one (you can reference it if you want, though).
Comment 10 Nikolay Entin CLA 2003-03-20 04:34:26 EST
In RC1 the problem seemed to be fixed, however in RC2 a new one seem to 
appear, which was referred in #34296 (see comments #8 and #10). I believe the 
latter situation is closer to Nitin's one, Dejan, is there a bug number for 
the configuration fix you mentioned?

I'm currently using 200303120800 (post-RC2 build), which works fine for me.
Comment 11 Dejan Glozic CLA 2003-03-20 09:12:59 EST
The problem you are describing may be related to configuration version change 
we made in RC2. RC2 is known to cause problems if target platform is an older 
driver (<RC2). Your experience with drivers newer than RC2 is consistent with 
this problem - we did fix is shortly after RC2.