From 2198597a98741dfc9c9a7cf574f7b7e75be4d269 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 17 Oct 2017 10:28:57 -0400 Subject: [PATCH] Make no toolchain error handling more generic and reuse with Qt In particular when Qt Installs are missing. This is a similar scenario to when toolchains are missing. Change-Id: Ic78f71436e46c73900a556133c3883df807784d9 --- .../src/org/eclipse/cdt/core/CCorePlugin.java | 2 +- .../src/org/eclipse/cdt/core/build/CBuildConfiguration.java | 2 +- .../cdt/internal/core/build/CBuildConfigurationManager.java | 2 +- .../cdt/internal/qt/core/build/QtBuildConfiguration.java | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java index 0f1ac134595..b639dee57cf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java @@ -126,7 +126,7 @@ public class CCorePlugin extends Plugin { * * @since 6.4 */ - public static final int STATUS_TOOLCHAIN_NOT_FOUND = 5; + public static final int STATUS_BUILD_CONFIG_NOT_VALID = 5; public static final String PLUGIN_ID = "org.eclipse.cdt.core"; //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java index d90e35e9ef6..c6137462782 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java @@ -125,7 +125,7 @@ public abstract class CBuildConfiguration extends PlatformObject tc = tcs.iterator().next(); } else { throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, - CCorePlugin.STATUS_TOOLCHAIN_NOT_FOUND, + CCorePlugin.STATUS_BUILD_CONFIG_NOT_VALID, String.format(Messages.CBuildConfiguration_ToolchainMissing, config.getName()), null)); } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java index 3f8ead11ed8..20b1be3b31d 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/CBuildConfigurationManager.java @@ -209,7 +209,7 @@ public class CBuildConfigurationManager implements ICBuildConfigurationManager, } catch (CoreException e) { IStatus status = e.getStatus(); if (!status.getPlugin().equals(CCorePlugin.PLUGIN_ID) - || status.getCode() != CCorePlugin.STATUS_TOOLCHAIN_NOT_FOUND) { + || status.getCode() != CCorePlugin.STATUS_BUILD_CONFIG_NOT_VALID) { throw e; } } diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/build/QtBuildConfiguration.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/build/QtBuildConfiguration.java index 7f6c38fa4a1..545ce7f0b01 100644 --- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/build/QtBuildConfiguration.java +++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/build/QtBuildConfiguration.java @@ -20,6 +20,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.ConsoleOutputStream; import org.eclipse.cdt.core.ErrorParserManager; import org.eclipse.cdt.core.IConsoleParser; @@ -114,7 +115,8 @@ public class QtBuildConfiguration extends CBuildConfiguration if (getQtInstall() == null) { throw new CoreException( - Activator.error(String.format(Messages.QtBuildConfiguration_ConfigNotFound, name))); + new Status(IStatus.ERROR, Activator.ID, CCorePlugin.STATUS_BUILD_CONFIG_NOT_VALID, + String.format(Messages.QtBuildConfiguration_ConfigNotFound, name), null)); } String oldLaunchMode = settings.get(LAUNCH_MODE, null);