Bug 332169 - .eclipseproduct is not generated
Summary: .eclipseproduct is not generated
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Buckminster (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P4 minor (vote)
Target Milestone: ---   Edit
Assignee: buckminster.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-08 15:41 EST by Aleksandr Kravets CLA
Modified: 2019-02-25 14:40 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 Aleksandr Kravets CLA 2010-12-08 15:41:26 EST
Build Identifier: 20100917-0705

When I export product definition in IDE .eclipseproduct is being generated with correct information. However, after building the same product with Buckminster no file is generated.

Reproducible: Always
Comment 1 Thomas Hallgren CLA 2010-12-08 16:43:01 EST
What is the .eclipseproduct used for?
Comment 2 Aleksandr Kravets CLA 2010-12-08 21:09:49 EST
This http://wiki.eclipse.org/FAQ_What_is_an_Eclipse_product%3F describes function of the file. I suppose I can create file myself, all it has is this information:

#Eclipse Product File
#Wed Dec 08 15:34:58 EST 2010
version=0.1.0.201012081534
name=iWay Integration Tools
id=com.iwaysoftware.integration.tools.product

Nevertheless, if this functionality is already available I don't know why it does not work with Buckminster builds.

I was researching this issue before and these might be helpful:
http://web.archiveorange.com/archive/v/ynhNYRez7Tun6DcTyjdv

http://www.javadocexamples.com/java_source/org/eclipse/pde/internal/build/ProductGenerator.java.html
Comment 3 Thomas Hallgren CLA 2010-12-09 01:36:02 EST
(In reply to comment #2)

> Nevertheless, if this functionality is already available I don't know why it
> does not work with Buckminster builds.
> 
The reason I ask is that I wonder if this file is a relic from the past or if it's still used. The configuration/config.ini denotes the main application,  splashpath, etc. so why do you need the .eclipseproduct? What problems do you see besides the fact that the file itself is missing?
Comment 4 Aleksandr Kravets CLA 2010-12-09 13:06:51 EST
I don't think config.ini includes version for the product installed, at least that's what I see in mine:

#This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser
#Wed Dec 08 16:51:48 EST 2010
org.eclipse.update.reconcile=false
eclipse.p2.profile=iitProfile
osgi.framework=file\:plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.0.v20080604.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.product=com.iwaysoftware.integration.tools.integration_tools
osgi.splashPath=platform\:/base/plugins/com.iwaysoftware.integration.tools
osgi.framework.extensions=
osgi.bundles.defaultStartLevel=4
eclipse.p2.data.area=@config.dir/../p2/
eclipse.application=org.eclipse.ui.ide.workbench

I think this is important information to distinguish between products. I see these in helios and galileo eclipse installations:

name=Eclipse Platform
id=org.eclipse.platform
version=3.6.1

There are no problems I am experiencing without having this file at present, but then I don't know if not having it would cause problems if there are multiple products installed.
Comment 5 Thomas Hallgren CLA 2010-12-09 16:40:38 EST
(In reply to comment #4)
> name=Eclipse Platform
> id=org.eclipse.platform
> version=3.6.1
> 
Isn't that what you have the about.mappings/about.ini in the branding plug-in for? That way, you will get version information etc. in the about dialog. See http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/misc/about_customization.html

> There are no problems I am experiencing without having this file at present,
> but then I don't know if not having it would cause problems if there are
> multiple products installed.

Eclipse allow one product to have multiple applications (config.ini appoints the default one). Having several products on top of that and in the same folder seems a bit redundant, at least to me. I've never encountered a situation where that would make sense and I'm actually not sure if p2 would be able to manage it. Perhaps it would, using separate profiles but where does that info come from?

In any case, since you don't seem to have an immediate problem with this and since nobody else have expressed any concerns, I'm lowering the priority to minor. That said, should you provide a patch, then it will of course be considered.
Comment 6 Aleksandr Kravets CLA 2010-12-09 21:24:13 EST
Well, only this comes to mind http://www.youtube.com/watch?v=WWaLxFIVX1s :)

Any pointers on where I should start debugging? I guess I need to debug buckminster and p2?
Comment 7 Aleksandr Kravets CLA 2010-12-13 12:02:24 EST
Something I forgot to ask. Does buckminster does something different in generating executables, configurations, etc? I thought it delegates most of the work to underlying system. So, if exporting product produces .eclipseproduct why there is no file after buckminster build?
Comment 8 Carsten Reckord CLA 2011-03-23 10:04:34 EDT
I just found this bug looking for information on how to create the .eclipseproduct with buckminster. 

To answer Thomas' question, the file is used for one to determine the default location of the user's private osgi configuration area, which is

<home>/.eclipse/<product-id>_<product-version>/configuration

and derived from that the private p2 area at

<configuration-area>/../p2

I don't know what the default product id is when building a pure RCP product. But when building a product on top of the eclipse platform at least, you'll end up sharing an area with the regular eclipse at org.eclipse.platform_<version>, which is rather murky water to swim in. I don't know if this might actually cause any problems on eclipse's part, because we already use a custom p2 profile which avoids some of the overlap. But it becomes problematic when outside factors like install/update scenarios with an installer framework get involved, where you'd want to delete or change those areas without destroying the user's normal eclipse installation.

That said, it's not too hard to create my own .eclipseproduct during the build, so I think the minor priority is fine.
Comment 9 Thomas Hallgren CLA 2011-03-23 10:53:14 EDT
Adding this to the build is not trivial. Buckminster relies on the p2 publisher and it has no trace of this.

In PDE, ant-scripts are executed prior to calling the publisher to ensure that the a build.properties file of the feature that represents the product contains correct root.xxx properties and one of them is the generated .eclipseproduct file. It's values are picked from the branding plug-in. One might hope that this situation is improved in the new p2 publisher (currently in incubation).
Comment 10 Aleksandr Kravets CLA 2011-03-23 12:29:01 EDT
Thanks for explanations Carsten, Thomas,

In the end that's what I ended up doing - creating .eclipseproduct myself.