Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] incorrect definitions in buildDefinitions.exsd ?

hi,

 please find attached a patch for buildDefinitions.exsd, that adds some
extra constraints to the markup (I used the Managed Build System
Extensibility Document as a reference).

I've not added many possible corrections since they would be rejected
until
		https://bugs.eclipse.org/bugs/show_bug.cgi?id=77043
is fixed

thanks,
Andrew

Index: buildDefinitions.exsd
===================================================================
RCS file:
/home/tools/org.eclipse.cdt-build/org.eclipse.cdt.managedbuilder.core/sc
hema/buildDefinitions.exsd,v
retrieving revision 1.12
diff -u -r1.12 buildDefinitions.exsd
--- buildDefinitions.exsd	8 Jun 2005 14:59:52 -0000	1.12
+++ buildDefinitions.exsd	13 Jun 2005 12:20:00 -0000
@@ -13,14 +13,14 @@
    <element name="extension">
       <complexType>
          <sequence>
-            <element ref="projectType"/>
-            <element ref="configuration"/>
-            <element ref="toolChain"/>
-            <element ref="tool"/>
-            <element ref="targetPlatform"/>
-            <element ref="builder"/>
-            <element ref="dynamicElementProvider"/>
-            <element ref="managedBuildRevision"/>
+            <element ref="projectType" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="configuration" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="toolChain" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="tool" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="targetPlatform" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="builder" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="dynamicElementProvider" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="managedBuildRevision" minOccurs="0"
maxOccurs="1"/>
          </sequence>
          <attribute name="point" type="string" use="required">
             <annotation>
@@ -54,7 +54,7 @@
       </annotation>
       <complexType>
          <sequence>
-            <element ref="configuration"/>
+            <element ref="configuration" minOccurs="0"
maxOccurs="unbounded"/>
          </sequence>
          <attribute name="id" type="string" use="required">
             <annotation>
@@ -167,7 +167,7 @@
       <complexType>
          <sequence>
             <element ref="toolChain"/>
-            <element ref="resourceConfiguration"/>
+            <element ref="resourceConfiguration" minOccurs="0"
maxOccurs="unbounded"/>
          </sequence>
          <attribute name="id" type="string" use="required">
             <annotation>
@@ -264,11 +264,11 @@
       </annotation>
       <complexType>
          <sequence>
-            <element ref="tool"/>
+            <element ref="tool" minOccurs="1" maxOccurs="unbounded"/>
             <element ref="targetPlatform"/>
             <element ref="builder"/>
-            <element ref="optionCategory"/>
-            <element ref="option"/>
+            <element ref="optionCategory" minOccurs="0"
maxOccurs="unbounded"/>
+            <element ref="option" minOccurs="0" maxOccurs="unbounded"/>
          </sequence>
          <attribute name="id" type="string" use="required">
             <annotation>
@@ -336,7 +336,7 @@
          <attribute name="targetTool" type="string">
             <annotation>
                <documentation>
-                  Specifies the id of the Tool that creates the final
build artifact (the end target of the build).
+                  Specifies a semi-colon separated list of the Tool(s)
that can create the final build artifact (the end target of the build).
The first tool found in the configuration is used.  A list is needed,
for example, when a tool-chain has different tools for different project
natures.
                </documentation>
             </annotation>
          </attribute>
@@ -462,8 +462,8 @@
       </annotation>
       <complexType>
          <sequence>
-            <element ref="option"/>
-            <element ref="optionCategory"/>
+            <element ref="option" minOccurs="1" maxOccurs="unbounded"/>
+            <element ref="optionCategory" minOccurs="1"
maxOccurs="unbounded"/>
             <element ref="inputType"/>
             <element ref="outputType"/>
             <element ref="envVarBuildPath"/>
@@ -611,7 +611,7 @@
          <attribute name="advancedInputCategory" type="boolean">
             <annotation>
                <documentation>
-                  Specifies whether the Tool wants the MBS to display
the Advanced Input category with the Tool&apos;s property categories.
This allows the user to specify input order and additional inputs.  The
default is false.
+                  Specifies whether the Tool wants the MBS to display
the Advanced Input category with the Tool&apos;s property categories.
This allows the user to specify input order and additional inputs.  The
default is false.  Note:  This attribute is not yet implemented
                </documentation>
             </annotation>
          </attribute>
@@ -747,7 +747,7 @@
          <attribute name="buildVariable" type="string">
             <annotation>
                <documentation>
-                  A variable used in the build file to represent the
input files when multipleOfType is True.  The same variable name can be
used in an outputType element to identify a set of output files that
contribute to this tool&apos;s input.  The default name is chosen by
MBS.
+                  A variable used in the build file to represent the
input files.  The same variable name can be used in an outputType
element to identify a set of output files that contribute to this
tool&apos;s input.  This attribute is ignored when multipleOfType is
false this is the primary input of the tool.  The default name is chosen
by MBS.
                </documentation>
             </annotation>
          </attribute>
@@ -757,7 +757,7 @@
    <element name="inputOrder">
       <annotation>
          <documentation>
-            Describes optional, ordering, information regarding the
inputs of an inputType.
+            Describes optional, ordering, information regarding the
inputs of an inputType.  Note:  This element is not yet implemented
          </documentation>
       </annotation>
       <complexType>
@@ -977,10 +977,10 @@
          </documentation>
       </annotation>
       <complexType>
-         <sequence>
-            <element ref="enumeratedOptionValue"/>
-            <element ref="listOptionValue"/>
-         </sequence>
+         <choice>
+            <element minOccurs="0" maxOccurs="unbounded"
ref="enumeratedOptionValue"/>
+            <element minOccurs="0" maxOccurs="unbounded"
ref="listOptionValue"/>
+         </choice>
          <attribute name="id" type="string" use="required">
             <annotation>
                <documentation>
@@ -1023,7 +1023,7 @@
                </documentation>
             </annotation>
          </attribute>
-         <attribute name="resourceFilter">
+         <attribute name="resourceFilter" use="default" value="all">
             <annotation>
                <documentation>
                   Filter the display (and use) of the option by the
type of the resource (currently Project or File). The value
&apos;project&apos; causes the option to be used when applied to a
project.  The value &apos;file&apos; causes the option to be used when
applied to a file. If &apos;all&apos; is selected, the option applies to
all types of resources.  The default is &quot;all&quot;.


Back to the top