Bug 576225 - API for Launch Configuration View

The public API of the Launch Configuration View consists of three
interfaces.

 * ILaunchObjectProvider. This is the main interface implemented by
   extending contributions. It must be registered as a service, most
   easily using @Component annotation for declarative services.
 * ILaunchObject. This is provided the the ILaunchObjectProvider
   implementation and describes a launch-able "thing".
 * IBackgroundLaunchExecutor. This is a small helper which allows other
   extensions convenient access to the logic for launching a specific
   launch configuration as a background job.

Both interfaces have default implementations inside the view plugin
which handle "default" Eclipse launch configurations. External
extensions may provide additional logic, for an example see
https://github.com/ssi-schaefer/lcdsl

The LaunchConfigurationViewPlugin Activator is introduced to allow
access the the default implementation of the IBackgroundLaunchExecutor
which is provided by the view.

Change-Id: Iad47ec7e96fbf89709f0b46ef5aa1125d6789dea
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.debug/+/185799
Tested-by: Lars Vogel <Lars.Vogel@vogella.com>
Reviewed-by: Lars Vogel <Lars.Vogel@vogella.com>
16 files changed