Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Contributing a build output console parser

It parses tool specific messages from the console which will be processed along with some project build specific data and later written onto a file.

The problem in implementing the same as IErrorParser is that an error parser is instantiated once and for all by the ErrorParserExtensionManager. I want a new parser instance for each project build and also I am not creating any problem markers.

Regards,
Priyadarshan

On 23 May 2011 18:54, Andrew Gvozdev <angvoz.dev@xxxxxxxxx> wrote:
Hi Priyadarshan,
What does your console parser do?

Thanks,
Andrew

On Mon, May 23, 2011 at 9:04 AM, Priyadarshan Gupta <priyadarshan.eclipse@xxxxxxxxx> wrote:
We are extending the CDT builder for our tool chain and using almost all functionality of CDT Make builder except a few things and that "Scanner Configuration Builder" is not required. The requirement of our builder is that it must allow clients/other plugins to contribute a console parser to the builder so as to parse the build output from the console. This parsing is however not followed by marker generation.

There are two relevant parser interfaces viz. org.eclipse.cdt.core.IErrorParser and org.eclipse.cdt.core.IConsoleParser. Considering that IErrorParser is implemented by parsers looking for build errors and therefore are also responsible for creating problem markers, we should keep the API implementation for our parsers as IConsoleParser.

But as can be seen IConsoleParser contains javadoc annotations - @noextend and @noimplement and contrary to it this interface has been extended by org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser, which is a part of Scanner Configuration Builder, we are now in facing a dilemma of whether to use that interface or not.


One plausible way is to define an extension point org.eclipse.cdt.core.BuildOutputConsoleParser with interface for contributed extension classes as org.eclipse.cdt.core.IBuildOutputConsoleParser. IBuildOutputConsoleParser will extend IConsoleParser. There will be a ConsoleParserManager to load and initialize the console parsers within the builder at runtime. The extension point can have configuration elements for inclusion or exclusion of specific builder ids as well.

Can anyone please suggest the correct way to define or contribute a simple console parser for the build output ?

Thank you
Priyadarshan
Tensilica India, Pune

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top