From 3a2ed3957a53250c08f7c378f74506da58999e8a Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Fri, 25 Jul 2003 17:31:01 +0000 Subject: [PATCH] Patch for Sean Evoy: - I added the ability to build when there are inter-project dependencies (first iteration; I would like to try another way). There is also some changes to how libraries are handled. Change logs describe the changes and the AllBuildTests has been updated to reflect these changes. --- .../build/managed/tests/AllBuildTests.java | 32 +++++---- core/org.eclipse.cdt.core.tests/plugin.xml | 4 ++ core/org.eclipse.cdt.core/ChangeLog | 54 +++++++++++++++ .../core/build/managed/IManagedBuildInfo.java | 25 +++++-- .../cdt/core/build/managed/IOption.java | 9 +++ .../eclipse/cdt/core/build/managed/ITool.java | 17 +++++ .../core/build/managed/ManagedBuildInfo.java | 68 +++++++++++++++++-- .../internal/core/build/managed/Option.java | 19 +++++- .../core/build/managed/OptionReference.java | 20 +++++- .../cdt/internal/core/build/managed/Tool.java | 26 +++++++ .../core/build/managed/ToolReference.java | 15 +++- .../schema/ManagedBuildTools.exsd | 21 ++++++ .../cdt/internal/core/MakefileGenerator.java | 57 ++++++++++++---- core/org.eclipse.cdt.ui/ChangeLog | 10 +++ .../properties/BuildToolSettingsPage.java | 2 + .../properties/BuildToolsSettingsStore.java | 9 ++- core/org.eclipse.cdt.ui/plugin.xml | 25 ++++++- 17 files changed, 369 insertions(+), 44 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java b/core/org.eclipse.cdt.core.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java index 593e1173ed1..a971fe8e819 100644 --- a/core/org.eclipse.cdt.core.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java +++ b/core/org.eclipse.cdt.core.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java @@ -528,20 +528,12 @@ public class AllBuildTests extends TestCase { tools = rootConfig.getTools(); assertEquals(1, tools.length); assertEquals("Root Tool", tools[0].getName()); - topCategory = tools[0].getTopOptionCategory(); - options = topCategory.getOptions(configs[0]); - assertEquals(2, options.length); - assertEquals("List Option in Top", options[0].getName()); - valueList = options[0].getStringListValue(); - assertEquals("a", valueList[0]); - assertEquals("b", valueList[1]); - assertEquals("Boolean Option in Top", options[1].getName()); - categories = topCategory.getChildCategories(); - options = categories[0].getOptions(configs[0]); - assertEquals(2, options.length); - assertEquals("String Option in Category", options[0].getName()); - assertEquals(oicValue, options[0].getStringValue()); - assertEquals("Enumerated Option in Category", options[1].getName()); + assertEquals("-r", tools[0].getOutputFlag()); + assertTrue(tools[0].buildsFileType("foo")); + assertTrue(tools[0].buildsFileType("bar")); + assertTrue(tools[0].producesFileType("toor")); + assertEquals("doIt", tools[0].getToolCommand()); + assertEquals("", tools[0].getOutputPrefix()); // Root Override Config assertEquals("Root Override Config", configs[1].getName()); @@ -569,6 +561,13 @@ public class AllBuildTests extends TestCase { assertEquals("Another Enum", valueList[1]); assertEquals("-e1", options[1].getEnumCommand(valueList[0])); assertEquals("-e2", options[1].getEnumCommand(valueList[1])); + assertEquals(1, tools.length); + assertEquals("Root Tool", tools[0].getName()); + assertEquals("-r", tools[0].getOutputFlag()); + assertTrue(tools[0].buildsFileType("foo")); + assertTrue(tools[0].buildsFileType("bar")); + assertTrue(tools[0].producesFileType("toor")); + assertEquals("doIt", tools[0].getToolCommand()); } /* @@ -595,6 +594,11 @@ public class AllBuildTests extends TestCase { // Confirm that it has three options IOption[] subOpts = subTool.getOptions(); assertEquals(3, subOpts.length); + assertEquals("", subTool.getOutputFlag()); + assertTrue(subTool.buildsFileType("yarf")); + assertTrue(subTool.producesFileType("bus")); + assertEquals("", subTool.getToolCommand()); + assertEquals("lib", subTool.getOutputPrefix()); // Do a sanity check on the options assertEquals("Include Paths", subOpts[0].getName()); diff --git a/core/org.eclipse.cdt.core.tests/plugin.xml b/core/org.eclipse.cdt.core.tests/plugin.xml index f8e3062c079..6fed9577df1 100644 --- a/core/org.eclipse.cdt.core.tests/plugin.xml +++ b/core/org.eclipse.cdt.core.tests/plugin.xml @@ -35,6 +35,7 @@ @@ -119,7 +120,10 @@ id="sub.config"> @@ -867,8 +870,21 @@ + + + @@ -973,7 +992,7 @@ class="org.eclipse.cdt.internal.ui.search.ParentNameSorter" id="org.eclipse.search.internal.ui.ParentNameSorter"> -