diff --git a/launch/org.eclipse.cdt.launchbar-feature/.project b/launch/org.eclipse.cdt.launchbar-feature/.project
deleted file mode 100644
index b171f209f22..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- org.eclipse.cdt.launchbar-feature
-
-
-
-
-
- org.eclipse.pde.FeatureBuilder
-
-
-
-
-
- org.eclipse.pde.FeatureNature
-
-
diff --git a/launch/org.eclipse.cdt.launchbar-feature/build.properties b/launch/org.eclipse.cdt.launchbar-feature/build.properties
deleted file mode 100644
index 6c8e6da2e2e..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 QNX and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# QNX - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
- feature.properties
diff --git a/launch/org.eclipse.cdt.launchbar-feature/feature.properties b/launch/org.eclipse.cdt.launchbar-feature/feature.properties
deleted file mode 100644
index 414020faabc..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/feature.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-# features.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=LaunchBar
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse CDT
-
-# "description" property - description of the feature
-description=A Tool Control that sits in the TOP trim bar that controls build and launch.
-
-# copyright
-copyright=\
-Copyright (c) 2014 QNX Software Systems and others\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html
-
diff --git a/launch/org.eclipse.cdt.launchbar-feature/feature.xml b/launch/org.eclipse.cdt.launchbar-feature/feature.xml
deleted file mode 100644
index ccaa7c3e2a0..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/feature.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- %description
-
-
-
- %copyright
-
-
-
- %license
-
-
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar-feature/pom.xml b/launch/org.eclipse.cdt.launchbar-feature/pom.xml
deleted file mode 100644
index 27e8cebbbc2..00000000000
--- a/launch/org.eclipse.cdt.launchbar-feature/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- 4.0.0
-
-
- org.eclipse.cdt
- cdt-parent
- 8.5.0-SNAPSHOT
- ../../pom.xml
-
-
- 8.5.0-SNAPSHOT
- org.eclipse.cdt.features
- org.eclipse.cdt.launchbar
- eclipse-feature
-
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath b/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.project b/launch/org.eclipse.cdt.launchbar.cdt.core/.project
deleted file mode 100644
index b4e80a8ddba..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.eclipse.cdt.launchbar.cdt.core
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d03eaae2dac..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LaunchBar for CDT Core
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.cdt.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.cdt.core.internal.Activator
-Bundle-Vendor: Eclipse CDT
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.cdt.launchbar.core,
- org.eclipse.debug.core,
- org.eclipse.cdt.debug.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.cdt.core.internal;x-internal:=true
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties b/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties
deleted file mode 100644
index e9863e281ea..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml b/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml
deleted file mode 100644
index 5535690d377..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/plugin.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml b/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml
deleted file mode 100644
index eded905b751..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- 4.0.0
-
-
- org.eclipse.cdt
- cdt-parent
- 8.5.0-SNAPSHOT
- ../../pom.xml
-
-
- 1.0.0-SNAPSHOT
- org.eclipse.cdt.launchbar.cdt.core
- eclipse-plugin
-
diff --git a/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java b/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java
deleted file mode 100644
index 2ee76bf841d..00000000000
--- a/launch/org.eclipse.cdt.launchbar.cdt.core/src/org/eclipse/cdt/launchbar/cdt/core/internal/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.cdt.core.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static final String ID = "org.eclipse.cdt.launchbar.cdt.core";
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.classpath b/launch/org.eclipse.cdt.launchbar.core.tests/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.project b/launch/org.eclipse.cdt.launchbar.core.tests/.project
deleted file mode 100644
index dcc91f96735..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.eclipse.cdt.launchbar.core.tests
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 26ab2b0c390..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Launch Bar Core Tests
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.core.tests
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.core.tests.Activator
-Require-Bundle: org.eclipse.core.runtime,
- org.junit;bundle-version="4.11.0",
- org.mockito,
- org.eclipse.cdt.launchbar.core;bundle-version="1.0.0",
- org.eclipse.debug.core,
- org.eclipse.cdt.debug.core,
- org.eclipse.core.filesystem,
- org.hamcrest.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.core.tests
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/about.html b/launch/org.eclipse.cdt.launchbar.core.tests/about.html
deleted file mode 100644
index d7c511887d6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-About
-
-
-
About This Content
-
-
June 22, 2007
-
License
-
-
The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, "Program" will mean the Content.
-
-
If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at http://www.eclipse.org.
-
-
\ No newline at end of file
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/build.properties b/launch/org.eclipse.cdt.launchbar.core.tests/build.properties
deleted file mode 100644
index 34d2e4d2dad..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml b/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml
deleted file mode 100644
index 0570281df5e..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
- 4.0.0
-
-
- org.eclipse.cdt
- cdt-parent
- 8.5.0-SNAPSHOT
- ../../pom.xml
-
-
- 1.0.0-SNAPSHOT
- org.eclipse.cdt.launchbar.core.tests
- eclipse-test-plugin
-
-
-
-
- org.eclipse.tycho
- tycho-surefire-plugin
- ${tycho-version}
-
-
- true
- ${tycho.testArgLine} ${base.ui.test.vmargs} -ea -Xms256m -Xmx512m -XX:MaxPermSize=256M
-
- **/AutomatedIntegrationSuite.*
-
- true
-
-
- org.eclipse.platform.feature.group
- p2-installable-unit
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java
deleted file mode 100644
index e62b33142a3..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManagerTest.java
+++ /dev/null
@@ -1,829 +0,0 @@
-/*******************************************************************************
-> * Copyright (c) 2014 QNX Software Systems. All Rights Reserved.
- *
- * You must obtain a written license from and pay applicable license fees to QNX
- * Software Systems before you may reproduce, modify or distribute this software,
- * or any work that includes all or part of this software. Free development
- * licenses are available for evaluation and non-commercial purposes. For more
- * information visit [http://licensing.qnx.com] or email licensing@qnx.com.
- *
- * This file may contain contributions from others. Please review this entire
- * file for other proprietary rights or license notices, as well as the QNX
- * Development Suite License Guide at [http://licensing.qnx.com/license-guide/]
- * for other information.
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import static org.junit.Assert.assertNotEquals;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.cdt.launchbar.core.LaunchConfigurationProvider;
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManager.Listener;
-import org.eclipse.core.internal.preferences.EclipsePreferences;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.junit.Test;
-
-/**
- * @author elaskavaia
- *
- */
-public class LaunchBarManagerTest extends TestCase {
-
- // default type ids
- private static final String DEFAULT_CONFIG_TYPE_ID = "configType.test";
- private static final String DEFAULT_TARGET_TYPE_ID = "targetType.test";
- private static final String DEFAULT_DESCRIPTOR_TYPE_ID = "descriptorType.test";
-
- private IEclipsePreferences prefs;
- private ILaunchManager launchManager;
-
- public class TestLaunchBarManager extends LaunchBarManager {
- private ILaunchMode[] defaultLaunchModes;
- boolean done;
-
- public TestLaunchBarManager() throws CoreException {
- super();
- // For the tests, need to wait until the init is done
- synchronized (this) {
- while (!done) {
- try {
- wait();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- @Override
- public void init() throws CoreException {
- super.init();
- synchronized (this) {
- done = true;
- notify();
- }
- }
-
- @Override
- public IExtensionPoint getExtensionPoint() throws CoreException {
- // default things
- IExtensionPoint point = mock(IExtensionPoint.class);
-
- IExtension extension = mock(IExtension.class);
- doReturn(new IExtension[] { extension }).when(point).getExtensions();
-
- List elements = new ArrayList<>();
-
- IConfigurationElement element;
-
- // The local target
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("targetType").when(element).getName();
- doReturn(LocalTargetType.ID).when(element).getAttribute("id");
- doReturn(new LocalTargetType()).when(element).createExecutableExtension("class");
-
- // Test targets
- for (TestLaunchTargetType targetType : getTestTargetTypes()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("targetType").when(element).getName();
- doReturn(targetType.id).when(element).getAttribute("id");
- doReturn(targetType).when(element).createExecutableExtension("class");
- }
-
- // Test descriptors
- for (TestLaunchDescriptorType descType : getTestDescriptorTypes()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("descriptorType").when(element).getName();
- doReturn(descType.id).when(element).getAttribute("id");
- doReturn(Integer.toString(descType.priority)).when(element).getAttribute("priority");
- doReturn(descType).when(element).createExecutableExtension("class");
- }
-
- // Test config types
- for (TestLaunchConfigurationProvider provider : getTestConfigProviders()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("configType").when(element).getName();
- doReturn(provider.descTypeId).when(element).getAttribute("descriptorType");
- doReturn(provider.targetTypeId).when(element).getAttribute("targetType");
- doReturn(provider.configType.getIdentifier()).when(element).getAttribute("launchConfigurationType");
- doReturn(Boolean.toString(provider.isDefault)).when(element).getAttribute("isDefault");
-
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("configProvider").when(element).getName();
- doReturn(provider.configType.getIdentifier()).when(element).getAttribute("launchConfigurationType");
- doReturn(provider).when(element).createExecutableExtension("class");
- }
-
- // test object providers
- for (TestLaunchObjectProvider objectProvider : getTestObjectProviders()) {
- element = mock(IConfigurationElement.class);
- elements.add(element);
- doReturn("objectProvider").when(element).getName();
- doReturn(objectProvider).when(element).createExecutableExtension("class");
- }
-
- doReturn(elements.toArray(new IConfigurationElement[0])).when(extension).getConfigurationElements();
-
- return point;
- }
-
- protected TestLaunchTargetType[] getTestTargetTypes() {
- return new TestLaunchTargetType[] {
- new TestLaunchTargetType(DEFAULT_TARGET_TYPE_ID)
- };
- }
-
- protected TestLaunchDescriptorType[] getTestDescriptorTypes() {
- return new TestLaunchDescriptorType[] {
- new TestLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID, 5)
- };
- }
-
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- ILaunchConfigurationType configType = mockLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
-
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- return new TestLaunchObjectProvider[0];
- }
-
- @Override
- protected ILaunchManager getLaunchManager() {
- return launchManager;
- }
-
- @Override
- protected IEclipsePreferences getPreferenceStore() {
- return prefs;
- }
- };
-
- public static class TestLaunchTargetType implements ILaunchTargetType {
- final String id;
-
- public TestLaunchTargetType(String id) {
- this.id = id;
- }
-
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- // override if you want to add targets
- }
-
- @Override
- public void dispose() {
- }
- }
-
- public static class TestLaunchTarget extends PlatformObject implements ILaunchTarget {
- private ILaunchTargetType type;
- private String name;
-
- public TestLaunchTarget(String name, ILaunchTargetType type) {
- this.name = name;
- this.type = type;
- }
-
- public ILaunchTargetType getType() {
- return type;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setActive(boolean active) {
- }
- }
-
- public static class TestLaunchObject {
- final String name;
- final ILaunchDescriptorType descType;
-
- public TestLaunchObject(String name, ILaunchDescriptorType descType) {
- this.name = name;
- this.descType = descType;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof TestLaunchObject) {
- return name.equals(((TestLaunchObject) obj).name);
- }
- return super.equals(obj);
- }
-
- @Override
- public int hashCode() {
- return name.hashCode();
- }
- }
-
- public static class TestLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
- private final TestLaunchObject object;
- private final TestLaunchDescriptorType type;
-
- public TestLaunchDescriptor(TestLaunchDescriptorType type, TestLaunchObject object) {
- this.object = object;
- this.type = type;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (TestLaunchObject.class.equals(adapter)) {
- return object;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return object.name;
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
- }
-
- public static class TestLaunchDescriptorType implements ILaunchDescriptorType {
- final String id;
- final int priority;
-
- public TestLaunchDescriptorType(String id, int priority) {
- this.id = id;
- this.priority = priority;
- }
-
- @Override
- public boolean ownsLaunchObject(Object launchObject) throws CoreException {
- if (!(launchObject instanceof TestLaunchObject)) {
- return false;
- }
- return ((TestLaunchObject) launchObject).descType.equals(this);
- }
-
- @Override
- public ILaunchDescriptor getDescriptor(Object launchObject) throws CoreException {
- return new TestLaunchDescriptor(this, (TestLaunchObject) launchObject);
- }
- }
-
- public static class TestLaunchConfigurationProvider extends LaunchConfigurationProvider {
- final String descTypeId;
- final String targetTypeId;
- final ILaunchConfigurationType configType;
- final boolean isDefault;
- final LaunchBarManager manager;
-
- private static final String OBJECT_NAME = "testObject.objectName";
- private static final String DESC_TYPE = "testObject.descType";
-
- public TestLaunchConfigurationProvider(String descTypeId, String targetTypeId, ILaunchConfigurationType configType, boolean isDefault, LaunchBarManager manager) {
- this.descTypeId = descTypeId;
- this.targetTypeId = targetTypeId;
- this.configType = configType;
- this.isDefault = isDefault;
- this.manager = manager;
- }
-
- @Override
- public ILaunchConfigurationType getLaunchConfigurationType() throws CoreException {
- return configType;
- }
-
- @Override
- public ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException {
- String name = launchManager.generateLaunchConfigurationName(getConfigurationName(descriptor));
- ILaunchConfigurationWorkingCopy workingCopy = getLaunchConfigurationType().newInstance(null, name);
- doReturn(name).when(workingCopy).getAttribute(ORIGINAL_NAME, "");
-
- TestLaunchObject launchObject = (TestLaunchObject) descriptor.getAdapter(TestLaunchObject.class);
- doReturn(launchObject.name).when(workingCopy).getAttribute(OBJECT_NAME, "");
- doReturn(manager.getDescriptorTypeId(launchObject.descType)).when(workingCopy).getAttribute(DESC_TYPE, "");
- return workingCopy.doSave();
- }
-
- @Override
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- super.populateConfiguration(workingCopy, descriptor);
-
- }
-
- @Override
- public Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException {
- if (ownsConfiguration(configuration)) {
- String objectName = configuration.getAttribute(OBJECT_NAME, "");
- String descTypeId = configuration.getAttribute(DESC_TYPE, "");
- if (!objectName.isEmpty() && !descTypeId.isEmpty()) {
- return new TestLaunchObject(objectName, manager.getLaunchDescriptorType(descTypeId));
- }
- }
- return null;
- }
-
- @Override
- public boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException {
- if (ownsConfiguration(configuration)) {
- return true;
- }
- return false;
- }
-
- }
-
- public abstract class TestLaunchObjectProvider implements ILaunchObjectProvider {
- @Override
- public void dispose() {
- // nothing by default
- }
- }
-
- protected ILaunchConfigurationType mockLaunchConfigurationType(String id) {
- return mockLaunchConfigurationType(id, launchManager.getLaunchModes());
- }
-
- protected ILaunchConfigurationType mockLaunchConfigurationType(String id, ILaunchMode[] modes) {
- ILaunchConfigurationType type = mock(ILaunchConfigurationType.class);
- doReturn(id).when(type).getIdentifier();
- doReturn(type).when(launchManager).getLaunchConfigurationType(id);
-
- // mock for supportsMode
- for (ILaunchMode mode : modes) {
- String modeid = mode.getIdentifier();
- doReturn(true).when(type).supportsMode(modeid);
- }
-
- return type;
- }
-
- protected ILaunchConfigurationWorkingCopy mockLaunchConfiguration(String name, ILaunchConfigurationType type) throws CoreException {
- ILaunchConfigurationWorkingCopy wc = mock(ILaunchConfigurationWorkingCopy.class);
- doReturn(name).when(wc).getName();
- doReturn(type).when(wc).getType();
- doReturn(wc).when(wc).doSave();
- doReturn(name).when(launchManager).generateLaunchConfigurationName(name);
- doReturn(wc).when(type).newInstance(null, name);
- return wc;
- }
-
- //
- // Now that we have all the setup,
- // Actual tests :)
- //
-
- @Override
- protected void setUp() throws Exception {
- // Prefs are shared across an entire test
- prefs = new EclipsePreferences();
-
- // launch manager and default modes
- launchManager = mock(ILaunchManager.class);
- try {
- doReturn(new ILaunchConfiguration[] {}).when(launchManager).getLaunchConfigurations();
- } catch (CoreException e) {
- fail(e.getMessage());
- }
-
- ILaunchMode runMode = mock(ILaunchMode.class);
- doReturn("run").when(runMode).getIdentifier();
- doReturn("Run").when(runMode).getLabel();
- doReturn("Run As...").when(runMode).getLaunchAsLabel();
- doReturn(runMode).when(launchManager).getLaunchMode("run");
-
- ILaunchMode debugMode = mock(ILaunchMode.class);
- doReturn("debug").when(debugMode).getIdentifier();
- doReturn("Debug").when(debugMode).getLabel();
- doReturn("Debug As...").when(debugMode).getLaunchAsLabel();
- doReturn(debugMode).when(launchManager).getLaunchMode("debug");
-
- doReturn(new ILaunchMode[] { runMode, debugMode }).when(launchManager).getLaunchModes();
- }
-
- @Test
- public void testLaunchBarManager() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
- assertNull(manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNull(manager.getActiveLaunchMode());
- }
-
- @Test
- public void testSuccessPath() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- assertNotNull(configType);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- // fire in launch object and target
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- assertNotNull(descType);
- TestLaunchObject launchObject = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(launchObject);
-
- // check our state
- assertEquals(manager.getLaunchDescriptor(launchObject), manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNotNull(manager.getActiveLaunchMode());
-
- ILaunchTargetType targetType = manager.getLaunchTargetType(DEFAULT_TARGET_TYPE_ID);
- assertNotNull(targetType);
- ILaunchTarget testTarget = new TestLaunchTarget("testTarget", targetType);
- manager.launchTargetAdded(testTarget);
-
- // verify that our launch config got created and saved
- assertNotNull(manager.getActiveLaunchMode());
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- verify(wc).doSave();
-
- // now remove the launch object and make sure everything resets
- manager.launchObjectRemoved(launchObject);
- assertNull(manager.getActiveLaunchDescriptor());
- assertNull(manager.getActiveLaunchTarget());
- assertNull(manager.getActiveLaunchMode());
- verify(wc).delete();
-
- // remove the target and make sure it's gone.
- manager.launchTargetRemoved(testTarget);
- ILaunchTarget[] allTargets = manager.getAllLaunchTargets();
- assertEquals(1, allTargets.length);
- assertNotEquals(testTarget, allTargets[0]);
- }
-
- @Test
- public void testWrongObject() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- mockLaunchConfiguration(name, configType);
-
- // fire in launch target but object with no descriptor
- manager.launchObjectAdded(new Object());
- manager.launchTargetAdded(new TestLaunchTarget("testTarget", manager.getLaunchTargetType(DEFAULT_TARGET_TYPE_ID)));
-
- // verify that there are no launch configs
- assertNull(manager.getActiveLaunchConfiguration());
- }
-
- @Test
- public void testNoTarget() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- // mock out the launch config that will be created
- String name = "testConfig";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- // create descriptor and target
- manager.launchObjectAdded(new TestLaunchObject(name, manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
-
- // verify that our launch config got created and saved even though the default config type
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- verify(wc).doSave();
- }
-
- @Test
- public void testDefaultDescriptor() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
-
- ILaunchConfigurationType configType = mockLaunchConfigurationType("configType.default");
- ILaunchConfiguration config = mockLaunchConfiguration("defaultConfig", configType);
- manager.launchConfigurationAdded(config);
- assertEquals(config, manager.getActiveLaunchConfiguration());
-
- manager.launchConfigurationRemoved(config);
- assertNull(manager.getActiveLaunchConfiguration());
- }
-
- @Test
- public void testSetActiveDescriptor() throws Exception {
- final TestLaunchBarManager manager = new TestLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
-
- // descriptor for the test descriptor
- String name = "test1";
- ILaunchConfigurationType configType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- ILaunchConfigurationWorkingCopy wc = mockLaunchConfiguration(name, configType);
-
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- TestLaunchObject testObject1 = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(testObject1);
- ILaunchDescriptor test1 = manager.getLaunchDescriptor(testObject1);
- assertNotNull(test1);
-
- final ILaunchMode[] testActiveMode = new ILaunchMode[1];
- final ILaunchDescriptor[] testActiveDesc = new ILaunchDescriptor[1];
- Listener listener = new Listener() {
- @Override
- public void launchTargetsChanged() {
- }
-
- @Override
- public void launchDescriptorRemoved(ILaunchDescriptor descriptor) {
- }
-
- @Override
- public void activeLaunchTargetChanged() {
- }
-
- @Override
- public void activeLaunchModeChanged() {
- testActiveMode[0] = manager.getActiveLaunchMode();
- }
-
- @Override
- public void activeLaunchDescriptorChanged() {
- testActiveDesc[0] = manager.getActiveLaunchDescriptor();
- }
- };
- manager.addListener(listener);
-
- // descriptor for the default descriptor
- ILaunchConfigurationType defaultConfigType = mockLaunchConfigurationType("configType.default");
- ILaunchConfiguration config = mockLaunchConfiguration("test2", defaultConfigType);
- manager.launchConfigurationAdded(config);
- ILaunchDescriptor test2 = manager.getLaunchDescriptor(config);
- assertNotNull(test2);
- assertNotSame(test1, test2);
- manager.setActiveLaunchMode(runMode);
-
- // test2 should be active by default since it was created last
- assertEquals(test2, manager.getActiveLaunchDescriptor());
- assertEquals(test2, testActiveDesc[0]);
- assertEquals(config, manager.getActiveLaunchConfiguration());
- assertEquals(runMode, manager.getActiveLaunchMode());
- assertEquals(runMode, testActiveMode[0]);
-
- // flip to test1
- testActiveMode[0] = null;
- testActiveDesc[0] = null;
- manager.setActiveLaunchDescriptor(test1);
- manager.setActiveLaunchMode(debugMode);
- assertEquals(test1, manager.getActiveLaunchDescriptor());
- assertEquals(test1, testActiveDesc[0]);
- assertEquals(wc, manager.getActiveLaunchConfiguration());
- assertEquals(debugMode, manager.getActiveLaunchMode());
- assertEquals(debugMode, testActiveMode[0]);
-
- // and back to test2
- testActiveMode[0] = null;
- testActiveDesc[0] = null;
- manager.setActiveLaunchDescriptor(test2);
- assertEquals(test2, manager.getActiveLaunchDescriptor());
- assertEquals(test2, testActiveDesc[0]);
- assertEquals(config, manager.getActiveLaunchConfiguration());
- assertEquals(runMode, manager.getActiveLaunchMode());
- assertEquals(runMode, testActiveMode[0]);
- }
-
- @Test
- public void testSetActiveMode() throws Exception {
- TestLaunchBarManager manager = new TestLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
-
- String name = "test";
- ILaunchConfigurationType testConfigType = manager.getLaunchManager().getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- mockLaunchConfiguration(name, testConfigType);
-
- ILaunchDescriptorType descType = manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID);
- TestLaunchObject testObject = new TestLaunchObject(name, descType);
- manager.launchObjectAdded(testObject);
- assertNotNull(manager.getActiveLaunchConfiguration());
-
- // The default launch mode is debug (that may change)
- assertEquals(debugMode, manager.getActiveLaunchMode());
-
- // Set to run
- manager.setActiveLaunchMode(runMode);
- assertEquals(runMode, manager.getActiveLaunchMode());
-
- // and back to debug
- manager.setActiveLaunchMode(debugMode);
- assertEquals(debugMode, manager.getActiveLaunchMode());
- }
-
- @Test
- public void testSetActiveTarget() throws Exception {
- // create separate target types and provider types for each one
- final ILaunchConfigurationType configType1 = mockLaunchConfigurationType("configType.test1");
- final ILaunchConfigurationType configType2 = mockLaunchConfigurationType("configType.test2");
- final TestLaunchTargetType targetType1 = new TestLaunchTargetType("targetType.test1");
- final TestLaunchTargetType targetType2 = new TestLaunchTargetType("targetType.test2");
-
- TestLaunchBarManager manager = new TestLaunchBarManager() {
- @Override
- protected TestLaunchTargetType[] getTestTargetTypes() {
- return new TestLaunchTargetType[] { targetType1, targetType2 };
- }
- @Override
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- TestLaunchConfigurationProvider provider1 = new TestLaunchConfigurationProvider(
- DEFAULT_DESCRIPTOR_TYPE_ID, targetType1.id, configType1, true, this);
- TestLaunchConfigurationProvider provider2 = new TestLaunchConfigurationProvider(
- DEFAULT_DESCRIPTOR_TYPE_ID, targetType2.id, configType2, true, this);
- return new TestLaunchConfigurationProvider[] { provider1, provider2 };
- }
- };
-
- // Target 1
- ILaunchConfiguration config1 = mockLaunchConfiguration("test1", configType1);
- TestLaunchTarget target1 = new TestLaunchTarget("testTarget1", targetType1);
- manager.launchTargetAdded(target1);
-
- // add in our object
- manager.launchObjectAdded(new TestLaunchObject("test1", manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
-
- // launch config and target should be the default one
- assertEquals(target1, manager.getActiveLaunchTarget());
- assertEquals(config1, manager.getActiveLaunchConfiguration());
-
- // switching to second target type should create a new config, but it needs a new name
- ILaunchManager launchManager = manager.getLaunchManager();
- doReturn("test2").when(launchManager).generateLaunchConfigurationName("test1");
- ILaunchConfiguration config2 = mockLaunchConfiguration("test2", configType2);
- TestLaunchTarget target2 = new TestLaunchTarget("testTarget2", targetType2);
- manager.setActiveLaunchTarget(target2);
-
- assertEquals(target2, manager.getActiveLaunchTarget());
- assertEquals(config2, manager.getActiveLaunchConfiguration());
- assertEquals("test2", manager.getActiveLaunchConfiguration().getName());
- }
-
- public class TestRestartLaunchBarManager extends TestLaunchBarManager {
- public TestRestartLaunchBarManager() throws CoreException {
- super();
- }
-
- @Override
- protected TestLaunchTargetType[] getTestTargetTypes() {
- TestLaunchTargetType targetType = new TestLaunchTargetType(DEFAULT_TARGET_TYPE_ID) {
- public void init(ILaunchBarManager manager) throws CoreException {
- manager.launchTargetAdded(new TestLaunchTarget("testTarget1", this));
- manager.launchTargetAdded(new TestLaunchTarget("testTarget2", this));
- }
- };
- return new TestLaunchTargetType[] { targetType };
- }
-
- @Override
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- TestLaunchObjectProvider provider = new TestLaunchObjectProvider() {
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- mockLaunchConfiguration("test1", launchManager.getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID));
- manager.launchObjectAdded(new TestLaunchObject("test1", getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- mockLaunchConfiguration("test2", launchManager.getLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID));
- manager.launchObjectAdded(new TestLaunchObject("test2", getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- }
- };
- return new TestLaunchObjectProvider[] { provider };
- }
- }
-
- @Test
- public void testRestart() throws Exception {
- // create two over everything, set second active, and make sure it's remembered in a second manager
- TestLaunchBarManager manager = new TestRestartLaunchBarManager();
- ILaunchMode runMode = launchManager.getLaunchMode("run");
- ILaunchMode debugMode = launchManager.getLaunchMode("debug");
- assertNotNull(runMode);
-
- // get our targets
- ILaunchTarget target1 = manager.getLaunchTarget(new Pair(DEFAULT_TARGET_TYPE_ID, "testTarget1"));
- assertNotNull(target1);
- ILaunchTarget target2 = manager.getLaunchTarget(new Pair(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
-
- // get our descriptors
- ILaunchDescriptor desc1 = manager.getLaunchDescriptor(new Pair(DEFAULT_DESCRIPTOR_TYPE_ID, "test1"));
- assertNotNull(desc1);
- ILaunchDescriptor desc2 = manager.getLaunchDescriptor(new Pair(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
-
- // Set the actives one way
- manager.setActiveLaunchDescriptor(desc1);
- manager.setActiveLaunchTarget(target1);
- manager.setActiveLaunchMode(runMode);
-
- // Create a new manager and check they are the same
- manager = new TestRestartLaunchBarManager();
- desc1 = manager.getLaunchDescriptor(new Pair(DEFAULT_DESCRIPTOR_TYPE_ID, "test1"));
- assertNotNull(desc1);
- desc2 = manager.getLaunchDescriptor(new Pair(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
- assertEquals(desc1, manager.getActiveLaunchDescriptor());
-
- target1 = manager.getLaunchTarget(new Pair(DEFAULT_TARGET_TYPE_ID, "testTarget1"));
- assertNotNull(target1);
- target2 = manager.getLaunchTarget(new Pair(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
- assertEquals(target1, manager.getActiveLaunchTarget());
- assertEquals(runMode, manager.getActiveLaunchMode());
-
- // Set them the other way
- manager.setActiveLaunchDescriptor(desc2);
- manager.setActiveLaunchTarget(target2);
- manager.setActiveLaunchMode(debugMode);
-
- // Create a new manager and check they stuck
- manager = new TestRestartLaunchBarManager();
- desc2 = manager.getLaunchDescriptor(new Pair(DEFAULT_DESCRIPTOR_TYPE_ID, "test2"));
- assertNotNull(desc2);
- assertEquals(desc2, manager.getActiveLaunchDescriptor());
- target2 = manager.getLaunchTarget(new Pair(DEFAULT_TARGET_TYPE_ID, "testTarget2"));
- assertNotNull(target2);
- assertEquals(target2, manager.getActiveLaunchTarget());
- assertEquals(debugMode, manager.getActiveLaunchMode());
- }
-
- @Test
- public void testLaunchConfigCapture() throws Exception {
- final ILaunchConfigurationType configType = mockLaunchConfigurationType(DEFAULT_CONFIG_TYPE_ID);
- TestLaunchBarManager manager = new TestLaunchBarManager() {
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
- };
-
- ILaunchConfiguration config = mockLaunchConfiguration("test", configType);
- manager.launchObjectAdded(new TestLaunchObject("test", manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));
- String activeDescId = manager.toString(manager.getDescriptorId(manager.getActiveLaunchDescriptor()));
- assertEquals(manager.getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID), manager.getActiveLaunchDescriptor().getType());
- assertEquals(config, manager.getActiveLaunchConfiguration());
-
- // restart and make sure the same descriptor is selected and new one new ones created
- doReturn(new ILaunchConfiguration[] { config }).when(launchManager).getLaunchConfigurations();
- manager = new TestLaunchBarManager() {
- protected TestLaunchConfigurationProvider[] getTestConfigProviders() {
- return new TestLaunchConfigurationProvider[] {
- new TestLaunchConfigurationProvider(DEFAULT_DESCRIPTOR_TYPE_ID, DEFAULT_TARGET_TYPE_ID, configType, true, this)
- };
- }
- @Override
- protected TestLaunchObjectProvider[] getTestObjectProviders() {
- return new TestLaunchObjectProvider[] {
- new TestLaunchObjectProvider() {
- @Override
- public void init(ILaunchBarManager manager) throws CoreException {
- manager.launchObjectAdded(
- new TestLaunchObject("test",
- getLaunchDescriptorType(DEFAULT_DESCRIPTOR_TYPE_ID)));;
- }
- }
- };
- }
- };
- String newActiveDescId = manager.toString(manager.getDescriptorId(manager.getActiveLaunchDescriptor()));
- assertEquals(activeDescId, newActiveDescId);
- assertEquals(1, manager.getLaunchDescriptors().length);
- }
-
- // TODO - test that two target types that map to the same desc type and config type share configs
- // TODO - test duplicating a config. make sure it's default desc and same targets
- // TODO - test project descriptors and stuff
- // TODO - test descriptor takeovers (new descriptors on launchObjectChange
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java
deleted file mode 100644
index 8a30e30181d..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.cdt.launchbar.core.tests;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java b/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java
deleted file mode 100644
index 96b3c92ae4f..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core.tests/src/org/eclipse/cdt/launchbar/core/tests/AutomatedIntegrationSuite.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2011 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX Software Systems - initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.tests;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.cdt.launchbar.core.internal.LaunchBarManagerTest;
-
-public class AutomatedIntegrationSuite extends TestSuite {
- public AutomatedIntegrationSuite() {
- }
-
- public AutomatedIntegrationSuite(Class extends TestCase> theClass, String name) {
- super(theClass, name);
- }
-
- public AutomatedIntegrationSuite(Class extends TestCase> theClass) {
- super(theClass);
- }
-
- public AutomatedIntegrationSuite(String name) {
- super(name);
- }
-
- public static Test suite() {
- final AutomatedIntegrationSuite suite = new AutomatedIntegrationSuite();
- // tests
- suite.addTestSuite(LaunchBarManagerTest.class);
- return suite;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/.classpath b/launch/org.eclipse.cdt.launchbar.core/.classpath
deleted file mode 100644
index 098194ca4b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core/.options b/launch/org.eclipse.cdt.launchbar.core/.options
deleted file mode 100644
index e7101e847b7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.cdt.launchbar.core/debug=true
-org.eclipse.cdt.launchbar.core/debug/launchbar=true
diff --git a/launch/org.eclipse.cdt.launchbar.core/.project b/launch/org.eclipse.cdt.launchbar.core/.project
deleted file mode 100644
index 410fd5c6bc7..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.eclipse.cdt.launchbar.core
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs b/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f42de363afa..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF b/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 83d9d210b5a..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LaunchBar Core
-Bundle-SymbolicName: org.eclipse.cdt.launchbar.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.cdt.launchbar.core.internal.Activator
-Bundle-Vendor: Eclipse CDT
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.debug.core
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.cdt.launchbar.core,
- org.eclipse.cdt.launchbar.core.internal;x-friends:="org.eclipse.cdt.launchbar.ui,org.eclipse.cdt.launchbar.core.tests"
diff --git a/launch/org.eclipse.cdt.launchbar.core/about.html b/launch/org.eclipse.cdt.launchbar.core/about.html
deleted file mode 100644
index d7c511887d6..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-About
-
-
-
About This Content
-
-
June 22, 2007
-
License
-
-
The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, "Program" will mean the Content.
-
-
If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at http://www.eclipse.org.
-
-
\ No newline at end of file
diff --git a/launch/org.eclipse.cdt.launchbar.core/build.properties b/launch/org.eclipse.cdt.launchbar.core/build.properties
deleted file mode 100644
index e9863e281ea..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/launch/org.eclipse.cdt.launchbar.core/plugin.xml b/launch/org.eclipse.cdt.launchbar.core/plugin.xml
deleted file mode 100644
index 5d13b58ee97..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core/pom.xml b/launch/org.eclipse.cdt.launchbar.core/pom.xml
deleted file mode 100644
index d8b92b7cf86..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- 4.0.0
-
-
- org.eclipse.cdt
- cdt-parent
- 8.5.0-SNAPSHOT
- ../../pom.xml
-
-
- 1.0.0-SNAPSHOT
- org.eclipse.cdt.launchbar.core
- eclipse-plugin
-
diff --git a/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd b/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd
deleted file mode 100644
index 36e5548a98a..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/schema/launchBarContributions.exsd
+++ /dev/null
@@ -1,294 +0,0 @@
-
-
-
-
-
-
-
-
- [Enter description of this extension point.]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A descriptor represents an object that can be converted into a launch configuration. The typical example is IProject. Launch configurations can be created that launch the build output of the project.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A target is the machine you launch on. Typical examples include the local machine we are running on, or remote embedded or server targets.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Descriptor types and target types map to a launch configuration type. Configurations of that type knows how to launch for the desciptor on targets of that type.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Is this the default target type for this descriptor type.
-
-
-
-
-
-
-
-
-
- The config provider knows how to create launch configurations from descriptors. It tracks which configs it has created so that they don't show up as descriptors on their own.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The default config provider is brought in when no other config providers claim a given launch configuration. This entry associates a target type with the launch configuration so that it can be launched on targets of that type.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Is this the default target type for this descriptor type.
-
-
-
-
-
-
-
-
-
- Object providers pump launch objects into the model as they are created and removed. These are used to create descriptors for these objects.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [Enter the first release in which this extension point appears.]
-
-
-
-
-
-
-
-
- [Enter extension point usage example here.]
-
-
-
-
-
-
-
-
- [Enter API information here.]
-
-
-
-
-
-
-
-
- [Enter information about supplied implementation of this extension point.]
-
-
-
-
-
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java
deleted file mode 100644
index ac5bbe0d3bc..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchBarManager.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-public interface ILaunchBarManager {
-
- /**
- * A launch object has been added. Create a matching launch descriptor if available.
- *
- * @param element launch object
- * @return the launch descriptor that got created, null of none was
- * @throws CoreException
- */
- ILaunchDescriptor launchObjectAdded(Object launchObject) throws CoreException;
-
- /**
- * A launch object has been removed. Remove the associated launch descriptor if there is one.
- *
- * @param element launch object
- * @throws CoreException
- */
- void launchObjectRemoved(Object launchObject) throws CoreException;
-
- /**
- * A launch object has changed in some way that affects the launch bar.
- *
- * @param launchObject
- * @throws CoreException
- */
- void launchObjectChanged(Object launchObject) throws CoreException;
-
- /**
- * A new launch target has been added.
- *
- * @param target launch target
- * @throws CoreException
- */
- void launchTargetAdded(ILaunchTarget target) throws CoreException;
-
- /**
- * A launch target has been removed.
- *
- * @param target launch target
- * @throws CoreException
- */
- void launchTargetRemoved(ILaunchTarget target) throws CoreException;
-
- /**
- * The launch target has changed in some way that affects the
- * launch bar.
- *
- * @param target launch target
- */
- void launchTargetChanged(ILaunchTarget target);
-
- // TODO API for adding and removing types.
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java
deleted file mode 100644
index f2910fb2445..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchConfigurationProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * The provider of launch configurations of a given type for a given descriptor type
- * and a given target type.
- */
-public interface ILaunchConfigurationProvider {
-
- /**
- * Does this provider own this launch configuration. If so, make sure the launch descriptor
- * is properly constructed by sending in a launch object to the launch manager.
- * And return that object.
- *
- * @param configuration
- * @return launch object that relates to this config
- * @throws CoreException
- */
- Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException;
-
- /**
- * A launch configuration has been removed.
- *
- * @param configuration
- * @return was the launch configuration removed by this provider?
- * @throws CoreException
- */
- boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException;
-
- /**
- * Returns the launch configuration type for configurations created by this provider.
- *
- * @return launch configuration type
- * @throws CoreException
- */
- ILaunchConfigurationType getLaunchConfigurationType() throws CoreException;
-
- /**
- * Create a launch configuration for the descriptor to launch on the target.
- *
- * @param descriptor
- * @param target
- * @return launch configuration
- * @throws CoreException
- */
- ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException;
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java
deleted file mode 100644
index b5d6f7fb2c9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-
-/**
- * Represents a thing that can be launched.
- * It is good practice that the descriptor is adaptable to the launch object
- * it is representing.
- */
-public interface ILaunchDescriptor extends IAdaptable {
-
- /**
- * Name to show in the launch descriptor selector.
- * Names must be unique for all descriptors of a given type.
- *
- * @return name of the launch descriptor
- */
- String getName();
-
- /**
- * The type of launch descriptor.
- *
- * @return provider
- */
- ILaunchDescriptorType getType();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java
deleted file mode 100644
index 564aee33129..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchDescriptorType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Provides mapping between launch objects and launch descriptors.
- *
- * It is strongly recommended to extend AbstarctLaunchDescriptorType instead of implementing this directly
- */
-public interface ILaunchDescriptorType {
-
- /**
- * Does this type own this launch object?
- *
- * @deprecated this needs to be replaced by enablement to avoid plug-in loading.
- *
- * @param element
- * @return owns element
- * @throws CoreException
- */
- boolean ownsLaunchObject(Object launchObject) throws CoreException;
-
- /**
- * Return a descriptor for the given launch object.
- *
- * May return null to essentially eat the element so no other types
- * create a descriptor for it.
- *
- * @param descriptor launch object for descriptor
- * @return the best descriptor
- * @throws CoreException
- */
- ILaunchDescriptor getDescriptor(Object launchObject) throws CoreException;
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java
deleted file mode 100644
index 25426ea2ad9..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchObjectProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * An extension that serves up objects to feed launch descriptors.
- *
- */
-public interface ILaunchObjectProvider {
-
- /**
- * Add initial launch descriptors and set up for new ones.
- *
- * @param launchbar manager
- * @throws CoreException
- */
- void init(ILaunchBarManager manager) throws CoreException;
-
- /**
- * Shutting down, remove any listeners.
- */
- void dispose();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java
deleted file mode 100644
index d5f01c1d661..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTarget.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-public interface ILaunchTarget extends IAdaptable {
-
- /**
- * Returns the name of this target.
- * Names must be unique across all targets of a given type.
- *
- * @return name of the target
- */
- String getName();
-
- /**
- * Returns the type for this target.
- *
- * @return type of the target
- */
- ILaunchTargetType getType();
-
- /**
- * The active state of this target has changed.
- *
- * @param active active state of the target
- */
- void setActive(boolean active);
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java
deleted file mode 100644
index 361f8b210f5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ILaunchTargetType.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-public interface ILaunchTargetType {
-
- /**
- * Add initial targets and set up any listeners.
- *
- * @param manager
- * @throws CoreException
- */
- void init(ILaunchBarManager manager) throws CoreException;
-
- /**
- * Shutting down, remove any listeners
- */
- void dispose();
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java
deleted file mode 100644
index 9fa3cf3e202..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/LaunchConfigurationProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.cdt.launchbar.core.internal.Activator;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-
-/**
- * A root class for launch configuration providers. Provides the ability to detect launch
- * configurations that it has created.
- */
-public abstract class LaunchConfigurationProvider implements ILaunchConfigurationProvider {
-
- // Used to make sure this is the config we've created
- protected static final String ORIGINAL_NAME = Activator.PLUGIN_ID + ".originalName";
-
- @Override
- public ILaunchConfiguration createLaunchConfiguration(ILaunchManager launchManager, ILaunchDescriptor descriptor) throws CoreException {
- String name = launchManager.generateLaunchConfigurationName(getConfigurationName(descriptor));
- ILaunchConfigurationWorkingCopy wc = getLaunchConfigurationType().newInstance(null, name);
- wc.setAttribute(ORIGINAL_NAME, name);
- populateConfiguration(wc, descriptor);
- return wc.doSave();
- }
-
- /**
- * Potential name for new configurations. Names are still put through the launch manager
- * to ensure they are unique.
- *
- * @param descriptor the launch descriptor triggering the configuration creation
- * @return candidate configuration name
- */
- protected String getConfigurationName(ILaunchDescriptor descriptor) {
- // by default, use the descriptor name
- return descriptor.getName();
- }
-
- /**
- * Populate the new configuration with attributes and resources.
- *
- * @param workingCopy working copy for the new configuration
- * @param descriptor the launch descriptor that triggered the new configuration
- * @throws CoreException
- */
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- // by default, nothing to add
- }
-
- /**
- * Determines if we created this launch configuration. Generally used by the launch configuration
- * add handler to determine if the incoming launch configuration is ours.
- *
- * @param configuration
- * @return do we own this launch configuration
- * @throws CoreException
- */
- protected boolean ownsConfiguration(ILaunchConfiguration configuration) throws CoreException {
- // must be the same config type
- if (!configuration.getType().equals(getLaunchConfigurationType()))
- return false;
-
- // we created it if it has the same name we created it with
- return configuration.getAttribute(ORIGINAL_NAME, "").equals(configuration.getName());
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java
deleted file mode 100644
index 38aa0203a5b..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchConfigurationProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * A root launch configuration provider that can be used with project launch descriptors.
- * Takes ownership of configurations we've created that map to the the project.
- */
-public abstract class ProjectLaunchConfigurationProvider extends LaunchConfigurationProvider {
-
- @Override
- protected void populateConfiguration(ILaunchConfigurationWorkingCopy workingCopy, ILaunchDescriptor descriptor) throws CoreException {
- super.populateConfiguration(workingCopy, descriptor);
-
- // Add our project to the mapped resources
- IProject project = (IProject) descriptor.getAdapter(IProject.class);
- IResource[] mappedResources = workingCopy.getMappedResources();
- if (mappedResources == null || mappedResources.length == 0) {
- workingCopy.setMappedResources(new IResource[] { project });
- } else {
- IResource[] newResources = new IResource[mappedResources.length + 1];
- System.arraycopy(mappedResources, 0, newResources, 0, mappedResources.length);
- newResources[mappedResources.length] = project;
- workingCopy.setMappedResources(newResources);
- }
- }
-
- /**
- * Extract the project from the launch configuration. Used when checking if we own it.
- *
- * @param configuration
- * @return project for launch configuration.
- * @throws CoreException
- */
- protected IProject getProject(ILaunchConfiguration configuration) throws CoreException {
- // by default return the first project in the mapped resources
- for (IResource resource : configuration.getMappedResources()) {
- if (resource instanceof IProject) {
- return (IProject) resource;
- }
- }
-
- return null;
- }
-
- @Override
- public Object launchConfigurationAdded(ILaunchConfiguration configuration) throws CoreException {
- if (!ownsConfiguration(configuration)) {
- return null;
- }
-
- IProject project = getProject(configuration);
- if (project == null) {
- // The user must have changed project. We don't own it any more in that case.
- return null;
- }
-
- return project;
- }
-
- @Override
- public boolean launchConfigurationRemoved(ILaunchConfiguration configuration) throws CoreException {
- return ownsConfiguration(configuration);
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java
deleted file mode 100644
index 9d9fc1dd408..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/ProjectLaunchDescriptor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.PlatformObject;
-
-/**
- * A reusable descriptor for wrapping projects that can be used by descriptor types
- * that map to projects.
- */
-public class ProjectLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
-
- private final ILaunchDescriptorType type;
- private final IProject project;
-
- public ProjectLaunchDescriptor(ILaunchDescriptorType type, IProject project) {
- this.type = type;
- this.project = project;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (IProject.class.equals(adapter)) {
- return project;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return project.getName();
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java
deleted file mode 100644
index 0352d6240d5..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/Activator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-public class Activator extends Plugin {
-
- public static final String PLUGIN_ID = "org.eclipse.cdt.launchbar.core";
- private static Activator plugin;
- private LaunchBarManager launchBarManager;
-
- public void start(BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- plugin = this;
- launchBarManager = new LaunchBarManager();
- bundleContext.registerService(ILaunchBarManager.class, launchBarManager, null);
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- super.stop(bundleContext);
- plugin = null;
- launchBarManager.dispose();
- launchBarManager = null;
- }
-
- public static Activator getDefault() {
- return plugin;
- }
-
- public LaunchBarManager getLaunchBarManager() {
- return launchBarManager;
- }
-
- public static void throwCoreException(Exception e) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, PLUGIN_ID, e.getLocalizedMessage(), e));
- }
-
- public static void log(IStatus status) {
- if (plugin != null)
- plugin.getLog().log(status);
- else
- System.err.println(status.getMessage());
- }
-
- public static void log(Exception exception) {
- log(new Status(IStatus.ERROR, PLUGIN_ID, exception.getLocalizedMessage(), exception));
- }
-
- private static final String DEBUG_ONE =
- PLUGIN_ID + "/debug/launchbar";
-
- public static void trace(String str) {
- if (plugin == null || (plugin.isDebugging() && "true".equalsIgnoreCase(Platform.getDebugOption(DEBUG_ONE))))
- System.out.println("launchbar: " + str);
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java
deleted file mode 100644
index 5038eff773e..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A special launch descriptor that managed configurations that aren't owned by other
- * descriptors.
- */
-public class DefaultLaunchDescriptor extends PlatformObject implements ILaunchDescriptor {
-
- private final DefaultLaunchDescriptorType type;
- private final ILaunchConfiguration configuration;
-
- public DefaultLaunchDescriptor(DefaultLaunchDescriptorType type, ILaunchConfiguration configuration) {
- this.type = type;
- this.configuration = configuration;
- }
-
- @Override
- public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
- if (ILaunchConfiguration.class.equals(adapter)) {
- return configuration;
- }
- return super.getAdapter(adapter);
- }
-
- @Override
- public String getName() {
- return configuration.getName();
- }
-
- @Override
- public ILaunchDescriptorType getType() {
- return type;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java
deleted file mode 100644
index 79dd1c318c2..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/DefaultLaunchDescriptorType.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.cdt.launchbar.core.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A special descriptor type that managed configurations that aren't owned
- * by other descriptor types.
- */
-public class DefaultLaunchDescriptorType implements ILaunchDescriptorType {
-
- public static final String ID = Activator.PLUGIN_ID + ".descriptorType.default";
-
- private Map descriptors = new HashMap<>();
-
- @Override
- public boolean ownsLaunchObject(Object element) {
- // This descriptor type doesn't own any launch objects
- return false;
- }
-
- @Override
- public ILaunchDescriptor getDescriptor(Object element) {
- if (element instanceof ILaunchConfiguration) {
- ILaunchConfiguration config = (ILaunchConfiguration) element;
- DefaultLaunchDescriptor descriptor = descriptors.get(config);
- if (descriptor == null) {
- descriptor = new DefaultLaunchDescriptor(this, config);
- descriptors.put(config, descriptor);
- }
- return descriptor;
- }
-
- return null;
- }
-
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java
deleted file mode 100644
index eb27d3d2898..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/ExecutableExtension.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * A wrapper class that delays instantiation of classes until they're needed
- * to prevent early plug-in loading.
- *
- * @param the type of the object created
- */
-public class ExecutableExtension {
-
- private IConfigurationElement element;
- private String propertyName;
- private T object;
-
- public ExecutableExtension(IConfigurationElement element, String propertyName) {
- this.element = element;
- this.propertyName = propertyName;
- }
-
- // For testing, pre-populate the object
- public ExecutableExtension(T object) {
- this.object = object;
- }
-
- /**
- * Get the object instantiating it if necessary.
- * @return object
- * @throws CoreException
- */
- @SuppressWarnings("unchecked")
- public T get() throws CoreException {
- if (element != null) {
- object = (T) element.createExecutableExtension(propertyName);
- element = null;
- propertyName = null;
- }
- return object;
- }
-
- /**
- * Creates a new object. Can't be done if you've done a get already.
- * @return a new object from the extension or null if get was called earlier
- * @throws CoreException
- */
- @SuppressWarnings("unchecked")
- public T create() throws CoreException {
- if (element != null) {
- return (T) element.createExecutableExtension(propertyName);
- }
- return null;
- }
-}
diff --git a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java b/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java
deleted file mode 100644
index dc6aa8eed64..00000000000
--- a/launch/org.eclipse.cdt.launchbar.core/src/org/eclipse/cdt/launchbar/core/internal/LaunchBarManager.java
+++ /dev/null
@@ -1,1122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Doug Schaefer
- *******************************************************************************/
-package org.eclipse.cdt.launchbar.core.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.cdt.launchbar.core.ILaunchBarManager;
-import org.eclipse.cdt.launchbar.core.ILaunchConfigurationProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptor;
-import org.eclipse.cdt.launchbar.core.ILaunchDescriptorType;
-import org.eclipse.cdt.launchbar.core.ILaunchObjectProvider;
-import org.eclipse.cdt.launchbar.core.ILaunchTarget;
-import org.eclipse.cdt.launchbar.core.ILaunchTargetType;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The brains of the launch bar.
- */
-public class LaunchBarManager implements ILaunchBarManager, ILaunchConfigurationListener {
-
- // TODO make these more fine grained or break them into more focused listeners
- public interface Listener {
- void activeLaunchDescriptorChanged();
- void activeLaunchModeChanged();
- void activeLaunchTargetChanged();
- void launchDescriptorRemoved(ILaunchDescriptor descriptor);
- void launchTargetsChanged();
- }
-
- public static class LaunchTargetTypeInfo {
- private final ILaunchTargetType type;
- private final String id;
-
- public LaunchTargetTypeInfo(String id, ILaunchTargetType type) {
- this.type = type;
- this.id = id;
- }
-
- public String getId() {
- return id;
- }
-
- public ILaunchTargetType getType() {
- return type;
- }
- }
-
- public static class LaunchDescriptorTypeInfo {
- private final String id;
- private final int priority;
- private IConfigurationElement element;
- private ILaunchDescriptorType type;
-
- public LaunchDescriptorTypeInfo(String id, int priority, IConfigurationElement element) {
- this.id = id;
- this.priority = priority;
- this.element = element;
- }
-
- // Used for testing
- public LaunchDescriptorTypeInfo(String id, int priority, ILaunchDescriptorType type) {
- this.id = id;
- this.priority = priority;
- this.type = type;
- }
-
- public String getId() {
- return id;
- }
-
- public int getPriority() {
- return priority;
- }
-
- public ILaunchDescriptorType getType() throws CoreException {
- if (type == null) {
- type = (ILaunchDescriptorType) element.createExecutableExtension("class");
- element = null;
- }
- return type;
- }
- }
-
- public static class LaunchConfigProviderInfo {
- private final String launchConfigTypeId;
- private IConfigurationElement element;
- private ILaunchConfigurationProvider provider;
-
- public LaunchConfigProviderInfo(String launchConfigTypeId, IConfigurationElement element) {
- this.launchConfigTypeId = launchConfigTypeId;
- this.element = element;
- }
-
- // For testing
- public LaunchConfigProviderInfo(String launchConfigTypeId, ILaunchConfigurationProvider provider) {
- this.launchConfigTypeId = launchConfigTypeId;
- this.provider = provider;
- }
-
- public String getLaunchConfigTypeId() {
- return launchConfigTypeId;
- }
-
- public ILaunchConfigurationProvider getProvider() throws CoreException {
- if (provider == null) {
- provider = (ILaunchConfigurationProvider) element.createExecutableExtension("class");
- element = null;
- }
- return provider;
- }
- }
-
- public static class LaunchConfigTypeInfo {
- private final String descriptorTypeId;
- private final String targetTypeId;
- private final String launchConfigTypeId;
-
- public LaunchConfigTypeInfo(String descriptorTypeId, String targetTypeId, String launchConfigTypeId) {
- this.descriptorTypeId = descriptorTypeId;
- this.targetTypeId = targetTypeId;
- this.launchConfigTypeId = launchConfigTypeId;
- }
-
- public String getDescriptorTypeId() {
- return descriptorTypeId;
- }
-
- public String getTargetTypeId() {
- return targetTypeId;
- }
-
- public String getLaunchConfigTypeId() {
- return launchConfigTypeId;
- }
- }
-
- private final List listeners = new LinkedList<>();
-
- // The launch object providers
- private final List objectProviders = new ArrayList<>();
-
- // The target types by id - doesn't need to be an executablExtension since it runs right away
- private final Map targetTypes = new HashMap<>();
-
- // The extended info for the target types as specified in the extension
- private final Map targetTypeInfo = new HashMap<>();
-
- // The descriptor types
- private final Map descriptorTypes = new HashMap<>();
-
- // the extended info for loaded descriptor types
- private final Map descriptorTypeInfo = new HashMap<>();
-
- // Descriptor types ordered from highest priority to lowest
- private final List orderedDescriptorTypes = new LinkedList<>();
-
- // The mapping from descriptor type to target type to config type info
- private final Map> configTypes = new HashMap<>();
-
- // Map descriptor type to target type so we can build when no targets have been added
- private final Map defaultTargetTypes = new HashMap<>();
-
- // The launch config providers
- private final Map configProviders = new HashMap<>();
-
- // Map from launch config type id to target type id for default config descriptor
- private final Map> defaultConfigTargetTypes = new HashMap<>();
-
- // Map from launch config type Id to target type id for default config descriptor for null target
- private final Map defaultConfigDefaultTargetTypes = new HashMap<>();
-
- // Descriptors in MRU order, key is desc type id and desc name.
- private final Map, ILaunchDescriptor> descriptors = new LinkedHashMap<>();
-
- // Map of launch objects to launch descriptors
- private final Map