blob: 822b9b752b6cd8af81f0c345bef50928d96695bb [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.make.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.cdt.make.core" id="ScannerConfigurationDiscoveryProfile" name="Scanner Configuration Discovery Profile"/>
</appInfo>
<documentation>
A unified definition of a scanner configuration profile. Usually consists of &lt;p&gt;
- A make build output parser &lt;p&gt;
- A scanner info collector &lt;p&gt;
- An external scanner info generator &lt;p&gt;
- An external scanner info generator output parser &lt;p&gt;
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
<documentation>
Definition of a profile:
- A scanner info collector
- A make build output parser
- A number of external scanner info providers
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="scannerInfoCollector"/>
<element ref="buildOutputProvider" minOccurs="0" maxOccurs="1"/>
<element ref="scannerInfoProvider" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
Profile id.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
The name of the profile will be presented to the user.
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="scannerInfoCollector">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Java class that implements IScannerInfoCollector interface.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector"/>
</appInfo>
</annotation>
</attribute>
<attribute name="scope" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="project">
</enumeration>
<enumeration value="file">
</enumeration>
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
<element name="scannerInfoConsoleParser">
<annotation>
<documentation>
Make build output or external scanner info provider output parser.
</documentation>
</annotation>
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Java class that implements IScannerInfoConsoleParser interface.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.cdt.make.core.IScannerInfoConsoleParser"/>
</appInfo>
</annotation>
</attribute>
<attribute name="compilerCommands" type="string">
<annotation>
<documentation>
Comma separated list of compiler commands to use for detecting lines with preprocessor options.
Example: &quot;gcc, g++, cc, c++&quot;
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="buildOutputProvider">
<annotation>
<documentation>
Build output provider is make build or/and build output file.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="open" minOccurs="0" maxOccurs="1"/>
<element ref="scannerInfoConsoleParser"/>
</sequence>
</complexType>
</element>
<element name="scannerInfoProvider">
<annotation>
<documentation>
Either a command with arguments whose output will provide scanner information or a file that contains the scanner info.
</documentation>
</annotation>
<complexType>
<sequence>
<choice>
<element ref="run"/>
<element ref="open"/>
</choice>
<element ref="scannerInfoConsoleParser"/>
</sequence>
<attribute name="providerId" type="string" use="required">
<annotation>
<documentation>
An id of the specific provider.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="run">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
A fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider2&lt;/samp&gt; interface.
If not specified then &lt;samp&gt;org.eclipse.cdt.make.internal.core.scannerconfig.DefaultExternalScannerInfoProvider&lt;/samp&gt; is the default one used.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider"/>
</appInfo>
</annotation>
</attribute>
<attribute name="command" type="string">
<annotation>
<documentation>
A command to run. Example: &lt;samp&gt;gcc&lt;/samp&gt;.
</documentation>
</annotation>
</attribute>
<attribute name="arguments" type="string">
<annotation>
<documentation>
Arguments for the command. Example: &lt;samp&gt;-E -P -v -dD&lt;/samp&gt;.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="open">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
A fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider&lt;/samp&gt; interface.
If not specified then &lt;samp&gt;org.eclipse.cdt.make.internal.core.scannerconfig2.DefaultSIFileReader&lt;/samp&gt; is the default one used.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider"/>
</appInfo>
</annotation>
</attribute>
<attribute name="file" type="string">
<annotation>
<documentation>
A file containing a make build output or scanner information in some other form.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
3.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
&lt;samp&gt;org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile&lt;/samp&gt;
</documentation>
</annotation>
</schema>