Search in sources :

Example 76 with ILaunchManager

use of org.eclipse.debug.core.ILaunchManager in project arduino-eclipse-plugin by Sloeber.

the class LaunchShortcut method createNewConfiguration.

/**
 * Creates and initializes a new launch config for the project.
 *
 * @return the new launch configuration
 */
private ILaunchConfiguration createNewConfiguration() {
    try {
        ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
        ILaunchConfigurationType type = lm.getLaunchConfigurationType(LaunchConfiguration.LAUNCH_CONFIGURATION_TYPE_ID);
        // Infere name of launch config from project name
        String name = myProject.getName();
        // Create launch config
        ILaunchConfigurationWorkingCopy wc = type.newInstance(null, name);
        initializeConfiguration(wc);
        return wc.doSave();
    } catch (CoreException ce) {
    // Stupid Exception
    }
    return null;
}
Also used : CoreException(org.eclipse.core.runtime.CoreException) ILaunchConfigurationType(org.eclipse.debug.core.ILaunchConfigurationType) ILaunchManager(org.eclipse.debug.core.ILaunchManager) ILaunchConfigurationWorkingCopy(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)

Example 77 with ILaunchManager

use of org.eclipse.debug.core.ILaunchManager in project jbosstools-openshift by jbosstools.

the class NodeDebugLauncher method launch.

public static void launch(IServer server, int port) throws CoreException {
    ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = launchManager.getLaunchConfigurationType(NodeDebuggerUtil.CHROMIUM_LAUNCH_CONFIGURATION_TYPE_ID);
    IProject project = OpenShiftServerUtils.getDeployProject(server);
    String projectName = project.getName();
    final ILaunchConfigurationWorkingCopy v8debugLaunch = type.newInstance(project, projectName);
    v8debugLaunch.setAttribute(LaunchParams.CHROMIUM_DEBUG_HOST, NodeDebuggerUtil.LOCALHOST);
    v8debugLaunch.setAttribute(LaunchParams.CHROMIUM_DEBUG_PORT, port);
    v8debugLaunch.setAttribute(LaunchParams.ADD_NETWORK_CONSOLE, true);
    v8debugLaunch.setAttribute(LaunchParams.BREAKPOINT_SYNC_DIRECTION, BreakpointSynchronizer.Direction.MERGE.name());
    v8debugLaunch.setAttribute(LaunchParams.SOURCE_LOOKUP_MODE, LaunchParams.LookupMode.EXACT_MATCH.name());
    v8debugLaunch.setAttribute(LaunchParams.ATTR_APP_PROJECT, OpenShiftServerUtils.getDeployProject(server).getName());
    v8debugLaunch.setAttribute(LaunchParams.ATTR_APP_PROJECT_RELATIVE_PATH, project.getFile(NodeDebuggerUtil.PACKAGE_JSON).getProjectRelativePath().toOSString());
    v8debugLaunch.setAttribute(LaunchParams.ATTR_REMOTE_HOME_DIR, getPodPath(server, new NullProgressMonitor()));
    v8debugLaunch.setAttribute(LaunchParams.PredefinedSourceWrapperIds.CONFIG_PROPERTY, NodeDebuggerUtil.encode(NodeDebuggerUtil.PREDEFIENED_WRAPPERS));
    DebugPlugin.getDefault().addDebugEventListener(new NodeDebugTerminateListener(v8debugLaunch, server));
    Display.getDefault().asyncExec(new Runnable() {

        @Override
        public void run() {
            DebugUITools.launch(v8debugLaunch, ILaunchManager.DEBUG_MODE);
            // Debug session has just started - adding server to tracker
            SessionStorage.get().put(server, v8debugLaunch);
        }
    });
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) ILaunchConfigurationType(org.eclipse.debug.core.ILaunchConfigurationType) ILaunchManager(org.eclipse.debug.core.ILaunchManager) ILaunchConfigurationWorkingCopy(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy) NodeDebugTerminateListener(org.jboss.tools.openshift.internal.js.listeners.NodeDebugTerminateListener) IProject(org.eclipse.core.resources.IProject)

Example 78 with ILaunchManager

use of org.eclipse.debug.core.ILaunchManager in project jbosstools-openshift by jbosstools.

the class NodeDebugLauncher method terminate.

public static void terminate(IServer server) throws DebugException {
    ILaunchConfiguration v8debugLaunch = SessionStorage.get().get(server);
    if (v8debugLaunch != null) {
        ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
        ILaunch[] runningLaunches = manager.getLaunches();
        for (ILaunch launch : runningLaunches) {
            if (v8debugLaunch.equals(launch.getLaunchConfiguration())) {
                launch.terminate();
            }
        }
    }
}
Also used : ILaunchConfiguration(org.eclipse.debug.core.ILaunchConfiguration) ILaunch(org.eclipse.debug.core.ILaunch) ILaunchManager(org.eclipse.debug.core.ILaunchManager)

Aggregations

ILaunchManager (org.eclipse.debug.core.ILaunchManager)78 ILaunchConfigurationType (org.eclipse.debug.core.ILaunchConfigurationType)53 ILaunchConfigurationWorkingCopy (org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)41 ILaunchConfiguration (org.eclipse.debug.core.ILaunchConfiguration)37 CoreException (org.eclipse.core.runtime.CoreException)28 ArrayList (java.util.ArrayList)15 ILaunch (org.eclipse.debug.core.ILaunch)14 IPath (org.eclipse.core.runtime.IPath)9 File (java.io.File)7 HashMap (java.util.HashMap)6 Path (org.eclipse.core.runtime.Path)6 IProject (org.eclipse.core.resources.IProject)5 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)5 IOException (java.io.IOException)4 Map (java.util.Map)4 IStatus (org.eclipse.core.runtime.IStatus)4 LinkedList (java.util.LinkedList)3 Status (org.eclipse.core.runtime.Status)3 IProcess (org.eclipse.debug.core.model.IProcess)3 IProcess2 (org.talend.core.model.process.IProcess2)3