Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 368436

Summary: EclipseStarter.searchFor(..) appends '/' sign at the end of JAR's path for initial bundles
Product: [Eclipse Project] Equinox Reporter: Lucia Jelinkova <ljelinko>
Component: FrameworkAssignee: equinox.framework-inbox <equinox.framework-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: tjwatson
Version: unspecified   
Target Milestone: Juno M5   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Lucia Jelinkova CLA 2012-01-12 05:57:17 EST
Build Identifier: Indigo Service Release 1 Build id: 20110916-0149

I use Tycho that runs Eclipse with all plugins as 'initial' - specified in osgi.bundles property. The plugin under test generates a java class using WTPJETEmitter. It fails because it is trying to add some plugin's JAR file to the classpath of temporary project .JETEmitters and the method WTPJETEmitter.addRuntimeJarsAsLibrary() expects Bundle.getLocation() to return path ending with .JAR, but the initial bundles are ending .JAR/. The ending slash is added in EclipseStarter.searchFor(..) method. 

You can see the ending slashes even in normal Eclipse installation when you show "Eclipse installation details" and search for initial@reference keyword.

I was not sure whether this is a bug of WTPJETEmitter that should be able to handle the '.JAR/' case or EclipseStarter that appends the '/' sign. 

Reproducible: Always
Comment 1 Thomas Watson CLA 2012-01-12 09:05:34 EST
We probably should fix this.  But I will say that the location string is opaque and is only used as an identifier to the management agent.  With that said I know many instances where others place semantic meaning to the location strings outside of the management agents.