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

Bug 313007

Summary: Send major eclipse version as query parameter
Product: [Technology] MPC Reporter: Jochen Krause <jkrause>
Component: wizardAssignee: Project Inbox <mpc.wizard-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: nathan
Version: unspecified   
Target Milestone: 1.0.0   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
mylyn/context/zip none

Description Jochen Krause CLA 2010-05-15 07:03:46 EDT
The mpc currently sends information on operating system, windowing system and java version as url parameters to the marketplace provider. Please add a parameter for the major eclipse version (eclipse platform), e.g. version=3.5

Many solutions have strong dependencies on eclipse versions, so the marketplace provider can do a better job in only providing solutions which can be installed in the eclipse installation calling the service. With Eclipse 4.0 on the horizon this is even more important.

The user experience of the MPC client is strongly affected by the ability of the mpc to display solutions that can be installed into the Eclipse installation, so I mark this bug as critical.

The Eclipse Marketplace has information about the supported eclipse versions which can be used for the server side of the marketplace.
Comment 1 Nathan Gervais CLA 2010-05-17 09:53:48 EDT
Moving to MPC
Comment 2 David Green CLA 2010-05-17 22:20:29 EDT
I'm not sure if this will provide any value, given recent capabilities added to p2.  For example, I can have 3.5 installed and update most of it to 3.6M7, and the about dialog still lists the major version as 3.5.
Comment 3 Jochen Krause CLA 2010-05-18 10:29:12 EDT
You are right with respect to milestone builds. But developers using milestone builds can not really expect that everything works out of the box. For developers sticking with releases the major version of the platform is meaningful. Our experience with this approach is quite positive.
Comment 4 David Green CLA 2010-05-18 20:14:33 EDT
Sounds reasonable to me.  What does it mean to provide the major eclipse version?  We could provide the symbolic name and version of the org.eclipse.core.runtime.IProduct bundle, as provided by org.eclipse.core.runtime.Platform.  Do you have any suggestions?
Comment 5 Jochen Krause CLA 2010-05-19 13:59:02 EDT
One possibility is the one you outlined, the other is using the version number of the org.eclipse.core.runtime bundle. The mpc client depends on this bundle anyway, and this bundle is in every Eclipse installation. The IProduct may have a version that has little to do with the Eclipse runtime.

Independent of which version number you use I would only send the major version dot minor version, because that matches the data available in the marketplace and is not too fine grained.
Comment 6 David Green CLA 2010-05-19 14:33:05 EDT
Fixed.  
(In reply to comment #5)
> One possibility is the one you outlined, the other is using the version number
> of the org.eclipse.core.runtime bundle. The mpc client depends on this bundle
> anyway, and this bundle is in every Eclipse installation. The IProduct may have
> a version that has little to do with the Eclipse runtime.

We're now passing the following metadata:
* client=org.eclipse.epp.mpc.core
* os=macosx - as provided by  Platform.getOS()
* ws=cocoa - as provided by  Platform.getWS()
* java.version=1.6.0_17 - as provided by System.getProperty("java.version")
* product=org.eclipse.platform.ide  - as provided by Platform.getProduct().getId()
* product.version=3.6.0.v201004061034 - as provided by Platform.getProduct().getDefiningBundle().getVersion()
* runtime.version=3.6.0.v20091204 - as provided by Platform.getBundle("org.eclipse.core.runtime").getVersion()

> Independent of which version number you use I would only send the major version
> dot minor version, because that matches the data available in the marketplace
> and is not too fine grained.

MPC sends the whole version number.  That way the server policy can decide what to do with it.
Comment 7 David Green CLA 2010-05-19 14:33:08 EDT
Created attachment 169177 [details]
mylyn/context/zip
Comment 8 Nathan Gervais CLA 2010-06-02 09:31:29 EDT
Changing Target Milestone.

I don't believe that there are enough cycles left before Helios to shoehorn this into Marketplace REST calls.
Comment 9 David Green CLA 2010-06-02 11:46:09 EDT
This is fixed: it's already part of Helios RC3 (installation metadata is passed per comment #6)

Please track related filtering on bug 313449