1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

Bug 189109 Add ErrorParser extension point schema

This commit is contained in:
James Blackburn 2009-06-28 14:03:45 +00:00
parent f4081e6fc9
commit 16ad8a3172
2 changed files with 140 additions and 1 deletions

View file

@ -18,7 +18,7 @@
<!-- =================================================================================== -->
<!-- Extension Point: IErrorParser, error parsers use when building -->
<!-- =================================================================================== -->
<extension-point id="ErrorParser" name="%ErrorParser.name"/>
<extension-point id="ErrorParser" name="%ErrorParser.name" schema="schema/ErrorParser.exsd"/>
<!-- =================================================================================== -->
<!-- Extension Point: IBinaryParser, use to detect wheter an IFile is a binary -->
<!-- =================================================================================== -->

View file

@ -0,0 +1,139 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.cdt.core" id="ErrorParser" name="ErrorParser"/>
</appInfo>
<documentation>
This extension point is used to contribute a new Error Parser. A Error Parser is used to parse errors/warnings/info from build output and populate Problems View with them.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="errorparser"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="errorparser">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
a fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.cdt.core.IErrorParser&lt;/samp&gt; interface.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":org.eclipse.cdt.core.IErrorParser"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
CDT 1.2
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
&lt;br/&gt;
package org.eclipse.cdt.example.errorparser;&lt;br/&gt;
&lt;br/&gt;
import org.eclipse.cdt.core.IMarkerGenerator;&lt;br/&gt;
import org.eclipse.cdt.core.errorparsers.AbstractErrorParser;&lt;br/&gt;
import org.eclipse.cdt.core.errorparsers.ErrorPattern;&lt;br/&gt;
&lt;br/&gt;
/**&lt;br/&gt;
* Simple error parser parsing lines of kind &quot;FILE,LINE:error DESCRIPTION&quot;&lt;br/&gt;
* Enable the errorparser in project Properties-&gt;C/C++ Build-&gt;Settings-&gt;Error Parsers&lt;br/&gt;
*/&lt;br/&gt;
public class SampleErrorParser extends AbstractErrorParser {&lt;br/&gt;
private static final ErrorPattern[] patterns = {&lt;br/&gt;
new ErrorPattern(&quot;(.*),(.*):error (.*)&quot;, 1, 2, 3, 0, IMarkerGenerator.SEVERITY_ERROR_RESOURCE),&lt;br/&gt;
new ErrorPattern(&quot;(.*),(.*):warning (.*)&quot;, 1, 2, 3, 0, IMarkerGenerator.SEVERITY_WARNING),&lt;br/&gt;
new ErrorPattern(&quot;(.*),(.*):info (.*)&quot;, 1, 2, 3, 0, IMarkerGenerator.SEVERITY_INFO),&lt;br/&gt;
};&lt;br/&gt;
/**&lt;br/&gt;
* Constructor to set the error pattern.&lt;br/&gt;
*/&lt;br/&gt;
public SampleErrorParser() {&lt;br/&gt;
super(patterns);&lt;br/&gt;
}&lt;br/&gt;
}&lt;br/&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiinfo"/>
</appInfo>
<documentation>
Plug-ins that want to extend this extension point must implement &lt;samp&gt;org.eclipse.cdt.core.IErrorParser&lt;/samp&gt; interface.
&lt;br/&gt;
It is recommended to extend &lt;samp&gt;org.eclipse.cdt.core.errorparsers.AbstractErrorParser&lt;/samp&gt; for most cases.
&lt;br/&gt;
ErrorParsers dealing with multi-line messages should implement &lt;samp&gt;org.eclipse.cdt.core.IErrorParser2&lt;/samp&gt; interface.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
For another example of implementation see org.eclipse.cdt.internal.errorparsers.GCCErrorParser
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2005, 2009 Andrew Gvozdev (Quoin Inc.) and others.&lt;br/&gt;
All rights reserved. This program and the accompanying materials&lt;br/&gt;
are made available under the terms of the Eclipse Public License v1.0&lt;br/&gt;
which accompanies this distribution, and is available at&lt;br/&gt;
http://www.eclipse.org/legal/epl-v10.html&lt;br/&gt;
</documentation>
</annotation>
</schema>