Bug 19465

Summary: Need full build to get rid of red Xs
Product: [Eclipse Project] PDE Reporter: Dirk Baeumer <dirk_baeumer>
Component: UIAssignee: Wassim Melhem <wassim.melhem>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: Randy_Giffen
Version: 2.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Dirk Baeumer CLA 2002-06-06 04:01:33 EDT
F2

- self hosting workspace on F2 (note org.eclipse.ui needs org.eclipse.ui.win32
  under Windows)
- delete org.eclipse.ui.win32
  observe: you end up having a lot of red Xs on projects
- add org.eclipse.ui.win32
  observe: red Xs still present. The only way I found to get rid of them is
  a full build.
Comment 1 Kent Johnson CLA 2002-06-06 12:41:50 EDT
The .classpath file of org.eclipse.ui.win32 is not recreated the same when it 
is added back.

I started with an empty workspace and added all required projects of 
org.eclipse.ui as binary projects, then added org.eclipse.ui & 
org.eclipse.ui.win32 as source projects. This was the .classpath file of 
org.eclipse.ui.win32:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.apache.xerces"/>
    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
    <classpathentry kind="src" path="/org.eclipse.update.core"/>
    <classpathentry kind="src" path="/org.eclipse.help"/>
    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

After deleting org.eclipse.ui.win32 and adding it back, its .classpath file was:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Moving to PDE...
Comment 2 Kent Johnson CLA 2002-06-06 14:54:29 EDT
I also noticed that the behavior is different depending on the plugin directory 
used.

First launch eclipse in eclipse and add the above mentioned plugins from the 
host workspace directory (ie. default location)

org.eclipse.ui .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbench"/>
    <classpathentry exported="true" kind="lib"
        path="/org.eclipse.ui.win32/workbenchwin32.jar" rootpath="" 
sourcepath="/org.eclipse.ui.win32/workbenchwin32src.zip"/>
    <classpathentry kind="src" path="/org.apache.xerces"/>
    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
    <classpathentry kind="src" path="/org.eclipse.update.core"/>
    <classpathentry kind="src" path="/org.eclipse.help"/>
    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

ui.win32 .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.apache.xerces"/>
    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
    <classpathentry kind="src" path="/org.eclipse.update.core"/>
    <classpathentry kind="src" path="/org.eclipse.help"/>
    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Delete ui.win32, you get errors on ui. Add ui.win32 back and it changes to:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>


================================================================================

Now Launch eclipse in eclipse and add plugins from the original eclipse/plugins 
directory

org.eclipse.ui .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbench"/>
    <classpathentry kind="src" path="/org.apache.xerces"/>
    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
    <classpathentry kind="src" path="/org.eclipse.update.core"/>
    <classpathentry kind="src" path="/org.eclipse.help"/>
    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

ui.win32 .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.apache.xerces"/>
    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
    <classpathentry kind="src" path="/org.eclipse.update.core"/>
    <classpathentry kind="src" path="/org.eclipse.help"/>
    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>


Delete ui.win32, you get NO errors on ui even after a full build. Add ui.win32 
back and it has 2 errors which never go away:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src-workbenchwin32"/>
    <classpathentry kind="src" path="/org.eclipse.ui"/>
    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
Comment 3 Dejan Glozic CLA 2002-06-08 13:43:25 EDT
Another similar bug related to fragment classpath computation.

If you start running out of time, move it back to me.
Comment 4 Dejan Glozic CLA 2002-06-10 23:25:32 EDT
This may be permanent limitation in 2.0. Import wizard is designed to import 
plug-ins and fragments in a batch. In particular, it is designed to result plug-
ins referenced by fragments in the list of selected plug-in. When fragments are 
imported alone, they are not capable of setting the classpath correctly even if 
the referenced plug-in already exists in the workspace. 

The workaround for this problem is to delete/add plug-ins and fragments 
together. For example, remove org.eclipse.ui and org.eclipse.ui.win32 in lock-
step. Alternatively, repair the classpath by calling 'Update Classpath' from 
the pop-up menu.
Comment 5 Dejan Glozic CLA 2002-06-10 23:25:53 EDT
Moved to fixed by accident - reopening.
Comment 6 Wassim Melhem CLA 2002-07-21 00:08:55 EDT
*** Bug 17268 has been marked as a duplicate of this bug. ***
Comment 7 Wassim Melhem CLA 2002-10-05 01:59:31 EDT
Fixed.