From 4eb76a4edeb208ae54b94fcd56734ec90d2db643 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Fri, 1 Dec 2017 11:59:16 -0500 Subject: [PATCH] Fix issue with core build launch desc deletion. When projects were deleted, sometimes the descriptors would not. We were creating our own core build launch descs which didn't have an equals method causing duplicate entries to be created. Arduino uses launch bar's project launch descs. This change does the same for core build. Change-Id: I2a6f60e92aaa20892d6c1d8331ded903b226984f --- .../launch/CoreBuildLaunchDescriptorType.java | 3 +- .../CoreBuildProjectLaunchDescriptor.java | 48 ------------------- 2 files changed, 2 insertions(+), 49 deletions(-) delete mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildProjectLaunchDescriptor.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildLaunchDescriptorType.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildLaunchDescriptorType.java index 661a6e3c896..ad5387aed29 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildLaunchDescriptorType.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildLaunchDescriptorType.java @@ -12,6 +12,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.launchbar.core.ILaunchDescriptor; import org.eclipse.launchbar.core.ILaunchDescriptorType; +import org.eclipse.launchbar.core.ProjectLaunchDescriptor; import org.eclipse.launchbar.core.internal.Activator; /** @@ -25,7 +26,7 @@ public class CoreBuildLaunchDescriptorType implements ILaunchDescriptorType { // Make sure it's a new style build IProject project = (IProject) launchObject; if (Activator.getService(ICBuildConfigurationManager.class).supports(project)) { - return new CoreBuildProjectLaunchDescriptor(this, project); + return new ProjectLaunchDescriptor(this, project); } } // TODO IBinary diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildProjectLaunchDescriptor.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildProjectLaunchDescriptor.java deleted file mode 100644 index bfb4a223d96..00000000000 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/launch/CoreBuildProjectLaunchDescriptor.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2016 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 - *******************************************************************************/ -package org.eclipse.cdt.debug.internal.core.launch; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.PlatformObject; -import org.eclipse.launchbar.core.ILaunchDescriptor; -import org.eclipse.launchbar.core.ILaunchDescriptorType; - -/** - * A launch descriptor representing a project built with the new Core Build system. - */ -public class CoreBuildProjectLaunchDescriptor extends PlatformObject implements ILaunchDescriptor { - - private final IProject project; - private final CoreBuildLaunchDescriptorType type; - - public CoreBuildProjectLaunchDescriptor(CoreBuildLaunchDescriptorType type, IProject project) { - this.type = type; - this.project = project; - } - - @SuppressWarnings("unchecked") - @Override - public T getAdapter(Class adapter) { - if (IProject.class.equals(adapter)) { - return (T) project; - } else { - return super.getAdapter(adapter); - } - } - - @Override - public String getName() { - return project.getName(); - } - - @Override - public ILaunchDescriptorType getType() { - return type; - } - -}