Bug 329344

Summary: [compiler] Batch compiler should not removed some duplicated entries on the classpath
Product: [Eclipse Project] JDT Reporter: Olivier Thomann <Olivier_Thomann>
Component: CoreAssignee: Olivier Thomann <Olivier_Thomann>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jarthana
Version: 3.7   
Target Milestone: 3.7 M4   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Proposed fix none

Description Olivier Thomann CLA 2010-11-03 09:30:57 EDT
When the same entry is specified on the source path and the classpath, both should be preserved on the resulting classpath as one is searched for source and one is searched for binaries.
Right now we keep only one of them and this leads to some missing types at compile time.
Comment 1 Olivier Thomann CLA 2010-11-03 11:28:45 EDT
Created attachment 182303 [details]
Proposed fix
Comment 2 Olivier Thomann CLA 2010-11-03 13:30:05 EDT
To verify, run the batch compiler with this command line:
-classpath
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\classes;C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\classes;C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\temp.folder\runtime_registry_compatibility.jar.bin;C:\eclipse\e4SDK\eclipse\plugins\org.eclipse.equinox.registry_3.5.100.v20101018.jar;C:\eclipse\e4SDK\eclipse\plugins\org.eclipse.osgi_3.7.0.v20101022.jar[+org/eclipse/osgi/framework/console/*;+org/eclipse/osgi/service/datalocation/*;+org/eclipse/osgi/service/debug/*;+org/eclipse/osgi/service/environment/*;+org/eclipse/osgi/service/localization/*;+org/eclipse/osgi/service/resolver/*;+org/eclipse/osgi/storagemanager/*;+org/eclipse/osgi/util/*;+org/osgi/framework/*;+org/osgi/service/packageadmin/*;+org/osgi/util/tracker/*;?**/*];C:\eclipse\e4SDK\eclipse\plugins\org.eclipse.core.jobs_3.5.100.v20101008.jar[+org/eclipse/core/runtime/jobs/*;?**/*];C:\eclipse\e4SDK\eclipse\plugins\org.eclipse.equinox.common_3.6.0.v20100503.jar[~org/eclipse/core/internal/boot/*;+org/eclipse/core/internal/runtime/*;+org/eclipse/core/runtime/*;+org/eclipse/equinox/events/*;?**/*];C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\classes
-sourcepath
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\classes;C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src;C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\classes
-d
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\temp.folder\runtime_registry_compatibility.jar.bin
-log
C:\runtime_registry_compatibility.jar.bin.xml
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\internal\registry\BundleHelper.java
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\internal\registry\ExtensionHandle.java
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\internal\registry\ExtensionPointHandle.java
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\internal\registry\RegistryCompatibilityHelper.java
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\runtime\IExtension.java
C:\eclipse\workspaces\tests\runtime-329250\org.eclipse.core.runtime.compatibility.registry\src\org\eclipse\core\runtime\IExtensionPoint.java
-warn:-allDeprecation
-time

where you adjust the path to the location where you checked on the org.eclipse.core.runtime.compatibility.registry project.
Comment 3 Olivier Thomann CLA 2010-11-03 13:30:38 EDT
Resolved in 3.7M4.
Comment 4 Jay Arthanareeswaran CLA 2010-12-07 07:11:09 EST
Verified for 3.7M4 using build I20101206-1800.