| Summary: | product export from the ui does not generate bundles.info | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Jeff McAffer <jeffmcaffer> | ||||||||
| Component: | UI | Assignee: | Chris Aniszczyk <caniszczyk> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||
| Severity: | major | ||||||||||
| Priority: | P3 | CC: | aniefer, caniszczyk, darin.eclipse, mluchian | ||||||||
| Version: | 3.4 | Flags: | jeffmcaffer:
pmc_approved+
|
||||||||
| Target Milestone: | 3.4.2 | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Windows Vista | ||||||||||
| Whiteboard: | |||||||||||
| Bug Depends on: | 237662, 246391 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Jeff McAffer
Are you sure? I believe you should get one if you don't export your product as a zip. not sure what zip vs dir has to do with this but I do happen to be exporting to a dir. I should also note that Andrew N and I looked through the code and did not see anywhere in the PDE UI code (e.g., ProductExportOperation) that was writing this file whereas in the pde build code there are some clear calls to methods that write the bundles.info file. Ah, Andrew is correct on export. When we launch is when we will generate the bundles.info etc if simpleconfigurator is there. Ideally I would just like to call PDE build to generate this file... the product export code is too complicated in UI currently. Is there anything we can do from UI Andrew to get PDE Build to do the "magic"? Build currently generates .eclipseproduct, launcher.ini and config.ini (bundles.info) when a .product file is specified and not exporting from the UI. It is an easy change to turn this on during export as well. If that is done, UI would not do any of: createConfigIniFile(config); createEclipseProductFile(); createLauncherIniFile(config[0]); We need to identify any differences between these UI methods and their equivalents in build's ProductGenerator. Tell me what I need to do and I'm there Andrew ;) Most of the current stuff in product export is black magic on PDE UI's part... a lot of the things we should be doing should be delegated to PDE Build.. otherwise we end up with scenarios where things exported in the UI are different than in headless (PDE BUILD) Andrew, let's try to sync up sometime this week to get this one in for 3.5M1 and 3.4.1 Chris, can you confirm that the 3 methods listed in comment #5 are equivalent to the versions in build's ProductGenerator This probably should not be done without bug 237662 being fixed first. (In reply to comment #9) > This probably should not be done without bug 237662 being fixed first. In essence, we are doing the same thing Andrew. What are the next steps for PDE to take advantage of PDE Build for product export? Looking at the code, if we set org.eclipse.pde.internal.build.IXMLConstants.PROPERTY_PRODUCT somewhere when PDE generates the build.properties and point to the product file, that looks like it may do it. Created attachment 110286 [details]
patch to build
Add you need this
(In reply to comment #12) > Created an attachment (id=110286) [details] > patch to build How do you handle the JRE's defined within product files Andrew? I don't see anything in ProductGenerator We don't. I thought there was a bug for this but I can't find it atm. Build doesn't know about the org.eclipse.jdt.launcher.JRE_CONTAINER that you are using here. This is really an enhancement/missing function. Perhaps 3.4.2 if the fix is trivial, but for now moving to 3.5. Not really sure how this is an enhancement request vs a bug. If you export a product using the UI the result does not run. I respectfully ask that this be added back to being considered fro 3.4.1. The comments are a bit inconclusive but it seems we have a fix in hand. This is Chris's call for 3.4.1 - our PDE committer is on his honeymoon :-) However, at this point it will require a rebuild request as the last 3.4.1 build has already started. Let me investigate this one for 3.4.1, I already had a patch I was working on but was trying to test what Andrew removing the PDE UI kill switch would do to other things. Any thoughts Andrew? Created attachment 111082 [details]
org.eclipse.pde.core.patch
Removes the useless PDE methods for generating product stuff now and relies on PDE Build
There needs to be more coordination between build/ui, this will have to wait until 3.4.2 Sorry, I have been on vacation and am just getting caught up now. Given the long weekend, I am more comfortable with this in 3.4.2. RE comment #16, I had the impression that such products were starting by either using the update.configurator or by listing everything on the bundles list. Particularily given bug 237662, I believed we were actually better off in 3.4 without generating the bundle.info during export. agreed on the 3.4.2. As for starting, yes but that disabled p2. So it is not really a work around. Note that there is no install occurring during export. Generating a bundles.info will not result in a p2 enabled RCP app. Andrew, can you help do a bit of PDE Build debugging after the patch is applied to see what is going on? I'm getting a couple exceptions coming from Build about files not being found for cleaning. Andrew, when do you have time to chat about this one? I'm dying on debugging PDE build :) Created attachment 111694 [details]
pde.core patch updated
Chris, the problem was coming from ProductExportOperation#getRootFileLocations. Here you set up properties specifies files to be copied into the root of the product. The last entry being set was a "temp" folder where the config.ini and other files were being generated. By removing your config.ini, that folder never got created leading to the problems later.
Updated patch removes the temp folder from the root properties.
Also, I removed an unused instantiation of build's ProductGenerator.
This is good stuff, just did some tests and things are good. Andrew, what about the createBuildPropertiesFile() method? We have logic in there to deal with launcher executable... can we replace that with something else as I believe PDE Build needs to handle this case too. I'm almost not see the '.eclipseproduct' come along. Oh Andrew, you would also have to commit your change to PDE Build for 3.4.2 *** Bug 240084 has been marked as a duplicate of this bug. *** committed change to HEAD for 3.5M2 I-build should this be marked as 3.4.2 now since the bug 246391 has been deferred? Assuming it is for 3.4.2 I approve. done.
> 20091002
|