Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Camelon2003-07-31 13:20:37 +0000
committerJohn Camelon2003-07-31 13:20:37 +0000
commit851383895527019b9541a1ce5b31a9cd26f7f9c4 (patch)
treea0f70d5253e22795558d961d384a80d73812d8f9 /core/org.eclipse.cdt.core/schema
parentc2e6e9ec5b93974325ce31c68107c16bf4a84e77 (diff)
downloadorg.eclipse.cdt-851383895527019b9541a1ce5b31a9cd26f7f9c4.tar.gz
org.eclipse.cdt-851383895527019b9541a1ce5b31a9cd26f7f9c4.tar.xz
org.eclipse.cdt-851383895527019b9541a1ce5b31a9cd26f7f9c4.zip
Patch for Sean Evoy
I am in the process of documenting the build model and as I go along, a number of things will have to be cleaned up in the actual model itself. This patch is purely a bookeeping change to make it easier for me to maintain the build model in the face of these changes as we go forward. Where I used to access XML elements using hard-coded strings, I have moved the string into the appropriate interface class. If the name of the attribute changes in the future, I only have to update it one place. I have also begun the process of renaming certain attributes of the schema to make them better reflect what they are doing. My hope is that if they have intuitive names, toolchain implementers will have less difficulty understanding their intent. In any case, I have changed four attribute names; optionRef -> optionReference, toolRef -> toolReference, optionValue -> listOptionValue, and optionEnum -> enumeratedOptionValue. Unfortunately, these changes will invalidate the dot-cdtbuild files for any managed build projects in your workspace. If you can't bear to create a new project, move the files over, and set-up the compiler options again, you can always hand-edit the changes in the file yourself. Just remember to restart CDT after you do so.
Diffstat (limited to 'core/org.eclipse.cdt.core/schema')
-rw-r--r--core/org.eclipse.cdt.core/schema/ManagedBuildTools.exsd115
1 files changed, 84 insertions, 31 deletions
diff --git a/core/org.eclipse.cdt.core/schema/ManagedBuildTools.exsd b/core/org.eclipse.cdt.core/schema/ManagedBuildTools.exsd
index c87d96db2e3..49276a0ccd3 100644
--- a/core/org.eclipse.cdt.core/schema/ManagedBuildTools.exsd
+++ b/core/org.eclipse.cdt.core/schema/ManagedBuildTools.exsd
@@ -6,7 +6,7 @@
<meta.schema plugin="org.eclipse.cdt.core" id="ManagedBuildTools" name="Managed Build Tools"/>
</appInfo>
<documentation>
- Describes targets, configurations, and toolchains for the build system.
+ The managed build information model describes targets, configurations, and toolchains for the build system.
</documentation>
</annotation>
@@ -80,16 +80,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="dependencyCalculator" type="string">
- <annotation>
- <documentation>
- A reference to the class that will calculate the dependencies for a given file. For example, a compiler might require a dependency calculator for source files that discovers the dependenncies on header files.
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
<attribute name="command" type="string">
<annotation>
<documentation>
@@ -111,14 +101,29 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="dependencyCalculator" type="string">
+ <annotation>
+ <documentation>
+ This is an optional field that specifies the class that provides the dependency calculation for a given tool.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.cdt.internal.core.sourcedependency.ISourceDependency"/>
+ </appInfo>
+ </annotation>
+ </attribute>
</complexType>
</element>
<element name="option">
+ <annotation>
+ <documentation>
+ An option is associated with a tool. Options can contain boolean values, a simple text string, a selection from an enumerated list, or a list of values. Options also map the value they contain to a command-line flag, such as &apos;-g&apos; in the case of debugging symbol information for compilers.
+ </documentation>
+ </annotation>
<complexType>
<sequence>
- <element ref="optionEnum"/>
- <element ref="optionValue"/>
+ <element ref="enumeratedOptionValue"/>
+ <element ref="listOptionValue"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
@@ -192,7 +197,7 @@ Two additional types exist to flag options of special relevance to the build mod
</complexType>
</element>
- <element name="optionEnum">
+ <element name="enumeratedOptionValue">
<annotation>
<documentation>
Defines a single value of an enumerated option.
@@ -231,31 +236,36 @@ Two additional types exist to flag options of special relevance to the build mod
</element>
<element name="configuration">
+ <annotation>
+ <documentation>
+ A configuration is used to gather together certain default tools and options to build target a certain way. For example, a &quot;Debug&quot; configuration might supply tools with the options set to build with debugging symbols, whereas a &quot;Release&quot; configuration would supply tools with options set to create the best performance.
+ </documentation>
+ </annotation>
<complexType>
<sequence>
- <element ref="toolRef"/>
+ <element ref="toolReference"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
-
+ Unique identifier for the configuration.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
-
+ A descriptive name for the configuration to be used in the UI.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
- <element name="toolRef">
+ <element name="toolReference">
<complexType>
<sequence>
- <element ref="optionRef"/>
+ <element ref="optionReference"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
@@ -267,7 +277,7 @@ Two additional types exist to flag options of special relevance to the build mod
</complexType>
</element>
- <element name="optionRef">
+ <element name="optionReference">
<annotation>
<documentation>
Option references hold onto information the user has changed through the UI. Not all fields will be populated, depending on the option type the reference overrides. For example, the &apos;name&apos; field is used by enumerated options only.
@@ -277,7 +287,7 @@ Two additional types exist to flag options of special relevance to the build mod
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
-
+ The ID of the option the reference is for.
</documentation>
</annotation>
</attribute>
@@ -392,38 +402,38 @@ Two additional types exist to flag options of special relevance to the build mod
<attribute name="id" type="string">
<annotation>
<documentation>
-
+ Used by the build model to uniquely identify the option category.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
-
+ A human-readable category name, such as &apos;Preprocessor Options&apos;. This will be the name the user sees displayed in the UI.
</documentation>
</annotation>
</attribute>
<attribute name="owner" type="string">
<annotation>
<documentation>
-
+ Option categories can be nested inside other option categories. This is the ID of the owner of the category.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
- <element name="optionValue">
+ <element name="listOptionValue">
<annotation>
<documentation>
- A value for defining individual elements of a string list option.
+ A value for defining individual elements of a list option.
</documentation>
</annotation>
<complexType>
<attribute name="value" type="string" use="required">
<annotation>
<documentation>
-
+ The contents of the list item.
</documentation>
</annotation>
</attribute>
@@ -444,7 +454,49 @@ Two additional types exist to flag options of special relevance to the build mod
<meta.section type="examples"/>
</appInfo>
<documentation>
- [Enter extension point usage example here.]
+ The following is an example of the extension point usage:
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension
+ id=&quot;buildExample&quot;
+ name=&quot;Tools for Build Example&quot;
+ point=&quot;org.eclipse.cdt.core.ManagedBuildInfo&quot;&gt;
+ &lt;target
+ makeFlags=&quot;-k&quot;
+ isTest=&quot;false&quot;
+ cleanCommand=&quot;rm -rf&quot;
+ name=&quot;Executable&quot;
+ defaultExtension=&quot;.exe&quot;
+ isAbstract=&quot;false&quot;
+ makeCommand=&quot;make&quot;
+ id=&quot;example.target.executable&quot;&gt;
+ &lt;tool
+ sources=&quot;C&quot;
+ name=&quot;Compiler&quot;
+ outputFlag=&quot;-o&quot;
+ outputs=&quot;exe&quot;
+ command=&quot;g++&quot;
+ id=&quot;executable.compiler&quot;&gt;
+ &lt;optionCategory
+ owner=&quot;executable.compiler&quot;
+ name=&quot;Flags&quot;
+ id=&quot;compiler.category.flags&quot;&gt;
+ &lt;/optionCategory&gt;
+ &lt;option
+ defaultValue=&quot;-c&quot;
+ name=&quot;Compiler Flags&quot;
+ category=&quot;compiler.category.flags&quot;
+ valueType=&quot;string&quot;
+ id=&quot;category.flags.comp_flags&quot;&gt;
+ &lt;/option&gt;
+ &lt;/tool&gt;
+ &lt;configuration
+ name=&quot;Default&quot;
+ id=&quot;example.config.default&quot;&gt;
+ &lt;/configuration&gt;
+ &lt;/target&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
</documentation>
</annotation>
@@ -453,7 +505,7 @@ Two additional types exist to flag options of special relevance to the build mod
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
- [Enter API information here.]
+
</documentation>
</annotation>
@@ -462,7 +514,7 @@ Two additional types exist to flag options of special relevance to the build mod
<meta.section type="implementation"/>
</appInfo>
<documentation>
- [Enter information about supplied implementation of this extension point.]
+ An implementation of this extension point is supplied in &lt;samp&gt;org.eclipse.cdt.ui&lt;/samp&gt;
</documentation>
</annotation>
@@ -471,7 +523,8 @@ Two additional types exist to flag options of special relevance to the build mod
<meta.section type="copyright"/>
</appInfo>
<documentation>
-
+ Copyright (c) 2003 IBM Corporation and others.
+All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available on the &lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt; Eclipse&lt;/a&gt; website.
</documentation>
</annotation>

Back to the top