Bug 80807 - [RCP] Add an initial startup hook for applications use
Summary: [RCP] Add an initial startup hook for applications use
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 3.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2004-12-13 09:36 EST by Peter Manahan CLA
Modified: 2019-09-06 15:34 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Manahan CLA 2004-12-13 09:36:59 EST
This is related to removing the need for a separate program launcher to launch
eclipse.  https://bugs.eclipse.org/bugs/show_bug.cgi?id=76855 deals with the
passing in of the arguments. Our products use a launcher to a) pass in command
line arguments and b) perform some specical processing before eclipse actually
comes up.

One current use of the special processing is the ability to warn the user that
the current level of GTK is not valid for use in DBCS locales if it isn't at the
right level.

Another  example is the ability to prevent the launch of eclipse with a dialog
indicating why the launch was prevented. When we ship trial or evaluation copies
these are timelimited. We pop a dialog up stating how many days are left in the
trial then proceed to launch eclipse. Once the evaluation period is over the
dialog comes up indicating that fact and then exits and does not launch eclipse.

In order to remove the need for a separate launcher application we have to be
able to process the command line arguments before eclipse proper loads up. 

Our applications are based on the eclipse IDE not an RCP application so we don't
currently have any ability to perform processing while the IDE is starting up.
Comment 1 Nick Edgar CLA 2004-12-13 15:15:09 EST
Rather than defining a new extension point (at either the generic workbench or
IDE level), I'm inclined to augment the existing org.eclipse.ui.startup
extension point (at the generic workbench level) to allow an entry to be run
before the workbench is opened (current entries only run after the workbench is
opened).  Such entries would be given the ability to veto the open (or perhaps
just call IWorkbench.close()).
Comment 2 Nick Edgar CLA 2004-12-13 15:15:27 EST
Consider for M5.
Comment 3 Nick Edgar CLA 2004-12-13 15:16:31 EST
Note that this API won't be useful for checking things like VM version.
It's typically too late to check this once the application extension runs.
Comment 4 Pascal Rapicault CLA 2004-12-13 16:00:23 EST
Peter, have you tried to use the StartLevel service?
Some degree of what you want seems to be doable.
For example your plugin can be run early do the necessary checks and something 
is wrong it can stop the platform.
Of course I guess that is probably too easy :-)
Comment 5 Jeff McAffer CLA 2004-12-16 01:44:42 EST
This sort of hook should be independent of the application and the UI.  The 
common usecases are license checking and login prompts.  The net effect of both 
could be quite profound (e.g., may change the set of plugins available or what 
application to run).  We should investigate a hook just before running the 
application.  There will be a trick around SWT and the Display but Steve 
assures me that if you create and dispose the Display before creating a new one 
we should be happy.
Comment 6 Pascal Rapicault CLA 2005-01-05 15:24:02 EST
*** Bug 50164 has been marked as a duplicate of this bug. ***
Comment 7 John Arthorne CLA 2005-01-26 10:13:25 EST
Moving confirmed bugs/enhancements out of the "inbox"
Comment 8 John Arthorne CLA 2005-02-18 10:09:11 EST
Slipping milestone for bugs not fixed in time for 3.1 M5.
Comment 9 Eclipse Webmaster CLA 2019-09-06 15:34:53 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.