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

Bug 168616

Summary: Determine impact of launcher changes to build/export
Product: [Eclipse Project] PDE Reporter: Andrew Niefer <aniefer>
Component: UIAssignee: PDE-UI-Inbox <pde-ui-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: dj.houghton, jeffmcaffer, kim.moir, pascal, sonia_dimitrov, wayne
Version: 3.3   
Target Milestone: 3.3 M5   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Andrew Niefer CLA 2006-12-19 17:59:11 EST
We need to figure out what pde ui and build need to do for export/build with the new launcher story.

1) org.eclipse.platform.launchers is now org.eclipse.equinox.executable
- Cross platform product builds need to account for this change
- What impact does this change have on releng in general.  We ended up making alot of changes in the releng scripts.  Is this just us, or are other releng teams going to have trouble?

2) startup.jar is now a bundle org.eclipse.equinox.launcher along with fragments
- builds need to be sure to include the bundle and the appropriate fragment
- What about on releng style scripts that launch using "java -jar startup.jar"?  Can we do anything about this?
Comment 1 Sonia Dimitrov CLA 2006-12-20 10:24:27 EST
On 2) the main impact for the platform builds is in the launch and running of the JUnit test suites.  The changes to scripts are not extensive and can be tested within a day or two (to run a build from end to end with the changes).  I have experimented with starting the JUnit tests from the eclipse executable, and the only problems I have encountered so far are with running JUnit tests on the Mac.  I can provide more detail on this when the Mac test machine is free.
Comment 2 Wassim Melhem CLA 2007-01-23 15:54:52 EST
Andrew, I am assuming the new launcher will work just fine with <= 3.2 builds as well.

So, for example, if we include the org.eclipse.equinox.launcher plugin/fragment into any RCP product (>= 3.0) and we give it the new launcher, it should work just fine.  Correct?
Comment 3 Andrew Niefer CLA 2007-01-23 16:39:36 EST
Any issues with using the new launcher in an old eclipse are all about the splash screen.
Biggest item is that there would be no progress monitor since that is now done using SWT instead of natively.  Similarily, without the changes in org.eclipse.osgi and in the workbench, there would be only very limited painting.
Comment 4 Wassim Melhem CLA 2007-01-23 16:44:04 EST
so will pde/build provide two execution paths: one for the old story and one for the new for RCP export?

Comment 5 Andrew Niefer CLA 2007-01-23 17:27:03 EST
We will likely need to tie the choice of launcher feature to the version of the osgi bundle.  In fact, I wonder if the org.eclipse.equinox.launcher bundle should have a Require-Bundle dependency on org.eclipse.osgi.  

 If they are exporting to an older eclipse, and the old org.eclipse.platform.launcher feature is not available, then we could take the launchers from the running eclipse but should probably have a warning.

Comment 6 Wassim Melhem CLA 2007-02-05 22:10:51 EST
I think we are done here.

For the cross-platform export, we now first look for and include the org.eclipse.equinox.executable feature.  If not found, we look for the org.eclipse.platform.launchers feature.

In all cases, if the product does not list the org.eclipse.equinox launcher and its fragment(s), we implicitly add them.  this way, all existing product files continue to work as-is, and it is analogous to how we have always bundled startup.jar for products.