Issues parsing buildoutput

Morten Volden mvolden2 at gmail.com
Mon Oct 15 14:56:08 UTC 2012


Hi Peter

As far as I know the re-factoring of the output filtering is not in the
4.4. branch, so when you say 4.4. branch I assume you mean master.

The ErrorFormat class constructors looks like this:

ErrorFormat( const QString& regExp, int file, int line, int text, int
column=-1 );

ErrorFormat( const QString& regExp, int file, int line, int text,
const QString& comp, int column=-1 );

The 'file', 'line', 'text', and 'column' integers indicate what group in
the regExp that information is found (for example the file information is
found in the second pair of parentheses in the regular expression in the
ErrorFormat constructor below.)

I am not near my workstation right now so I cannot say for certain, but
something like the ErrorFormat constructor below should work (In master).

ErrorFormat( "^fortcom: ([a-zA-Z]+): (.*), line ([0-9]+):(.*)", 2, 3, 1, "
intel" )

In the outputview/test directory there is a file called
filteringstrategytest.cpp. I highly recommend that you implement a unittest
for your case there.

Once you have a working patch and test in place, you can use kdevelop to
post that on git.reviewboard.kde.org

Hope this helps

/Morten

2012/10/15 Peter M. Clausen <petermichaelclausen at gmail.com>

> sorry - I used the wrong list...
>
>
> ---------- Forwarded message ----------
> From: Peter M. Clausen <petermichaelclausen at gmail.com>
> Date: 2012/10/15
> Subject: Issues parsing buildoutput
> To: kdevelop at kdevelop.org
>
>
> Hi
>
> I'm working with kdevelop 4.3.1 (Ubuntu 12.04). I was trying to fix an
> issue parsing intel fortran (ifort) build output. I am able to do so in
> 4.3.1 branch, but not in 4.4. (latest) branch.
>
> Problem using Intel Fortran: "Info" output cannot be 'clicked' on and let
> cursor jump to problematic place. "Error" is OK.
>
> I looked into the file
> kdevelop-4.3.1/projectbuilders/makebuilder/outputfilters.cpp line 38:
>    org:
>     << ErrorFormat( "fortcom: (.*), line ([0-9]+):(.*)", 1, 2, 3, "intel" )
>
>    new:
>     << ErrorFormat( "[a-zA-Z]+: [a-zA-Z]+: (.*), line ([0-9]+):(.*)", 1,
> 2, 3, "intel" )
>
> Thus it will match both following lines:
> fortcom: Error: /scratch/var_r_en.f90, line 292: Syntax error, found ')'
> when expecting one of: ( <IDENTIFIER> <CHAR_CON_KIND_PARAM>
> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ...
>             if (record_exists==)
> fortcom: Info: /scratch/var_r_en.f90, line 101: This variable has not been
> used.   [D]
>   real D
>
>
> I tried to look at this in 4.4. branch (
> http://anongit.kde.org/kdevplatform/kdevplatform-latest.tar.gz) and it
> looks like it has been moved
> to: ./kdevplatform/outputview/outputfilteringstrategies.cpp
> But here I cant make it work. I've changed the line 88:
>    org:
>     << ErrorFormat( "^fortcom: (Error): (.*), line ([0-9]+):(.*)", 2, 3,
> 1, "intel" )
>    new:
>     << ErrorFormat( "^[a-zA-Z]+: [a-zA-Z]+: (.*), line ([0-9]+):(.*)", 1,
> 2, 3, "intel" )
>
> But it does not work as in 4.3.1. Doing the above change only matches the
> first error, not any info or any other errors afterwards. Could someone
> please help me here? I was also wondering why "2, 3, 1" should be the new
> order of arguments, compare to 4.3.1 branch.
>
> I have never submitted anything to a KDE-project, so I would be thankfull
> if someone could point me to a "how to".
>
> Best regards
>
> Peter
>
> PS. Keep up the good work on my favorite IDE.
>
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>
>


-- 
- When the split is pulled, mr. Grenade is no longer our friend
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20121015/a62d64f2/attachment.html>


More information about the KDevelop-devel mailing list