Community
Participate
Working Groups
Cdt-core already provides CommandLauncher and ICommandLauncher in CDT6. I propose adding an extension point for allowing ISVs to contribute additional ICommandLaunchers, this will allow them to easily redirect/retarget running of external tools. It will provide the following functionality: * The contributed ICommandLaunchers can specify a set of supported services they are applicable for: - All - LAUNCH_RUN, LAUNCH_DEBUG, LAUNCH_PROFILE - BUILD_STANDARD, BUILD_MANAGED * The CDT UI will provide a dialog for selecting which command launcher should be invoked for a particular job type (launch or build, for the moment). * The Default will be to use the existing built-in CommandLauncher maintaining existing behaviour, products can override with their own choice. * An additional WrappedCommandLauncher will be provided to allow customising / wrapping the default command. Providing a mechanism for running tools that is orthogonal to the build / launch system seems to be highly desirable[1] and needn't require contributors define their own launches and builders. This would require launch and build to delegate Process Creation to the core, CDI already uses the core's ProcessFactory for MIProcessAdapter based launches, and managed build already uses CommandLauncher. Does this sound reasonable? [1]http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg15594.html
Created attachment 139911 [details] CDT Core + Tests Add CommandLauncher extension point. Add CommandLauncherFactory for: - creating CommandLaunchers for a given ProcessType(launch, build). - Providing a Preference store for advanced preferences on the Command Launcher Add tests to cdt.core for the contributed CommandLauncher functionality
Created attachment 139913 [details] UI Patch Add UI for configuring "Advanced..." Command Launcher preferences. Add CommandLauncherDialog extension point for ISV command launchers to contribute custom preference dialogs
Created attachment 139915 [details] ManagedBuilder Patch Patch for managedbuilder to delegate to the appropriate CommandLauncher as provided by cdt.core.
Created attachment 139916 [details] Example UI PNG showing Example UI of built-in 'Wrapped' command launcher.