mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Bug 375814 - Implement the Eclipse variables to obtain CDT configuration
name and description for the specified project
This commit is contained in:
parent
22ea1c7683
commit
f1a62f0fe3
6 changed files with 109 additions and 2 deletions
|
@ -104,7 +104,9 @@ cxxHeaderName=C++ Header File
|
||||||
asmSourceName=Assembly Source File
|
asmSourceName=Assembly Source File
|
||||||
binaryFileName=Binary File
|
binaryFileName=Binary File
|
||||||
|
|
||||||
cdt_pathentry_var.description=CDT PathEntry Variable
|
cdt_pathentry_var.description=CDT PathEntry variable
|
||||||
|
config_name_var.description=The name of the active configuration for the project specified as an argument
|
||||||
|
config_description_var.description=The description of the active configuration for the project specified as an argument
|
||||||
|
|
||||||
PDOMProviderName=PDOM Provider
|
PDOMProviderName=PDOM Provider
|
||||||
|
|
||||||
|
|
|
@ -588,6 +588,22 @@
|
||||||
description="%cdt_pathentry_var.description">
|
description="%cdt_pathentry_var.description">
|
||||||
</variable>
|
</variable>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension
|
||||||
|
point="org.eclipse.core.variables.dynamicVariables">
|
||||||
|
<variable
|
||||||
|
name="config_name"
|
||||||
|
resolver="org.eclipse.cdt.internal.core.ConfigurationNameVariableResolver"
|
||||||
|
description="%config_name_var.description">
|
||||||
|
</variable>
|
||||||
|
</extension>
|
||||||
|
<extension
|
||||||
|
point="org.eclipse.core.variables.dynamicVariables">
|
||||||
|
<variable
|
||||||
|
name="config_description"
|
||||||
|
resolver="org.eclipse.cdt.internal.core.ConfigurationDescriptionVariableResolver"
|
||||||
|
description="%config_description_var.description">
|
||||||
|
</variable>
|
||||||
|
</extension>
|
||||||
<extension
|
<extension
|
||||||
point="org.eclipse.cdt.core.CBuildConsole">
|
point="org.eclipse.cdt.core.CBuildConsole">
|
||||||
<CBuildConsole
|
<CBuildConsole
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Copyright (c) 2000, 2010 QNX Software Systems and others.
|
# Copyright (c) 2000, 2010, 2012 QNX Software Systems and others.
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
# are made available under the terms of the Eclipse Public License v1.0
|
# are made available under the terms of the Eclipse Public License v1.0
|
||||||
# which accompanies this distribution, and is available at
|
# which accompanies this distribution, and is available at
|
||||||
|
@ -9,6 +9,7 @@
|
||||||
# QNX Software Systems - Initial API and implementation
|
# QNX Software Systems - Initial API and implementation
|
||||||
# Markus Schorn (Wind River Systems)
|
# Markus Schorn (Wind River Systems)
|
||||||
# Anton Leherbauer (Wind River Systems)
|
# Anton Leherbauer (Wind River Systems)
|
||||||
|
# Anton Gorenkov
|
||||||
###############################################################################
|
###############################################################################
|
||||||
ACBuilder.ProblemsView.Location=line {0}, external location: {1}
|
ACBuilder.ProblemsView.Location=line {0}, external location: {1}
|
||||||
CBuilder.build_error= Build Error
|
CBuilder.build_error= Build Error
|
||||||
|
@ -68,6 +69,9 @@ Util.unknownFormat=Unknown debug format
|
||||||
|
|
||||||
PathEntryVariableResolver.0=CDT PathEntry variable not specified
|
PathEntryVariableResolver.0=CDT PathEntry variable not specified
|
||||||
|
|
||||||
|
ConfigurationInfoVariableResolver.noProjectName=Project name should be specified as variable argument for '${'{0}'}' variable
|
||||||
|
ConfigurationInfoVariableResolver.wrongProjectName=The "{0}" project referenced by the '${'{1}'}' variable does not exist
|
||||||
|
|
||||||
CTagsIndexMarker.fileMissing=CTags output file missing
|
CTagsIndexMarker.fileMissing=CTags output file missing
|
||||||
CTagsIndexMarker.CTagsMissing=CTags not installed or not in path
|
CTagsIndexMarker.CTagsMissing=CTags not installed or not in path
|
||||||
DOMIndexerMarker.EmptyScannerInfo=File not indexed because it was not built
|
DOMIndexerMarker.EmptyScannerInfo=File not indexed because it was not built
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 Anton Gorenkov 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:
|
||||||
|
* Anton Gorenkov - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.internal.core;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
|
||||||
|
public class ConfigurationDescriptionVariableResolver extends ConfigurationInfoVariableResolver {
|
||||||
|
@Override
|
||||||
|
protected String fetchConfigurationInfo(ICConfigurationDescription configuration) {
|
||||||
|
return configuration.getDescription();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 Anton Gorenkov 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:
|
||||||
|
* Anton Gorenkov - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.internal.core;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
||||||
|
import org.eclipse.core.resources.IProject;
|
||||||
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
|
import org.eclipse.core.runtime.CoreException;
|
||||||
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
import org.eclipse.core.runtime.Status;
|
||||||
|
import org.eclipse.core.variables.IDynamicVariable;
|
||||||
|
import org.eclipse.core.variables.IDynamicVariableResolver;
|
||||||
|
import org.eclipse.osgi.util.NLS;
|
||||||
|
|
||||||
|
public abstract class ConfigurationInfoVariableResolver implements IDynamicVariableResolver {
|
||||||
|
@Override
|
||||||
|
public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
|
||||||
|
if (argument == null) {
|
||||||
|
String message = NLS.bind(CCorePlugin.getResourceString("ConfigurationInfoVariableResolver.noProjectName"), //$NON-NLS-1$
|
||||||
|
variable.getName());
|
||||||
|
throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, message, null));
|
||||||
|
}
|
||||||
|
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(argument);
|
||||||
|
if (!project.exists()) {
|
||||||
|
String message = NLS.bind(CCorePlugin.getResourceString("ConfigurationInfoVariableResolver.wrongProjectName"), //$NON-NLS-1$
|
||||||
|
argument, variable.getName());
|
||||||
|
throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, message, null));
|
||||||
|
}
|
||||||
|
ICProjectDescription projectDescription = CoreModel.getDefault().getProjectDescription(project);
|
||||||
|
return fetchConfigurationInfo(projectDescription.getActiveConfiguration());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract String fetchConfigurationInfo(ICConfigurationDescription configuration);
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2012 Anton Gorenkov 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:
|
||||||
|
* Anton Gorenkov - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.internal.core;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
|
||||||
|
public class ConfigurationNameVariableResolver extends ConfigurationInfoVariableResolver {
|
||||||
|
@Override
|
||||||
|
protected String fetchConfigurationInfo(ICConfigurationDescription configuration) {
|
||||||
|
return configuration.getName();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue