Index: plugin.xml
===================================================================
retrieving revision 1.26
diff -u -r1.26 plugin.xml
--- plugin.xml 16 Mar 2004 22:29:55 -0000 1.26
+++ plugin.xml 17 Mar 2004 14:32:09 -0000
@@ -122,6 +122,14 @@
valueType="string">
</option>
<option
+ defaultValue=""
+ name="Another String Option in
Category"
+ category="category"
+ valueType="string"
+ command="-str"
+ id="another.string.option">
+ </option>
+ <option
name="Enumerated Option in
Category"
category="category"
id="enumerated.option"
@@ -138,6 +146,13 @@
id="another.enum.option">
</enumeratedOptionValue>
</option>
+ <option
+
name="Boolean Option in Category"
+ category="category"
+ valueType="boolean"
+ id="boolean.false.option"
+ commandFalse="-nob">
+ </option>
</tool>
<configuration
name="Root Config"
@@ -168,8 +183,16 @@
id="string.option">
</optionReference>
<optionReference
+ defaultValue="alsooverridden"
+ id="another.string.option">
+ </optionReference>
+ <optionReference
defaultValue="true"
id="boolean.option">
+ </optionReference>
+ <optionReference
+ defaultValue="true"
+ id="boolean.false.option">
</optionReference>
<optionReference
defaultValue="-e2"
Index:
build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java
===================================================================
retrieving revision 1.22
diff -u -r1.22 ManagedBuildTests.java
---
build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java 16 Mar 2004 22:29:55 -0000 1.22
+++
build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java 17 Mar 2004 14:32:11 -0000
@@ -70,6 +70,7 @@
private static final String projectRename =
"ManagedBuildRedux";
private static final String rootExt = "toor";
private static final String stringVal = "-c
-Wall";
+ private static final String anotherStringVal =
"thevalue";
private static final String subExt =
"bus";
public ManagedBuildTests(String name) {
@@ -357,9 +358,11 @@
IOptionCategory[] categories = topCategory.getChildCategories();
assertEquals(1, categories.length);
options = categories[0].getOptions(null);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
ManagedBuildManager.setOption(newConfig,
options[0], stringVal);
- ManagedBuildManager.setOption(newConfig,
options[1], enumVal);
+ ManagedBuildManager.setOption(newConfig,
options[1], anotherStringVal);
+ ManagedBuildManager.setOption(newConfig,
options[2], enumVal);
+ ManagedBuildManager.setOption(newConfig,
options[3], "False");
// Save, close, reopen and test
again
ManagedBuildManager.saveBuildInfo(project,
false);
@@ -566,7 +569,7 @@
assertEquals(1, definedTools.length);
ITool rootTool = definedTools[0];
- // Get the options 2 in top category
and 2 in its child
+ // Get the options 2 in top category
and 4 in its child
IOptionCategory topCategory = rootTool.getTopOptionCategory();
assertEquals("Root Tool", topCategory.getName());
IOption[] options = topCategory.getOptions(null);
@@ -574,7 +577,7 @@
IOptionCategory[] categories = topCategory.getChildCategories();
assertEquals(1, categories.length);
options = categories[0].getOptions(null);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
// Set the name back
newResource = workspaceRoot.findMember(projectName);
@@ -619,7 +622,7 @@
categories = topCategory.getChildCategories();
assertEquals(1, categories.length);
options = categories[0].getOptions(null);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
}
private void addManagedBuildNature (IProject
project) {
@@ -688,7 +691,7 @@
assertEquals(info.getToolForTarget(expectedOutput),
expectedCmd);
// Now check the build flags
- assertEquals(info.getFlagsForSource(ext1),
"-La -Lb z -e1");
+ assertEquals(info.getFlagsForSource(ext1),
"-La -Lb z -e1 -nob");
assertEquals(info.getFlagsForSource(ext1),
info.getFlagsForSource(ext2));
}
@@ -719,7 +722,7 @@
// Check that the options in the new
config contain overridden values
IOption[] rootOptions = rootTool.getOptions();
- assertEquals(4, rootOptions.length);
+ assertEquals(6, rootOptions.length);
// First is the new list
assertEquals("List Option in
Top", rootOptions[0].getName());
assertEquals(IOption.STRING_LIST, rootOptions[0].getValueType());
@@ -732,22 +735,32 @@
assertEquals(IOption.BOOLEAN, rootOptions[1].getValueType());
assertEquals(boolVal, rootOptions[1].getBooleanValue());
assertEquals("-b", rootOptions[1].getCommand());
- // Next option is a string category
+ // Next option is a string in
category
assertEquals("String Option in
Category", rootOptions[2].getName());
assertEquals(IOption.STRING, rootOptions[2].getValueType());
assertEquals(stringVal, rootOptions[2].getStringValue());
- // Final option is an enumerated
- assertEquals("Enumerated Option
in Category", rootOptions[3].getName());
- assertEquals(IOption.ENUMERATED, rootOptions[3].getValueType());
- String selEnum = rootOptions[3].getSelectedEnum();
+ // Next option is a another string in
category
+ assertEquals("Another String
Option in Category", rootOptions[3].getName());
+ assertEquals(IOption.STRING, rootOptions[3].getValueType());
+ assertEquals(anotherStringVal, rootOptions[3].getStringValue());
+ assertEquals("-str", rootOptions[3].getCommand());
+ // Next option is an enumerated in
category
+ assertEquals("Enumerated Option
in Category", rootOptions[4].getName());
+ assertEquals(IOption.ENUMERATED, rootOptions[4].getValueType());
+ String selEnum = rootOptions[4].getSelectedEnum();
assertEquals(enumVal, selEnum);
- String[] enums = rootOptions[3].getApplicableValues();
+ String[] enums = rootOptions[4].getApplicableValues();
assertEquals(2, enums.length);
assertEquals("Default Enum",
enums[0]);
assertEquals("Another Enum",
enums[1]);
- assertEquals("-e1", rootOptions[3].getEnumCommand(enums[0]));
- assertEquals("-e2", rootOptions[3].getEnumCommand(enums[1]));
- assertEquals("-e2", rootOptions[3].getEnumCommand(selEnum));
+ assertEquals("-e1", rootOptions[4].getEnumCommand(enums[0]));
+ assertEquals("-e2", rootOptions[4].getEnumCommand(enums[1]));
+ assertEquals("-e2", rootOptions[4].getEnumCommand(selEnum));
+ // Final option is a boolean in
Category
+ assertEquals("Boolean Option in
Category", rootOptions[5].getName());
+ assertEquals(IOption.BOOLEAN, rootOptions[5].getValueType());
+ assertEquals(false, rootOptions[5].getBooleanValue());
+ assertEquals("-nob", rootOptions[5].getCommandFalse());
}
/*
@@ -771,12 +784,13 @@
// Tools
ITool[] tools = target.getTools();
+ ITool tool;
// Root Tool
ITool rootTool = tools[0];
assertEquals("Root Tool", rootTool.getName());
- // 4 Options are defined in the root
tool
+ // 6 Options are defined in the root
tool
IOption[] options = rootTool.getOptions();
- assertEquals(4, options.length);
+ assertEquals(6, options.length);
// First option is a 3-element list
with 1 built-in
assertEquals("List Option in
Top", options[0].getName());
assertEquals(IOption.STRING_LIST,
options[0].getValueType());
@@ -797,16 +811,27 @@
assertEquals("String Option in
Category", options[2].getName());
assertEquals(IOption.STRING, options[2].getValueType());
assertEquals("x",
options[2].getStringValue());
- // Final option is an enumerated
- assertEquals("Enumerated Option
in Category", options[3].getName());
- assertEquals(IOption.ENUMERATED,
options[3].getValueType());
- assertEquals("Default Enum",
options[3].getSelectedEnum());
- valueList = options[3].getApplicableValues();
+ // Next option is another string
category
+ assertEquals("Another String
Option in Category", options[3].getName());
+ assertEquals(IOption.STRING,
options[3].getValueType());
+ assertEquals("",
options[3].getStringValue());
+ assertEquals("-str",
options[3].getCommand());
+ // Next option is an enumerated
+ assertEquals("Enumerated Option
in Category", options[4].getName());
+ assertEquals(IOption.ENUMERATED,
options[4].getValueType());
+ assertEquals("Default Enum",
options[4].getSelectedEnum());
+ valueList = options[4].getApplicableValues();
assertEquals(2, valueList.length);
assertEquals("Default Enum",
valueList[0]);
assertEquals("Another Enum",
valueList[1]);
- assertEquals("-e1",
options[3].getEnumCommand(valueList[0]));
- assertEquals("-e2",
options[3].getEnumCommand(valueList[1]));
+ assertEquals("-e1",
options[4].getEnumCommand(valueList[0]));
+ assertEquals("-e2",
options[4].getEnumCommand(valueList[1]));
+ // Final option is another boolean
+ assertEquals("Boolean Option in
Category", options[5].getName());
+ assertEquals(IOption.BOOLEAN,
options[5].getValueType());
+ assertEquals(false, options[5].getBooleanValue());
+ assertNull(options[5].getCommand());
+ assertEquals("-nob",
options[5].getCommandFalse());
// Option Categories
IOptionCategory topCategory = rootTool.getTopOptionCategory();
@@ -819,9 +844,11 @@
assertEquals(1, categories.length);
assertEquals("Category",
categories[0].getName());
options = categories[0].getOptions(null);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
assertEquals("String Option in
Category", options[0].getName());
- assertEquals("Enumerated Option
in Category", options[1].getName());
+ assertEquals("Another String
Option in Category", options[1].getName());
+ assertEquals("Enumerated Option
in Category", options[2].getName());
+ assertEquals("Boolean Option in
Category", options[3].getName());
// There should be 3 defined configs
IConfiguration[] configs = target.getConfigurations();
@@ -864,16 +891,22 @@
assertEquals("-b",
options[1].getCommand());
categories = topCategory.getChildCategories();
options = categories[0].getOptions(configs[1]);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
+ assertEquals("Another String
Option in Category", options[1].getName());
+ assertEquals("",
options[1].getStringValue());
assertEquals("String Option in
Category", options[0].getName());
assertEquals("y",
options[0].getStringValue());
- assertEquals("Enumerated Option
in Category", options[1].getName());
- valueList = options[1].getApplicableValues();
+ assertEquals("Enumerated Option
in Category", options[2].getName());
+ valueList = options[2].getApplicableValues();
assertEquals(2, valueList.length);
assertEquals("Default Enum",
valueList[0]);
assertEquals("Another Enum",
valueList[1]);
- assertEquals("-e1", options[1].getEnumCommand(valueList[0]));
- assertEquals("-e2",
options[1].getEnumCommand(valueList[1]));
+ assertEquals("-e1",
options[2].getEnumCommand(valueList[0]));
+ assertEquals("-e2",
options[2].getEnumCommand(valueList[1]));
+ assertEquals("Boolean Option in
Category", options[3].getName());
+ assertEquals(false, options[3].getBooleanValue());
+ assertNull(options[3].getCommand());
+ assertEquals("-nob",
options[3].getCommandFalse());
assertEquals(1, tools.length);
assertEquals("Root Tool",
tools[0].getName());
assertEquals("-r",
tools[0].getOutputFlag());
@@ -882,6 +915,8 @@
assertTrue(tools[0].producesFileType("toor"));
assertTrue(tools[0].isHeaderFile("baz"));
assertEquals("doIt",
tools[0].getToolCommand());
+ tool = tools[0];
+ assertEquals("-La -Lb -b y -e1 -nob",
tool.getToolFlags());
// Completely Overridden
configuration
assertEquals("Complete Override
Config", configs[2].getName());
@@ -908,15 +943,25 @@
// Check that there's an overridden
enumeration and string
categories = topCategory.getChildCategories();
options = categories[0].getOptions(configs[2]);
- assertEquals(2, options.length);
+ assertEquals(4, options.length);
assertTrue(options[0] instanceof OptionReference);
assertEquals("String Option in
Category", options[0].getName());
assertEquals(IOption.STRING,
options[0].getValueType());
assertEquals("overridden",
options[0].getStringValue());
assertTrue(options[1] instanceof OptionReference);
- assertEquals("Enumerated Option
in Category", options[1].getName());
- assertEquals(IOption.ENUMERATED,
options[1].getValueType());
- assertEquals("-e2",
options[1].getSelectedEnum());
+ assertEquals("Another String
Option in Category", options[1].getName());
+ assertEquals(IOption.STRING,
options[1].getValueType());
+ assertEquals("alsooverridden",
options[1].getStringValue());
+ assertTrue(options[2] instanceof OptionReference);
+ assertEquals("Enumerated Option
in Category", options[2].getName());
+ assertEquals(IOption.ENUMERATED,
options[2].getValueType());
+ assertEquals("-e2",
options[2].getSelectedEnum());
+ assertTrue(options[3] instanceof OptionReference);
+ assertEquals("Boolean Option in
Category", options[3].getName());
+ assertEquals(IOption.BOOLEAN,
options[3].getValueType());
+ assertEquals(true, options[3].getBooleanValue());
+ tool = tools[0];
+ assertEquals("-b overridden -stralsooverridden",
tool.getToolFlags());
}
/*